Windsurf推出SWE-1系列AI模型:性能媲美Claude 3.5,专注软件工程

Windsurf推出SWE-1系列AI模型,性能媲美Claude 3.5,成本更低,专注软件工程全流程,目标将软件开发速度提升99%。

原文标题:突袭Cursor,Windsurf抢发自研大模型!性能比肩Claude 3.5、但成本更低,网友好评:响应快、不废话

原文作者:AI前线

冷月清谈:

Windsurf是一家专注于为软件工程师开发AI工具的初创公司,最近推出了其首个AI软件工程模型家族SWE-1。该系列包含SWE-1、SWE-1-lite和SWE-1-mini三款模型,它们不仅能执行编码任务,还针对完整的软件工程流程进行了优化。SWE-1在工具调用推理能力上约相当于Claude 3.5 Sonnet级别,但服务成本更低。SWE-1-lite模型更小巧,取代了原有的Cascade Base模型,供所有用户免费无限次使用。SWE-1-mini则强调速度,主要用于Windsurf Tab的被动体验。Windsurf推出自研AI模型,旨在将软件开发速度提升99%,并接管软件开发者在代码编写之外需要完成的更多工作。SWE-1在基准测试中表现出色,与前沿模型拥有一战之力。Windsurf强调,其编辑器通过“流程感知”赋能SWE-1,实现人与AI之间的无缝协作。

怜星夜思:

1、Windsurf 强调 SWE-1 模型家族是“软件工程”模型,而不仅仅是“编码”模型。你认为除了编码能力,一个优秀的“软件工程”模型还应该具备哪些关键能力?这些能力在实际开发中能解决哪些痛点?
2、文章提到 Windsurf 编辑器通过“流程感知”赋能 SWE-1 模型。你认为“流程感知”在 AI 辅助软件开发中有多重要? 如果让你设计一个具备“流程感知”的 AI 辅助开发工具,你会考虑哪些关键因素?
3、SWE-1 目前在一些基准测试中表现良好,但仍未达到“遥遥领先”的水平。你认为 Windsurf 在哪些方面还有提升空间? 未来 AI 在软件工程领域会扮演什么样的角色?

原文内容

整理 | 核子可乐、褚杏娟

当地时间 5 月 16 日,专为软件工程师开发热门 AI 工具的初创公司 Windsurf 宣布推出了其首个 AI 软件工程模型家族:SWE-1。除了编码任务之外,本系列模型还针对完整软件工程流程进行了优化。

此系列目前包含三款具体模型:

  • SWE-1:工具调用推理能力约相当于 Claude 3.5 Sonnet 级别,但服务成本更低。所有付费用户均可使用,推广期内用户可免费通过提示词使用。

  • SWE-1-lite:一款更小巧的模型,取代原有 Cascade Base 且质量更佳。所有用户(免费或付费)均可无限次使用。

  • SWE-1-mini:一款强调速度的小型模型,负责为所有用户(免费或付费)Windsurf Tab 被动体验。

这是继 30 亿美元被 OpenAI 收购消息后,Windsurf 的首次技术产品向动态,鉴于此,人们对 Windsurf 推出自研 AI 模型感到意外。然而,这次模型的发布表明,Windsurf 正在尝试从单纯开发应用程序,扩展到同时研发支撑这些应用的底层模型。

SWE-1 系列发布后,开发者 Arif 立马上手构建一个 Flutter 应用演示,评价称“目前为止很棒!”

Ian Nuttall 在 Windsurf 上快速试用了 SWE-1,表示有以下几点感受:

  • 响应非常迅速、高效

  • 不废话,直接动手做事

  • 跑完指令后不会像 Cursor 那样卡住

  • 写出来的代码整体大概相当于 Sonnet 3.5 的水平

不过,Nuttall 也指出,如果没有给出明确的规则,它还是会产生不少幻觉,比如它完全搞错了该如何在应用中添加路由。另外,和它一起写代码时,最好把功能拆分成小任务,并尽可能一开始就提供足够多的上下文信息,以避免陷入 AI 死循环。

