SWE-1: 软件工程领域的新一代前沿模型问世
近日,业界瞩目的 SWE-1
系列模型正式发布。该系列模型专为优化整个软件工程流程而设计,其目标远不止于传统的代码编写任务。
当前,SWE-1
家族包含三款定位清晰的模型:
- SWE-1: 这款主力模型在工具调用推理能力上,据称可与
Claude 3.5 Sonnet
等量齐观,同时具备更低的运营成本。在推广期内,所有付费用户均可免费(0积分/用户提示)体验。 - SWE-1-lite: 作为一款轻量级模型,
SWE-1-lite
旨在以更高质量替代原有的Cascade Base
模型。所有用户,无论付费与否,均可无限制使用。 - SWE-1-mini: 这是一款体积小巧、响应极快的模型,为所有用户的
Windsurf Tab
被动式体验提供动力支持。
ausbeuten (eine Ressource) SWE-1
系列的动机十分明确:将软件开发效率提升99%。仅仅具备“编码能力”的模型,已无法满足现代软件工程的复杂需求,因为编写代码只是软件开发生命周期中的一环。
背景速览
近年来,编码模型的能力取得了显著进步。行业对这些模型的期望,已从简单的自动补全建议,发展到能够一次性可靠地构建简单应用程序。
然而,现有编码模型在以下几个方面显现出其局限性。
首先,任何软件开发人员都会认同,他们的时间并不仅仅花费在编写代码上。软件工程涉及更多类型的任务和更广泛的工作界面。因此,对模型能力的期望也应相应提升。理想的模型不仅应能读写代码,还需能在终端中工作、访问外部知识库和互联网、测试和体验产品,甚至理解用户反馈。软件开发者的工作范畴远不止编写代码。
其次,软件开发工作通常涉及在多个工作界面上长期推进,并经历一系列非最终状态。目前顶尖的编码基础模型,其训练主要仍侧重于战术层面——例如,最终代码能否编译通过并满足单元测试。但对于开发者而言,单元测试仅是庞大工程问题中的一个环节。实现一个当前可用的功能或许有多种方法,但要实现一个能够支持未来数年迭代的优秀功能,可选方案则少之又少。这解释了为何许多模型在 Cascade
工具中通过用户主动引导能表现出色,但一旦独立运行时间延长,性能便会显著下降。要实现更高程度的工作流自动化,就必须克服这一限制,即需要模型能够理解工程过程的全部复杂性:在不完整的状态下进行推理,并处理可能存在歧义的结果。
在某个阶段,单纯提升编码技巧对于软件工程师或模型而言,都不再能带来软件工程能力的实质性提升。最终目标是加速软件工程师所能完成的每一项工作,因此,对“软件工程”模型(简称SWE模型)的需求早已明确。
SWE-1 详解
基于从高频使用的 Windsurf Editor
平台中获得的深刻洞察,开发团队着手构建了全新的数据模型(共享时间线)和训练方法,该方法能够有效封装不完整状态、长时间运行任务以及多工作界面的复杂交互。
初始目标是通过这种方法,证明即使是规模较小的工程团队和有限的计算资源,也能达到前沿模型的性能水平。SWE-1
便是这一理念的初步概念验证。
总体而言,SWE-1
的性能接近所有前沿基础模型。重要的是,它超越了所有非前沿模型及开源替代方案。为进行基准测试,同时进行了离线评估和盲测生产实验。
离线评估
研发团队将 SWE-1
的性能与 Anthropic
系列模型(在 Cascade
工具中使用最广泛的模型之一)以及领先的开源编码模型 Deepseek
im Gesang antworten Qwen
进行了比较。
对话式软件工程任务基准测试 (Conversational SWE Task Benchmark):该测试从一个已有的 Cascade
会话中途开始,任务已完成一部分。评估 Cascade
工具如何响应用户的下一个查询。其0-10分的综合评分,是评审员对帮助性、效率和正确性评分,以及目标文件编辑准确性指标的加权平均。
此基准测试旨在捕捉 Cascade
工具所开创的人机协作、代理式编码的独特性质。只要模型尚不完美,能够与用户输入在部分完成的任务上无缝交织,便是一项衡量模型实用性的重要指标。
端到端软件工程任务基准测试 (End-To-End SWE Task Benchmark):该测试从对话的最初开始,评估 Cascade
工具通过一组选定的单元测试来满足输入意图的能力。其0-10分的综合评分,是测试通过率和评审员评分的加权平均。
此基准测试旨在捕捉模型独立解决端到端问题的能力。随着所有模型在无人干预情况下操作能力的增强,这一用例变得日益重要。
根据离线评估结果,可以认为 SWE-1
在这些任务上的表现,已进入基础模型实验室的前沿模型行列,并且优于中等规模模型和领先的开源替代方案中的前沿模型。虽然尚未达到绝对顶尖水平,但已展现出与领先模型竞争的潜力。
生产环境实验
依托庞大的用户社区,生产环境实验得以开展,用以补充离线评估的结果。为计算这些日常指标,进行了一项盲测实验,部分用户在不知晓其所用模型的情况下参与测试。每个用户的测试模型保持不变,以便衡量其长期重复使用情况。
实验中包含了 Claude
模型作为基准,因为它们历来是并且持续是 Cascade
工具中最常用的模型。
每用户每日贡献行数 (Daily Lines Contributed per User):衡量在固定时间内,由 Cascade
工具编写并被用户主动接受和保留的平均代码行数。这是一个综合性的帮助性指标,既反映了模型每次调用时其贡献的有用程度,也反映了用户随时间推移持续使用该模型的意愿。
这被认为是一个极具指示性的指标,它平衡了主动性和建议质量,同时也反映了输出速度和对反馈的响应能力,这些因素共同促使用户成为“回头客”。
Cascade 贡献率 (Cascade Contribution Rate):对于至少被 Cascade
工具编辑过一次的文件,此指标计算的是这些文件中来自 Cascade
工具的更改所占的百分比。这是一个衡量帮助性的指标,针对用户使用该模型的频率以及模型贡献代码的意愿进行了归一化处理。由于该指标仅衡量模型编辑过的文件,因此试图控制使用频率和模型编辑倾向性的影响。
SWE-1
是针对用户与 Cascade
工具的交互模式进行构建和优化的,因此其在这些生产实验中表现接近行业领先水平,并不令人意外。
其他模型与分析
在上述图表中,SWE-1-lite
handeln als SWE-1
模型的中等规模版本,采用相同的训练方法构建。它在所有其他非前沿、中等规模模型中处于领先地位,并将取代原有的 Cascade Base
模型,成为所有用户的无限制使用选项。Cascade Base
此前作为基础模型选项,为用户提供普适性的编码辅助,而 SWE-1-lite
的升级带来了更佳的质量与性能。
此外,还构建了第三款模型 SWE-1-mini
。它在很大程度上共享了围绕流程感知 (flow awareness) 的训练方法,但其体积极小,足以在被动预测系统的延迟限制内运行,并针对预测性行动任务(而非工具调用)进行了进一步训练。这种被动预测系统能够在用户进行编码时,智能预判并提供辅助,例如在 Windsurf Tab
体验中,它可以在后台默默分析上下文,适时给出建议。
需要明确的是,这仅仅是一个开始。最终,在软件工程领域,目标并非仅仅匹配任何研究实验室的前沿模型性能,而是要超越它们。比以往任何时候都更有理由相信,驱动这一目标的引擎已经具备,未来将大力投入此策略。
核心技术:流程感知系统 (Flow-Aware System)
前文提到“基于从高频使用的 Windsurf Editor
平台中获得的深刻洞察”。有必要解释 Windsurf Editor
平台如何促成了 SWE-1
的诞生,以及为何对其模型最终将成为最佳充满信心。
关键在于如何实现增量迭代:流程感知 (flow awareness)。
何谓流程感知?构建 Windsurf Editor
平台的初衷,是为了在用户和AI的综合状态之间建立一种无缝的交织。AI所做的任何事情,人类都应该能够观察和操作;同样,人类所做的任何事情,AI也应该能够观察和操作。这种对共享时间线的感知被称为“流程感知”,这也是其协作式代理体验一直被称为“AI流程 (AI flows)”的原因。
为何支持流程感知的编辑器至关重要?简单来说,任何SWE模型要真正独立完成所有工作,尚需时日。在此过渡时期,流程感知促成了正确的交互形式:充分利用模型现有能力,当其出错时,允许人类介入纠正,然后模型可以基于人类的操作继续构建。这实现了无缝、自然的切换。
这意味着,在任何特定时刻,通过观察模型在共享时间线内有无用户干预下完成的步骤,Windsurf
团队始终了解当前模型的真实能力极限。能够大规模、准确地掌握用户希望其模型下一步改进的方向。正是这种机制,使其能够迅速将模型构建到如今 SWE-1
所达到的水平,也因此坚信最终将构建出绝对最佳的SWE模型。
事实上,无论是否被注意到,构建共享时间线一直是 Cascade
工具多项主要功能背后的指导愿景:
- existieren
Cascade
工具发布之初,其强调的一项功能是用户可以在文本编辑器中进行一些编辑,然后在Cascade
中输入“continue”,Cascade
便会自动整合用户所做的编辑。这体现了对文本编辑器的感知。 - 不久之后,终端输出也被整合到流程感知中,使
Cascade
工具能够无缝感知用户在运行代码时遇到的错误。这体现了对终端的感知。 - existieren
Wave 4
版本中,引入了预览 (Previews) 概念,使Cascade
工具能够对用户正在交互和感兴趣的前端组件或错误有一定的理解。这体现了对浏览器的基本感知。
Allerdings.Windsurf
平台中的一切都建立在流程感知的概念之上,不仅仅是 Cascade
Werkzeuge.Tab
功能也基于同样的共享时间线概念构建。当向 Cascade
工具添加上下文时,实际上也在为 Tab
添加上下文。这并非简单地将更多信息随意塞入固定的上下文窗口,而是精心构建最能反映用户行为和目标的共享时间线。这就是为何其版本的 Tab
具备以下特性:
- 感知用户的终端命令 (Wave 5)
- 感知用户剪贴板中复制的内容 (Wave 5)
- 感知当前的
Cascade
对话 (Wave 5) - 感知IDE内的用户搜索 (Wave 6)
发布的并非随机功能。一直致力于构建软件工程工作共享时间线的最丰富表示。即使在使用现成模型时,其工具也因共享时间线中信息的纯粹存在而得到显著改进。而现在,借助自研的SWE模型,可以真正启动这个飞轮:让模型能够消化时间线,并开始在越来越广阔的时间线上采取行动。
Zukunftsaussichten
Wie bereits erwähnt.SWE-1
的成就是由一个规模不大但高度专注的团队,依托其作为产品和基础设施公司的优势而实现的。它代表了构建真正前沿质量模型的首次尝试,虽然对结果感到自豪,但也深知这仅仅是开始。已经强调了其独特的应用、系统和模型飞轮的威力——这是一种即使是基础模型实验室自身,在缺乏其所运营的应用层面和活动衍生洞察规模的情况下,也可能无法拥有的能力。
未来将持续听到关于 SWE
模型家族改进的消息。将进一步加大投入,为用户带来最佳性能和最低成本,以便用户可以继续使用 Windsurf
平台构建更大更好的项目。