SWE-Lancer:OpenAI发布的一个全新大模型评测基准,用来测试大模型解决真实世界软件工程的能力
在人工智能领域,语言模型的发展速度令人瞩目。从解决基础的计算机科学问题,到在国际编程竞赛中斩获金奖,短短两年间,AI技术的进步为软件工程带来了新的可能性。然而,这些模型在真实世界的软件工程任务中究竟能发挥多大的作用?它们能否通过完成实际的软件工程任务来赚取可观的收入?为了验证大模型解决真实任务的能力和水平,OpenAI发布了一个全新的大模型评测基准SWE-Lancer来评测大模型这方面的能力。

SWE-Lancer简介
SWE全称是Software Engineering。此前,业界已经有SWE-Bench来衡量大模型的软件工程能力(https://www.datalearner.com/blog/1051739376632820 )。但是,这类任务都属于self-contained(即独立的,包含完整信息的任务,简而言之就是可以独立完成的,限制在一定范围内的)。然而,现实世界中,大多数软件工程任务依赖全栈技术,需要在复杂的代码仓之间进行推理和权衡。
为了更加贴近真实时间的软件工程任务,OpenAI搜集了Upwork上现实世界中1488项自由工作者的软件工程任务,价值100万美元。这些任务涵盖了从50美元的错误修复到3.2万美元的功能实现等独立工程任务,以及模型需要在多个技术实现提案中做出选择的管理任务。
SWE-Lancer的任务均来自真实的自由职业平台Upwork,涵盖了各种难度和类型的软件工程任务。这些任务不仅包括了独立的编码任务,还涉及到了管理决策,如在多个技术提案中选择最佳方案。每个任务都附带了实际支付给自由职业工程师的金额,从而为模型的表现提供了一个市场驱动的难度梯度。这种真实世界的经济价值映射,使得SWE-Lancer不仅是一个技术评估工具,更是一个经济影响研究的平台。
软件工程领域两种不同的任务:独立贡献者软件工程任务与软件工程管理任务
OpenAI认为软件工程任务包含两种不同的软件工程(SWE)任务:
Individual Contributor (IC) SWE Tasks(独立贡献者软件工程任务)
这些任务是指模型需要像独立的软件工程师一样,直接解决具体的软件工程问题,例如修复错误(bug fixes)或实现新功能(feature implementations)。

上图是独立贡献类的任务样例。
IC任务的范围从简单的15分钟错误修复到需要数周时间完成的新功能请求。这些任务要求模型生成代码补丁来解决实际问题。
独立贡献者软件工程任务的评估方式:这些任务的解决方案通过端到端(end-to-end)测试来验证,这些测试由经验丰富的软件工程师创建,模拟真实世界的用户工作流程,并经过三重验证以确保质量和公正性。
SWE Manager Tasks(软件工程管理任务)
这些任务要求模型扮演技术领导的角色,评估多个技术实现提案,并选择最佳的解决方案。

上图是软件工程管理类的任务样例。
在这些任务中,模型需要审查由自由职业者提交的多个提案,并根据技术正确性和上下文相关性选择最佳提案。这些任务通常涉及更复杂的决策过程,需要考虑多个因素,如技术可行性、代码质量和项目需求。
管理类的任务评估方式如下:模型的选择与原始雇佣的工程经理的选择进行比较,以评估模型的决策能力。
总结一下,这两类任务:
- IC SWE Tasks:模型直接解决具体的编程问题,生成代码补丁,并通过端到端测试验证。
- SWE Manager Tasks:模型评估多个技术提案,选择最佳方案,模拟技术领导的决策过程。
这两种任务类型共同构成了 SWE-Lancer 基准测试,旨在全面评估 AI 模型在真实世界软件工程任务中的表现,包括独立开发和管理决策能力。
同时OpenAI还将这两类数据集分为开源的部分和不开源的部分。因此,SWE-Lancer共有4种不同类型的评测数据集,总结如下:
评测类型 | 任务数量 | 任务价值 (USD) | 任务描述 |
---|---|---|---|
IC SWE (Diamond) | 237 | 236,300 | 个体贡献者软件工程任务,包括修复漏洞、实现新功能等,使用端到端测试进行评估。公开的评估集部分。 |
IC SWE (Full) | 764 | 414,775 | 个体贡献者软件工程任务,包括修复漏洞、实现新功能等,使用端到端测试进行评估。全量评估集部分。 |
SWE Manager (Diamond) | 265 | 264,500 | 软件工程管理任务,模型需要选择最佳的解决方案,评估基于原始雇佣的工程经理的选择。公开的评估集部分。 |
SWE Manager (Full) | 724 | 585,225 | 软件工程管理任务,模型需要选择最佳的解决方案,评估基于原始雇佣的工程经理的选择。全量评估集部分。 |
是的,并不是所有的SWE-Lancer都是公开的。30%公开给业界,70%OpenAI内部保留了。
GPT-4o、o1与Claude Sonnet 3.5在SWE-Lancer上评测结果
OpenAI公布了他们在内部测试的GPT-4o、o1与Claude Sonnet 3.5三个模型的效果,如下表:
Model | User Tool | Dataset | Reasoning Effort | pass@1 | Dollars Earned / Total | Earn Rate |
---|---|---|---|---|---|---|
GPT-4o | Yes | IC SWE (Diamond) | N/A | 8.0% | $14k / $236k | 6.0% |
o1 | Yes | IC SWE (Diamond) | Low | 9.3% | $16k / $236k | 6.8% |
o1 | Yes | IC SWE (Diamond) | Medium | 15.6% | $24k / $236k | 9.9% |
o1 | Yes | IC SWE (Diamond) | High | 16.5% | $29k / $236k | 12.1% |
3.5 Sonnet | Yes | IC SWE (Diamond) | N/A | 26.2% | $58k / $236k | 24.5% |
GPT-4o | No | IC SWE (Diamond) | N/A | 8.0% | $17k / $236k | 7.2% |
o1 | No | IC SWE (Diamond) | High | 13.1% | $23k / $236k | 9.7% |
GPT-4o | Yes | IC SWE (Full) | N/A | 8.6% | $29k / $415k | 6.9% |
o1 | Yes | IC SWE (Full) | High | 20.3% | $78k / $415k | 18.9% |
3.5 Sonnet | Yes | IC SWE (Full) | N/A | 21.1% | $89k / $415k | 21.5% |
GPT-4o | N/A | SWE Manager (Diamond) | N/A | 37.0% | $125k / $265k | 47.1% |
o1 | N/A | SWE Manager (Diamond) | High | 41.5% | $137k / $265k | 51.8% |
3.5 Sonnet | N/A | SWE Manager (Diamond) | N/A | 44.9% | $150k / $265k | 56.8% |
GPT-4o | N/A | SWE Manager (Full) | N/A | 38.7% | $275k / $585k | 47.0% |
o1 | N/A | SWE Manager (Full) | High | 46.3% | $302k / $585k | 51.6% |
3.5 Sonnet | N/A | SWE Manager (Full) | High | 47.0% | $314k / $585k | 53.7% |
根据上表,我们可以看到如下一些结论和洞察:
1. Claude Sonnet 3.5是全球最强的
3.5 Sonnet 是最强的模型,成功解决了 26.2% 的 IC SWE (Diamond) 任务,且它的总收入为 58k,占 236k 的总额的 24.5%。这表明,尽管该模型在解决此类任务时取得了最佳表现,但仍有 70% 的任务未能解决,这意味着模型仍面临相当大的挑战。
然而,奇怪的是,号称最强的推理模型o1,也依然不如Claude 3.5 Sonnet。
2. o1模型随着推理时间的增长,能力变强
o1 的表现逐步提高:当使用更高的推理努力时,pass@ 1 从 9.3% 提高到 16.5%,并且收入也从 16k 增加到 29k。这显示了推理努力(如计算资源的增加)对性能的明显影响。
GPT-4o 无论在 Diamond 还是 Full 数据集上,性能相对较低,特别是在 IC SWE 任务上,pass@ 1 维持在 8.0%,即使使用了用户工具,它的收入和通过率也远低于其他两个模型。
3. 大模型更适合管理类的软件工程任务
SWE Manager 任务 明显比 IC SWE 任务 更容易得到更高的通过率和收入。这是因为 SWE Manager 任务要求模型在多个解决方案中做出判断,这可能依赖于更高的上下文理解能力,而不仅仅是代码解决方案的生成。因此,能正确选择最佳方案的模型在这类任务中表现更好,赚取的收入也更高。
3.5 Sonnet 在 SWE Manager 任务 上的表现显示了模型在理解和评估方案方面的优势,尤其是在实际的商业决策环境中,这使其成为最有效的模型之一。
此外,所有模型在管理类的任务上表现都比独立贡献的任务类好。
4. 使用用户工具可以提高大模型的软件工程能力
在 IC SWE 任务 中,启用 用户工具 后,模型的表现略有提高。尽管 GPT-4o 在使用用户工具后能有小幅改善,但其总体表现依然偏低,表明它可能未能充分利用该工具的优势。
相比之下, 3.5 Sonnet 对于 用户工具 的依赖较强,它能够更好地使用工具进行调试和验证,这有助于提高任务完成的准确性。
SWE-Lancer与传统软件工程大模型评测任务的对比
OpenAI认为SWE-Lancer是一个更加贴近真实世界的大模型软件工程能力的评测基准,其主要的优势如下:
SWE-Lancer优势 | 详情描述 |
---|---|
真实世界的任务与经济价值 | 任务均来自真实的自由职业平台Upwork,涵盖了各种难度和类型的软件工程任务,每个任务都附带了实际支付给自由职业工程师的金额,从而为模型的表现提供了一个市场驱动的难度梯度。 |
端到端测试的引入 | 是第一个使用由专业工程师创建的端到端测试的基准,相比仅依赖单元测试,这些测试更全面、更能反映真实世界,且经过三轮验证以确保质量和公正性。 |
多样化的任务类型 | 任务涵盖了应用逻辑、用户界面/用户体验开发等多个类别,其中应用逻辑任务占了大部分,涉及前端事件处理、DOM交互等核心全栈概念,还有相当比例的任务涉及用户界面和用户体验的开发。 |
高难度与高价值 | 任务难度较高,平均解决时间长达26天,涉及多个文件和代码行的修改。这些任务的经济价值也相当可观,35%的任务价值超过1000美元,34%的任务价值在500到1000美元之间。 |
数据收集与验证的严谨性 | 100名专业软件工程师参与了任务的审查和验证,确保每个任务都清晰、具体且可执行。对于高价值任务,经验丰富的工程师团队进行了多轮验证,确保环境配置正确、测试覆盖全面。 |
管理任务的引入 | 不仅包括了独立的编码任务,还涉及到了管理决策,如在多个技术提案中选择最佳方案,这使得模型需要具备更强的决策能力和对整个技术栈的理解。 |
欢迎大家关注DataLearner官方微信,接受最新的AI技术推送