“总体来说,我个人还是更倾向于在大多数场景下使用 Gemini 2.5,但这是个不错的开始,后续的迭代值得关注。”Nuttall 总结道。

为什么要发布大模型

为什么要打造 SWE-1?Windsurf 的解释是,想要将软件开发速度提升 99%。毕竟编写代码在软件工程中只占很小一部分,“能够编码”的模型并不能满足所有需求。

过去几年,能够编写代码的模型已经取得了长足进步。开发者对模型的期待已经从提供简短的自动补全建议,提升到了要能一次性、更加可靠地构建简单应用程序等。然而,Windsurf 认为,这些模型在其他一些层面似乎停滞不前:

首先,相信各位软件开发者都有共识,开发中有相当一部分时间并不是花在编写代码上。执行的任务类型越来越多、涉及的层面也更多,因此需要对模型抱有更高的期望。这些模型不仅要能够读写代码,还要能够在终端中工作,访问其他知识和互联网资源、测试并使用软件产品,乃至理解用户反馈。总之,软件开发者在代码编写之外需要完成的工作,大模型也应当尽量接管


其次,每位软件开发者都很清楚,上述各个层面的工作推进起来极其耗时,而且整个过程就是由一个个未完成的状态构成的。如今,最强大的基座编码模型仍然以战术目标为切入点进行训练,即最终代码能否编译并通过单元测试。但对实际开发者而言,单元测试只是整体工程问题中的组成部分。当下,实现某项特定功能的方法有很多,但能保证一项功能可在未来多年内稳定使用的好办法却少之又少。正因为如此,Cascade 模型在用户主动指导下表现优异,但独立运行时间越长则其性能越差。要实现更多工作流程的自动化,就必须打破这一限制。这要求对工程流程的完整复杂性进行建模:包括对未完成状态进行推理,并且可能会得出模棱两可的结果。






“在某种程度上,单纯提高编码水平并不足以让开发者或者模型在软件工程方面更上一层楼。我们的终极目标在于帮助软件工程师加速处理所有工作,换句话说,我们很早就意识到需要打造“软件工程”模型——即 SWE 模型家族。”Windsurf 表示。

基于对 Windsurf 编辑器使用方式的观察,Windsurf 着手打造出一套全新的数据模型(共享时间线,the shared timeline)和一套包含未完成状态、长时间运行任务及多个接口的训练方案。

“我们的初始目标是希望证明,即使对于规模较小、计算资源远低于研究实验室的工程师团队,同样可以通过这种方式获得前沿水平模型的性能。而 SWE-1 就是我们的初步概念验证。”Windsurf 表示。

SWE-1 测评:虽未“遥遥领先”但有一战之力

对于 SWE-1 的表现,Windsurf 的评价是“接近所有前沿基础模型。更重要的是,它的表现优于所有非前沿模型以及开放权重类模型。”

为了摸清实际性能表现,Windsurf 在基准测试中进行了离线评估与生产实验盲测。

离线评估

Windsurf 将 SWE-1 的性能与 Anthropic 模型家庭(Cascade 中广泛使用的模型之一)以及 DeepSeek 与 Qwen 中领先的开放权重编码模型进行了比较。

对话式 SWE 任务基准测试:以现有 Cascade 会话的中间为起点,使用完成一半的任务,Cascade 对下一用户查询的处理效果如何?根据有用性、效率、正确性以及目标文件的编辑准确率等指标的混合平均值打出的得分(10 分制),即代表可比较的性能结果。

Windsurf 认为,这项基准测试抓住了其率先在 Cascade 中提出的“人机交互”代理式编码的独特本质。毕竟模型本身还不完美,Windsurf 认为能否在已经完成了一部分的任务中与用户输入实现无缝对接,应当成为衡量模型实用性的重要指标。

端到端 SWE 任务基准测试:从对话开头介入,Cascade 使用一组选定的单元测试,评估其在多大程度上实现了输入意图。根据测试通过率与评委评分的混合平均值得出最终成绩(10 分制)。

