多客科技 发表于 2025-2-19 10:43

AI可以修复bug,但无法找到它们:OpenAI 的研究凸显了软件工程领域LLMs的局限性

作者:微信文章
https://mmbiz.qpic.cn/sz_mmbiz_png/xAXvHmia17JrfIVLxcbALFOVaNIPwh8L1iaR4wiaAjWd9fcETRiaxLC5icibO8vaCfvrY1x1sUy5ZVbgoia3KicnwYWtxA/640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp

https://mmbiz.qpic.cn/mmbiz_png/QicyPhNHD5vZ3Txm1k8cuNfHWPCVgS2F5hetDuLu2YVNhZ2DaEZGlsgPicicKSm5xpSevcChQexfIJvgt6icUhxrVg/640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp

编译整理|TesterHome社区

以下为作者观点:
大型语言模型(LLMs)或许已经改变了软件开发,但企业在考虑完全用大型语言模型取代人类软件工程师时需三思,尽管OpenAI首席执行官 Sam Altman 宣称这类模型可以取代“初级”工程师。
在一篇新论文(链接见文末)中,OpenAI的研究人员详细介绍了他们如何开发出一个名为SWE-Lancer的大型语言模型基准测试,以检验基础模型在现实生活中的自由软件开发任务中能有怎样的表现。测试发现,虽然这些模型能够解决程序漏洞,但它们无法理解漏洞存在的原因,而且还会继续犯下更多错误。研究人员让三款大语言模型——OpenAI的GPT - 4o和o1,以及Anthropic的Claude - 3.5 Sonnet——完成来自自由职业平台Upwork的1488项自由软件工程师任务,这些任务的报酬总计达100万美元。他们将这些任务分为两类:个人贡献者任务(修复漏洞或实现功能),以及管理任务(模型扮演经理角色,选择解决问题的最佳方案)。 研究人员写道:“结果表明,对于前沿的大语言模型而言,我们基准测试中的现实世界自由职业工作仍然具有挑战性。”测试表明基础模型无法完全取代人类工程师。虽然它们可以帮助解决问题,但它们还未达到可以自己赚钱的水平。对一个模式进行基准测试研究人员和其他100名专业软件工程师在 Upwork 上确定了潜在任务,并且在不改动任何措辞的情况下,将这些任务输入 Docker 容器以创建 SWE-Lancer 数据集。他们解释说,该容器无法访问互联网,也无法访问 GitHub,“以避免模型抓取代码差异或拉取请求详细信息的可能性”。该团队确定了764项个人贡献者任务,总报酬约为414,775美元,任务时长从15分钟的漏洞修复到为期一周的功能开发请求不等。这些任务包括审查自由职业者的提案和招聘信息,报酬总计585,225美元。这些任务被添加到费用平台 Expensify。研究人员根据任务标题、描述以及代码库的快照生成提示。他们解释说,如果有额外的解决问题的提案,“我们还会利用问题描述和提案列表生成一个管理任务”。 在此之后,研究人员进入端到端测试开发阶段。他们为每个任务编写Playwright测试,应用这些生成的补丁,然后由专业软件工程师进行“三重验证”。 论文解释称:“测试模拟现实世界的用户流程,例如登录应用程序、执行复杂操作(进行金融交易),并验证模型的解决方案是否按预期运行。”测试结果经过测试,研究人员发现,没有一个模型能获得 100 万美元的全部任务价值。表现最好的模型 Claude 3.5 Sonnet 只赚了 208,050 美元,解决了 26.2% 的个人贡献者问题。然而,研究人员指出,“它的大部分解决方案都是错误的,可信部署需要更高的可靠性。”这些模型在大多数个人贡献任务中表现良好,其中 Claude 3.5-Sonnet 表现最佳,其次是 o1 和 GPT-4o。报告解释道:“智能代理擅长定位,但无法找到问题的根源,导致解决方案不完整或存在缺陷。”“智能代理可以非常快速地查明问题的根源,使用关键字搜索整个存储库来快速找到相关文件和功能——通常比人类快得多。然而,它们通常对问题如何跨越多个组件或文件表现出有限的理解,无法解决根本原因,导致解决方案不正确或不够全面。我们很少发现智能体因找不到正确的文件或编辑位置而试图重现问题或失败的情况。”有趣的是,这些模型在需要推理来评估技术理解的管理任务上都表现得更好。这些基准测试表明,人工智能模型可以解决一些“低级”编码问题,但还不能取代“低级”软件工程师。这些模型仍然需要时间,还经常出错,而且无法追踪错误以找到编码问题的根本原因。许多“低级”工程师的工作效率更高,但研究人员表示,这种情况可能不会持续很长时间。附论文链接:https://arxiv.org/pdf/2502.12115

