🍹 Insight Daily 🪺
Aitrainee | 公众号:AI进修生
Hi,这里是Aitrainee,欢迎阅读本期新文章。
Windsurf 又整上活了,
推出了他们第一个专为软件工程优化的模型家族——SWE-1。
不光是写代码,而是要搞定整个软件工程流程。
这个家族目前有三个成员:
- SWE-1: 主力选手。工具调用推理能力差不多能到 Claude 3.5 Sonnet 的水平,但服务成本更低。付费用户在推广期可以免费用(每个用户提示词 0 积分)。
- SWE-1-lite:
以更好的质量取代了之前的 Cascade Base,成为所有用户的无限畅用选择。
- SWE-1-mini: 一个非常小、非常快的模型,给所有用户(免费或付费)提供 Windsurf Tab 的那种“被动式”智能体验。
Windsurf 为啥要自己搞模型?
目标很宏大:把软件开发效率提升 99%。
光会写代码的模型,不够用。
这几年,会写代码的模型确实进步神速。
我们对它们的期望,也从简单的自动补全,变成了能一次性搞定简单应用。
但这些模型,有两个地方快到天花板了。
首先,干过软件开发的都知道,不是所有时间都花在写代码上。
我们干的活儿种类更多,接触的层面也更广。
所以,我们需要模型能做的也更多。
不光是读写代码,还得能在终端里操作,能上网查资料,能测试和体验你的产品,能理解用户反馈。
软件工程师干的活儿,远不止写代码那么简单。
其次,软件开发是个长期的活儿,总是在一堆未完成的状态里打转。
现在最好的编程模型,主要还是在“战术层面”训练——最终代码能不能编译通过?单元测试能不能过?
但对你来说,单元测试只是整个工程问题的一小部分。
让一个功能今天能跑起来的方法有很多,但能让你在此基础上持续构建好几年的好方法,就少得多了。
所以你会看到,模型在 Cascade 里有用户主动引导时表现不错,但让它独立运行时间一长,就拉胯了。
想自动化更多工作流,就得突破这个限制。
需要模型能理解整个工程过程的复杂性:在不完整的状态下推理,面对可能模糊的结果。
到某个阶段,光是提升写代码的能力,并不能让你或模型在软件工程上变得更强。
Windsurf 最终想加速软件工程师能做的一切。
所以他们早就知道,需要的是“软件工程”模型,简称 SWE 模型。
SWE-1 就是这么来的。
Windsurf Editor 用户的大量使用,给了他们灵感。
他们搞了个全新的数据模型(共享时间线 a shared timeline)和训练方法,专门用来处理不完整的状态、长耗时任务和多层面工作。
最初的目标就是证明,就算团队小一点,计算资源比研究实验室少一点,也能用这种方法达到顶尖水平。
SWE-1,就是最初的那个概念验证。
总的来说,SWE-1 的水平接近所有顶尖的基础模型。
重要的是,它超过了所有非顶尖模型和开源的替代品。
为了做基准测试,他们既做了离线评估,也搞了盲测的生产环境实验。
离线评估,拉出来遛遛:
Windsurf 把 SWE-1 跟 Anthropic 的模型家族 (Cascade 里用户用得最多的)、还有 DeepSeek 和 Qwen 这些领先的开源编程模型做了比较。
- 对话式软件工程任务基准 (Conversational SWE Task Benchmark): 从一个已经进行到一半的 Cascade 会话开始,任务也只完成了一半,看 Cascade 处理用户下一个查询的效果怎么样。0-10 分的综合评分,综合了评测员对帮助性、效率、正确性的打分,以及对目标文件编辑的准确性指标。
这个基准,Windsurf 觉得能体现他们用 Cascade 开创的那种“人机回圈” (human-in-the-loop) 的 Agentic 编程的独特性。只要模型还不完美,这种能无缝地在部分完成的任务上与用户输入交错的能力,就是衡量模型实用性的一个非常重要的指标。
(这里会有一张对比图,显示 SWE-1 在这个基准上的表现)
- 端到端软件工程任务基准 (End-To-End SWE Task Benchmark): 从对话一开始,看 Cascade 通过一组特定的单元测试来处理用户输入意图的效果。0-10 分的综合评分,综合了测试通过率和评测员打分。
这个基准是为了衡量模型独立解决端到端问题的能力。随着所有模型独立操作能力的增强,这会是一个越来越重要的用例。
(这里会有一张对比图,显示 SWE-1 在这个基准上的表现)
从离线评估看,Windsurf 认为,在这些任务上,SWE-1 已经达到了基础模型实验室那些顶尖模型的水平,并且优于中等规模的模型和领先的开源替代品的顶尖模型。它可能还不是绝对的顶尖,但已经显示出与领先模型竞争的潜力。
生产环境实验,真实用户说了算:
因为 Windsurf 有庞大的用户社区,所以他们也依赖生产环境实验来补充离线评估。
为了计算这些日常指标,他们搞了个盲测实验,一部分用户在不知道自己用的是哪个模型的情况下参与测试。每个用户的模型保持不变,这样就能衡量重复使用情况。
他们把 Claude 模型作为基准,因为 Claude 过去和现在都是 Cascade 里最常用的模型。
- 每用户每日贡献代码行数 (Daily Lines Contributed per User): Cascade 生成的、并被用户主动接受和保留的代码行数的平均值 (在固定时间内)。这是一个衡量整体帮助性的指标,既反映了模型每次被调用时贡献的有用程度,也反映了用户长期持续使用该模型的意愿。
Windsurf 认为这是一个非常有指示性的指标,平衡了主动性和建议质量,也体现了输出速度和对反馈的响应能力,这些因素能让用户成为“回头客”。
- Cascade 贡献率 (Cascade Contribution Rate): 对于至少被 Cascade 编辑过一次的文件,来自 Cascade 的修改所占的百分比。这是一个衡量帮助性的指标,并根据用户使用该模型的频率以及模型贡献代码的意愿进行了归一化。因为它只衡量模型编辑过的文件,所以试图控制使用频率和模型编辑倾向的影响。
SWE-1 就是针对 Windsurf 用户与 Cascade 的交互方式构建和优化的,所以它在这些生产环境实验中接近行业领先水平,Windsurf 并不感到意外。
其他模型和分析:
在上面的图表里,你可能注意到了 SWE-1-lite,这是用同样训练方法构建的中等规模 SWE-1 模型。它领先于所有其他非顶尖、中等规模的模型,并将取代之前的 Cascade Base 模型,成为所有用户的无限使用选项。
Windsurf 还构建了第三个模型,SWE-1-mini。它在“流程感知 (flow awareness)”方面共享了很多相同的训练方法,但足够小,可以在被动预测系统的延迟限制内运行,并针对预测动作任务(而不是工具调用)进行了进一步训练。
需要明确的是,这只是个开始。
在软件工程这个领域,Windsurf 的目标不是赶上任何研究实验室的顶尖模型性能,而是要超越它们所有。
他们比以往任何时候都更相信,自己拥有实现这一目标的引擎,并将在这条战略上大力投入。
Windsurf 的“流程感知 (Flow-Aware)”系统,才是他们的秘密武器:
前面提到“Windsurf Editor 用户的大量使用,给了他们灵感”。这到底是怎么回事?为什么 Windsurf 这么自信他们的模型最终会是最好的?
关键在于他们如何渐进式迭代: 流程感知 (flow awareness) 。
什么是流程感知?Windsurf 构建 Editor 的目的,就是为了在用户和 AI 的各种状态之间建立一种无缝的交织。
AI 做的任何事,人都应该能观察到并采取行动;人做的任何事,AI 也应该能观察到并采取行动。他们把这种对共享时间线的感知称为“流程感知”,这也是他们一直把协作式 Agentic 体验称为“AI 流程 (AI flows)”的原因。
为什么一个支持流程感知的 Editor 如此重要?简单说,任何 SWE 模型要能真正独立完成所有事情,还需要很长时间。
流程感知在这种过渡时期提供了正确的交互形式——模型能做的就让它做,它犯错的地方,让人类介入纠正,然后模型再基于人类的修改继续构建。无缝、自然的切换。
这意味着,Windsurf 随时都知道当前模型能力的真正极限,通过观察在共享时间线内,模型在有和没有用户干预的情况下完成了哪些步骤。
他们大规模地、准确地了解用户希望他们接下来改进模型的哪些方面。这就是他们能如此迅速地将模型构建到今天 SWE-1 水平的原因,也是他们相信最终能构建出绝对最佳 SWE 模型的原因。
实际上,不管你有没有注意到,构建共享时间线一直是 Cascade 许多主要功能的指导愿景:
- Cascade 发布时,一个亮点就是你可以在文本编辑器里做些修改,然后在 Cascade 里输入“continue”,它就会自动整合你刚做的编辑。这就是对文本编辑器的感知。
- 不久之后,他们将终端输出也整合到流程感知中,这样 Cascade 就能无缝感知到你运行代码时遇到的错误。这是对终端的感知。
- 在 Wave 4 中,他们加入了预览 (Previews) 的概念,让 Cascade 能对用户正在交互和感兴趣的前端组件或错误类型有所理解。这是对浏览器的基本感知。
但 Windsurf 的一切都建立在流程感知这个概念之上,不只是 Cascade。Tab 功能也基于同样的共享时间线概念。
当他们给 Cascade 添加上下文时,其实也在给 Tab 添加上下文。这不仅仅是随意地把更多信息扔进一个固定的上下文窗口,而是非常仔细地构建最能反映用户行为和目标的共享时间线。所以 Windsurf 版本的 Tab 才会有:
- 对终端命令的感知 (Wave 5)
- 对剪贴板内容的感知 (Wave 5)
- 对当前 Cascade 对话的感知 (Wave 5)
- 对 IDE 内用户搜索的感知 (Wave 6)
Windsurf 不是在随机发布功能。他们一直在努力构建一个最能代表软件工程工作共享时间线的丰富表示。即使在使用现成的模型时,他们的工具也因为共享时间线中信息的纯粹存在而得到了显著改进。
但现在有了自己的 SWE 模型,他们可以真正启动这个飞轮:让模型能够消化时间线,并开始在越来越多的时间线节点上采取行动。
下一步是什么?
如前所述,SWE-1 是由一个小而专注的团队完成的,充分利用了他们作为产品和基础设施公司的优势。这是他们第一次尝试构建真正顶尖质量的模型,虽然对结果感到自豪,但他们知道这只是开始。
他们强调了其独特的应用、系统和模型飞轮的力量,这是即使是基础模型实验室本身,在没有 Windsurf 这种应用层面和大规模活动衍生洞察的情况下也无法拥有的。
未来你会不断听到 SWE 模型家族的改进消息。他们将在这方面投入更多,为用户带来最佳性能和最低成本,让你能继续用 Windsurf 构建更大更好的东西。
如果想参与解决这个问题,他们正在快速扩大机器学习研究和工程团队。
One More Thing
AI 绘画“元方法”分享,免费绘图流,掌握思维比提示词更重要。(融图篇)
#windsurf #cursor #AIIDE
本号知识星球(汇集ALL订阅频道合集和其他):
星球里可获取更多AI实践和资讯:
MCP文章,从概念到实践再到自己构建:
MCP是什么:Windsurf Wave3:MCP协议让AI直接读取控制台错误,自动化网页调试不用复制粘贴了!Tab智能跳转、Turbo模式。
MCP怎么配置、报错解决:Windows下MCP报错的救星来了,1分钟教你完美解决Cursor配置问题。
MCP实践:Cursor + MCP:效率狂飙!一键克隆网站、自动调试错误,社区:每个人都在谈论MCP!
最新MCP托管平台:让Cursor秒变数据库专家,一键对接Github,开发效率暴增!
Blender + MCP 从入门到实践:安装、配置、插件、渲染与快捷键一文搞定!
比Playwright更高效!BrowserTools MCP 让Cursor直接控制当前浏览器,AI调试+SEO审计效率狂飙!
手把手教你配置BrowserTools MCP,Windows 和 Mac全流程,关键命令别忽略。
2分钟构建自己的MCP服务器,从算数到 Firecrawl MCP(手动挡 + AI档)
太简单了!Cline官方定义MCP开发流程,聊天式开发,让MCP搭建不再复杂。
🌟 知音难求,自我修 炼亦艰,抓住前沿技术的机遇,与我们一起成为创新的超级个体(把握AIGC时代的个人力量)。
参考链接:
[1] https://windsurf.com/blog/windsurf-wave-9-swe-1
点这里👇关注我,记得标星哦~