这项基准测试旨在衡量模型独立端到端解决问题的能力。随着各类模型越来越多地在无人干预的情况下运行,这已经成为一类日益重要的用例。

从离线评估结果来看,Windsurf 认为 SWE-1 在这些任务上的表现与各大模型实验室的前沿成果相当,而且优于各领先中型及前沿开放权重模型。虽然还达不到“遥遥领先”,但 SWE-1 与这些领先成果完全拥有一战之力。

生产实验

由于已经拥有庞大的用户社区,因此 Windsurf 决定配合生产实验来补充离线评估结论。

为了计算这些每日指标,Windsurf 开展了一项盲测,实验对象是一定比例的用户,且用户并不清楚自己正在使用的是哪种模型。用户被分配到的模型在整个测试阶段保持不变,确保能够衡量其随时间推移的重复使用情况。

Windsurf 选择 Claude 模型作为基准,原因是 Claude 一直是 Cascade 中使用频率最高的模型。

每用户每日贡献行数:指 Cascade 在固定时长内编写并被用户主动接受和保留的平均代码行数。选择它作为衡量整体实用性的指标,是因为它既反映了模型每次调用时生成贡献的实用性,也体现了用户持续重复使用该模型的意愿。

Windsurf 认为这是一项非常具有指导意义的指标,不仅反映出主动性与建议质量之间的平均,也体现了输出速度和对反馈的响应能力,即能否促使用户成为“回头客”。

Cascade 贡献率:对于至少由 Cascade 编辑过一次的文件,这项指标代表的是 Cascade 生成的变更占文件总体变更中的百分比。

这是一项衡量实用性的指标,根据用户使用模型的频率以及认可模型贡献代码的意愿进行了归一化。由于此指标仅衡量模型编辑的文件,因此能够更好地体现使用频率与模型编辑倾向。

SWE-1 是根据用户与 Cascade 的交互类构建并过拟合而业,因此 Windsurf 表示对其在上述生产实验中拥有接近行业领先水平的表现并不感到意外。

在以上图表中还出现了 SWE-1-lite,这是 SWE-1 模型的中型版本,采用同样的训练方法构建而成。它将取代之前的 Cascade Base 模型,成为面向全体用户的无限次使用选项。

Windsurf 还构建了第三个模型:SWE-1-mini。它与 SWE-1-lite 采用多种相同围绕流程感知的训练方法,但规模更小、能够在被动预测系统的延迟限制之内运行,且针对预测操作任务(而非工具调用)进行进一步训练。

“需要明确的是,这一切仅仅只是开始。我们在软件工程领域的最终目标不是要追平其他研究实验室前沿模型的性能,而是要有所超越。 我们比以往任何时候都有加相信,实现这一目标的驱力已经存在,而且我们未来将大力投资于这项战略。”Windsurf 表示。

Windsurf 编辑器如何赋能 SWE-1

Windsurf 此前提到了“基于对 Windsurf 编辑器使用方式的观察”,官方也在博文里解释了 Windsurf 编辑器如何为 SWE-1 赋能,又为何确信自己的模型最终能够实现性能超越。

“归根结底,关键在于其如何逐步迭代‘流程感知(flow awareness)’这个核心概念。”Windsurf 表示。

什么是流程感知?构建 Windsurf 编辑器的目的,是为了在用户和 AI 的综合状态之间建立起无缝衔接。AI 所做的一切,都应该能为人类所观察到并据此行动;人类所做的一切,也应为 AI 所观察到并据此行动。Windsurf 将这种对共享时间线的感知称为“流程感知”,并据此将此类协作式智能体称为“AI 心流(AI flows)”。

为什么编辑器必要要支持流程感知?简而言之,SWE 模型想要独立完成所有工作还需要一段时间。流程感知能够在这个过渡阶段实现正确的交互方式——即充分利用模型功能,并在大模型出错时让人类介入纠正,之后模型继续在人类基础上进行构建。整个过程必须能够无缝且自然切换。