该论文框架:

论文“SWE-Lancer: Can Frontier LLMs Earn $1 Million from Real-World Freelance Software Engineering?”由OpenAI的Samuel Miserendino等人撰写。论文提出SWE-Lancer这一基准测试,评估前沿大语言模型在现实世界自由软件开发任务中的能力,为研究AI模型对软件工程的经济影响提供了新的视角。

1. 引言:语言模型发展迅速,现有编码基准测试无法充分评估其在现实软件工程中的能力。SWE-Lancer旨在更好地衡量AI模型的实际软件工程能力和影响,通过真实的自由软件工程项目进行评估,并将模型性能与经济收益挂钩。

2. SWE-Lancer基准测试

数据集构成:包含1488个来自Upwork平台上Expensify开源仓库的真实自由软件工程项目,分为个人贡献者(IC SWE)任务和管理任务,总价值100万美元。

评估指标与任务类型:通过任务解决百分比和模型获得的总报酬来衡量模型性能,报酬反映真实经济价值。

基准构建流程:经仓库选择、任务筛选、任务生成、端到端测试开发等步骤,确保任务高质量、有代表性。

3. 实验与结果

实验设置:模型在无网络连接的Docker容器中运行,以模拟在线自由软件工作平台的限制。

主要结果:所有模型在完整数据集上的收益远低于100万美元,在管理任务上的表现优于IC SWE任务,Claude 3.5 Sonnet表现最佳。 -

增加尝试次数:更多尝试次数能提高模型通过率,o1模型效果尤其明显。

增加测试时间计算量:更高的推理计算量可提升o1模型在IC SWE任务上的通过率和收益。

移除用户工具:移除用户工具对模型IC SWE任务通过率影响较小,但强大的模型受影响更大。

4. 局限性:任务来源局限于Upwork和Expensify,可能无法完全代表所有软件工程任务;自由职业任务相对独立,与全职工作有差异;评估仅基于文本,未测试多模态输入的影响;模型无法提问以澄清问题;存在数据污染风险。

5. 未来工作:利用SWE-Lancer映射的经济价值,研究AI对劳动力市场、生产力等的影响;探索多模态输入对模型性能的提升。

6. 结论:SWE-Lancer为评估现实世界自由软件工程任务中的模型性能提供了新基准,有助于衡量AI模型开发的经济影响。

7. 影响声明:AI在软件工程中的应用有利有弊,SWE-Lancer可帮助衡量其经济和社会影响,促进负责任的AI发展。

https://mmbiz.qpic.cn/sz_mmbiz_png/xAXvHmia17JrUZyL0p8CX6n8kJVJKhPESibtYZRVdbXrvmMJVO6WeWLEeRYvFgS8GCOKeYOvBU0Xnt71QwlWEajg/640?wx_fmt=other&from=appmsg&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp
一年一度的行业峰会,MTSC2025第十四届中国互联网测试开发大会将于7月12日在上海举行,详情如下:

➜ 早鸟票本月截止!议题征集、商务合作同步进行中!MTSC2025上海大会将于7月举行

https://mmbiz.qpic.cn/mmbiz_png/YibIF4uib5DCKOmyUgBXOBKfTYQCX0fjib05QOWL1TLXDkAMn8FlTNNNOrjJphDlUpPRnUeYnCCVnH2ZZEzJ3XIiaw/640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp

1.DeepSeek与ChatGPT对比:软件测试人员视角

2.年后招聘!快手、蜜雪冰城、淘宝、科大讯飞及游戏公司等大批职位,快上车!

3.前沿技术实践|软件测试的变革:Meta引入由LLM驱动的bug捕捉工具

4.动不动就“崩”,为什么DeepSeek经常提示服务器繁忙?

5.DeepSeek R1模型本地化部署+个人知识库搭建与使用

6.Python中异步编程的9个级别
页: [1]
查看完整版本: AI可以修复bug,但无法找到它们:OpenAI 的研究凸显了软件工程领域LLMs的局限性