扬帆创投微信小程序
更聚焦的出海投融资平台
精准高效领先的融资对接服务
微信扫一扫进入小程序

OpenAI开源了一个新的大模型代码能力测试基准——SWE-Lancer,旨在更真实地评估大模型在实际软件工程任务中的表现。与传统基准(如SWE-Bench)不同,SWE-Lancer包含1488个来自Upwork平台上Expensify开源仓库的真实开发任务,总价值高达100万美元,涵盖了全技术栈的复杂交互。

摘要

SWE-Lancer采用端到端测试方法,模拟真实用户的工作流程,验证应用程序的完整行为。这种方法能够更全面地评估模型的解决方案,避免模型通过作弊通过测试。例如,模型需要修复用户头像显示不一致的漏洞,并通过模拟用户登录、上传头像等操作来验证修复效果。

SWE-Lancer数据集分为两大类:独立开发任务(764个,价值414,775美元)和软件工程管理任务(724个,价值585,225美元)。独立开发任务模拟个体软件工程师的职责,而管理任务则要求模型从多个提案中选择最佳解决方案。

OpenAI使用GPT-4o、o1和Claude 3.5 Sonnet等模型进行了测试。结果显示,即使是最先进的模型也未能达到百万年薪的标准。在独立开发任务中,Claude 3.5 Sonnet的通过率最高,为26.2%;而在管理任务中,其通过率为44.9%。这表明大模型在处理复杂、高价值任务时仍远不如人类。

网友对SWE-Lancer的评价积极,认为其将全栈问题与市场价值和开发现实联系起来,是一个创新的测试方向。这种测试基准能够更准确地反映大模型在实际软件工程中的应用能力,为未来的研究和开发提供了有价值的参考。

今天凌晨2点,OpenAI开源了一个全新评估大模型代码能力的测试基准——SWE-Lancer。

目前,测试模型代码能力的基准主要有SWE-Bench和SWE-BenchVerified,但这两个有一个很大的局限性,主要针对孤立任务,很难反映现实中软件工程师的复杂情况。例如,开发人员需处理全技术栈的工作,要考虑代码库间的复杂交互和权衡。

而SWE-Lancer的测试数据集包含1488个来自Upwork平台上Expensify开源仓库的真实开发任务,并且总价值高达100万美元。也就是说,如果你的大模型能全部答对这些问题,就能像人类一样获得百万年薪

图片

开源地址:https://github.com/openai/SWELancer-Benchmark

SWE-Lancer独特测试方法

SWE-Lancer的一个重要创新是其采用的端到端测试方法。与传统的单元测试不同,端到端测试能够模拟真实用户的工作流程,验证应用程序的完整行为。这种方法不仅能够更全面地评估模型的解决方案,还能够避免一些模型通过作弊来通过测试。

例如,对于一个价值1000美元的开发任务,模型需要修复一个导致用户头像在“分享代码”页面与个人资料页面不一致的漏洞。

传统的单元测试可能只能验证头像上传和显示的独立功能,但端到端测试则会模拟用户登录、上传头像、切换账户以及查看不同页面的完整流程。通过这种方式,测试不仅能够验证头像是否正确显示,还能够确保整个交互过程的连贯性和正确性。

图片

端到端测试的另一个重要特点是其对真实场景的还原能力。在软件工程中,许多问题并非孤立出现,而是与系统的其他部分相互作用。

例如,一个看似简单的漏洞可能涉及到多个组件的协同工作,或者与数据库、网络状态等外部因素相关。

图片

端到端测试通过模拟真实用户的行为,能够捕捉到这些复杂的交互关系,从而更准确地评估模型的解决方案是否真正解决了问题。

在评估的过程中,引入了一个重要模块用户工具,允许模型在本地运行应用程序,并模拟用户的行为来验证其解决方案

例如,在处理Expensify应用中报销流程的相关任务时,模型借助用户工具模拟用户进行费用录入操作。会按照真实用户的操作习惯,在本地运行的应用程序中依次输入各项费用明细,如金额、日期、费用类型等信息,之后点击提交按钮,观察应用程序是否能正确记录费用数据,以及后续的审批流程是否能顺利启动。

通过这样的模拟操作,模型能够判断自己对报销流程问题的解决方案是否有效,比如是否修复了费用录入后数据丢失的漏洞,或者是否优化了审批流程中的卡顿现象等。

SWE-Lancer数据集

SWE-Lancer数据集一共包含1488个来自Upwork平台上Expensify开源库的真实软件开发任务,一共分为独立贡献者和软件工程管理任务两大类。

独立开发任务一共有764个,价值414,775美元,主要模拟个体软件工程师的职责,例如,实现功能、修复漏洞等。在这类任务中,模型会得到问题文本描述涵盖重现步骤、期望行为、问题修复前的代码库检查点以及修复目标。

图片

软件管理任务,有724个,价值585,225美元。模型在此类任务中扮演软件工程经理的角色,需要从多个解决任务的提案中挑选最佳方案。例如,在一个关于在iOS上实现图像粘贴功能的任务中,模型要从不同提案里选择最适宜的方案。

首批SWE-Lancer测试结果

OpenAI使用了GPT-4o、o1和Claude3.5Sonnet在SWE-Lancer进行了测试,结果显示,大模型冲击百万年薪都失败了。

在独立开发测试任务中,表现最好的模型Claude 3.5 Sonnet的通过率仅为26.2%,只能正确解决不到三分之一的开发任务。而在软件工程管理任务中,Claude 3.5 Sonnet的表现稍好,通过率达到了44.9%。

而GPT-4o在独立开发测试中的通过率仅为8%,o1的通过率为20.3%;在软件工程管理任务中,GPT-4o为37.0%,o1为46.3%。

图片

需要注意的是,模型在不同任务类型和难度级别上的表现存在显著差异。在价值较低、相对简单的任务中,模型的通过率相对较高;而在价值较高、难度较大的任务中,通过率则明显下降。

例如,在SWE-Lancer Diamond数据集中,价值超过1000美元的任务,模型的通过率普遍低于30%。这表明,尽管模型在处理一些基础任务时能够表现出一定的能力,但在面对复杂的、高价值的软件工程任务时,他们仍比人类要差很多。

看完这个基准测试,网友表示,现在我们竟然需要测试大型语言模型是否能成为百万富翁,这简直疯狂。

图片

我很喜欢这个发展的方向。用全栈问题进行测试,将其与市场价值和开发工作的日常现实联系起来。一直觉得以前的基准测试就不太准确。

图片

百分之百确定o3在这方面会胜过Grok3。

图片

将它与现实世界的任务和经济价值联系起来真是天才之举,非常有趣。

图片

原文链接:点击前往 >

文章作者:AIGC开放社区

版权申明:文章来源于AIGC开放社区。该文观点仅代表作者本人,扬帆出海平台仅提供信息存储空间服务,不代表扬帆出海官方立场。因本文所引起的纠纷和损失扬帆出海均不承担侵权行为的连带责任,如若转载请联系原文作者。 更多资讯关注扬帆出海官网:https://www.yfchuhai.com/

{{likeNum}}

好文章,需要你的鼓励

请前往扬帆出海小程序完成个人认证
认证通过后即可申请入驻
扫码添加小助手
微信扫描二维码,添加小助手
微信号:yfch24
扫码添加小助手
微信扫描二维码,添加小助手
微信号:yfch24
APP
小程序
微信公众号
微信小程序
扬帆出海APP
扬帆出海APP
微信
公众号
微信公众号
关注扬帆出海
专注服务互联网出海!
出海人
社群
微信公众号
扫码进群
与10万+出海人同行!