“也就是说,我们一直在关注模型立足共享时间线内在有 / 无用户干预的情况下能够完成哪些步骤,借此了解当前模型的能力边界。这种持续跟进,让我们得以了解用户整体最希望在模型中看到的下一步改进是什么。正因如此,Windsurf 才能快速构建模型,最终让 SWE-1 达到了目前的水平。”Windsurf 表示,“基于同样的理由,我们完全有信心打造出绝对性能最佳的 SWE 模型。”

Windsurf 还提到,构建共享时间线一直是 Cascade 在设计各项主要功能时的指导性愿景:

  • 在 Cascade 发布之初,Windsurf 就强调用户可以在文本编辑器中执行操作,而后在 Cascade 中输入“继续”来由其自动接手。这就是文本编辑器感知。

  • 不久之后,Windsurf 将终端输出整合到流程感知当中,以便 Cascade 能够无缝感知用户在运行代码时遇到的错误。这就是所谓终端感知。

  • 在 Wave 4 中,Windsurf 添加了“预览”的概念,以便 Cascade 能够了解用户正在交互且关注的前端组件或者错误类型。这就是浏览器基础感知。

不止于 Cascade,Windsurf 所构建的一切全部建立在流程感知的理念之上。Tab 也基于同样的共享时间线概念。当 Windsurf 向 Cascade 中添加上下文时,也会将其添加至 Tab,而且并不是随意将更多信息塞进固定的上下文窗口,而是精心构建共享时间线,以期更好地反映用户的行动和目标。正因为如此,Windsurf 在 Tab 版本中引入了以下功能:

  • 感知终端命令(Wave 5);

  • 感知剪贴板中复制的内容(Wave 5);

  • 感知当前 Cascade 对话(Wave 5);

  • 感知 IDE 内用户搜索(Wave 6)。

Windsurf 表示,不会随意发布新功能。“我们一直致力于构建现有软件工程中共享时间线的理想呈现方式。即使使用现成模型,我们的工具也得到了显著改进,这主要得益于共享时间线中的信息。如今我们有了自己的 SWE 模型,能够真正让整个飞轮运转起来,让模型能够吸纳时间线并针对更多时间线进行操作。”

“我们一直重视自己独特的应用程序、系统与模型飞轮的强大力量,如果没有如此广泛的应用范围和基于实际活动的洞察规模作为基础,即使是实力雄厚的研究实验室也无法获得这样的飞轮效应。”

毋庸置疑,SWE 系列模型将持续改进和更新,Windsurf 表示还将继续加大投入、以最低成本为用户提供最佳性能。

“SWE-1 由我们规模不大但高度专注的团队开发而成,模型家族充分发挥了我们作为产品及基础设施厂商的优势。这是我们首次尝试构建真正具备领先质量的模型。虽然我们对成果感到自豪,但也深知这仅仅只是开始。”Windsurf 表示。

原文链接:

https://windsurf.com/blog/windsurf-wave-9-swe-1

声明:本文为 AI 前线翻译整理,不代表平台观点,未经许可禁止转载。

活动推荐

AICon 2025 强势来袭,5 月上海站、6 月北京站,双城联动,全览 AI 技术前沿和行业落地。大会聚焦技术与应用深度融合,汇聚 AI Agent、多模态、场景应用、大模型架构创新、智能数据基建、AI 产品设计和出海策略等话题。即刻扫码购票,一同探索 AI 应用边界!


今日荐文

图片

你也「在看」吗?👇

这个问题很有深度!从学术角度看,一个优秀的软件工程模型应该具备以下几个关键能力:

1. 需求理解与建模能力:能够准确理解用户需求,并将其转化为可执行的模型(例如UML图、形式化规约等)。
2. 架构设计与优化能力:能够根据需求和约束条件,设计出合理的软件架构,并进行优化,例如考虑可维护性、可扩展性、性能等。
3. 测试与验证能力:能够自动生成测试用例,并对软件进行测试和验证,确保软件质量。
4. 项目管理与协作能力:能够进行项目规划、任务分配、进度跟踪等,并支持团队成员之间的协作。

这些能力确实能解决实际开发中的很多痛点,例如需求不明确、架构设计不合理、测试不充分、沟通不畅等等。有了这些能力,软件开发就能更加高效、高质量。

我觉得除了编码,软件工程模型起码得懂需求分析吧?别生成一堆能跑但完全偏离需求的代码。最好还能自动生成测试用例,保证质量。现在开发最头疼的就是需求变更和debug了,要是模型能搞定这些,就能省下好多时间。

我认为一个好的软件工程模型应该像一个经验丰富的项目经理,不仅能写代码,还要会沟通、协调、解决冲突。理想状态下,它能自动分解任务、分配给合适的开发者(或者自己),并监控进度,及时发现并解决问题。毕竟,软件开发不仅仅是写代码,更重要的是团队协作和项目管理。

套用最近很火的概念,这个流程感知不就是 Agent 的 Memory 吗?AI 辅助开发工具 要想好用,必须能记住我之前干了啥,否则每次都从头开始,效率太低了。我希望它能记住我的代码风格、我常用的库、甚至我经常犯的错误,这样才能真正帮我提高效率。

Windsurf 的提升空间我认为在于以下几个方面:

1. 模型泛化能力:SWE-1 的训练数据可能过于集中在 Windsurf 编辑器的使用方式上,导致模型在其他环境下表现不佳。
2. 复杂问题解决能力:SWE-1 在解决复杂问题时可能仍然需要人工干预,需要进一步提升其独立解决问题的能力。
3. 长期稳定性:需要关注 SWE-1 在长期使用过程中的稳定性和可靠性。

关于 AI 在软件工程领域的角色,我认为会经历以下几个阶段:

1. 辅助工具:AI 作为辅助工具,帮助开发者提高效率,例如代码自动补全、错误检测等。
2. 合作伙伴:AI 与开发者协同工作,共同完成软件开发任务,例如 AI 负责生成代码,开发者负责review和测试。
3. 独立开发者:AI 能够独立完成软件开发任务,甚至能够进行创新。

当然,这个过程可能需要很长时间,但 AI 的潜力是巨大的。

流程感知绝对是AI辅助开发的关键!现在很多AI工具就像是只会写代码的码农,完全不理解上下文。想象一下,如果AI能知道你正在debug哪个模块,正在查阅哪些文档,就能更精准地提供帮助,而不是一股脑地丢给你一堆没用的代码片段。我希望AI能像一个贴心的助手,而不是一个只会重复劳动的工具。

遥遥领先?格局小了!Windsurf 的目标不应该是单纯地追赶 OpenAI 或者 Google,而是应该找到自己的差异化优势。我觉得他们可以尝试在特定领域(比如移动应用开发)做深做透,打造针对特定行业的 AI 解决方案。毕竟,通用大模型再强,也不可能完全理解每个行业的特殊需求。

“流程感知”的重要性不言而喻。它可以让AI更好地理解开发者的意图,提供更精准、更有效的帮助。如果让我设计一个具备“流程感知”的AI辅助开发工具,我会考虑以下几个关键因素:

1. 上下文理解能力:工具需要能够理解开发者当前正在进行的任务、使用的技术栈、项目的整体架构等等。
2. 历史行为记录与学习能力:工具需要能够记录开发者的历史行为,并从中学习,以便更好地预测开发者未来的需求。
3. 实时交互与反馈能力:工具需要能够与开发者进行实时交互,并根据开发者的反馈进行调整。
4. 非侵入性:工具应该尽量做到非侵入性,不要对开发者的现有工作流程造成太大的干扰。

总而言之,目标是打造一个“善解人意”的AI助手,而不是一个“自作聪明”的工具。

我觉得Windsurf还得在实际应用场景上下功夫。光跑分好看没用,得让开发者真正用起来觉得顺手才行。另外,AI生成代码的安全性也是个大问题,得保证生成的代码没有漏洞,不会被黑客利用。至于未来,AI肯定会成为软件工程的核心力量,解放程序员的双手,让他们有更多时间去思考架构和创新。