订阅我们的每日和每周新闻通讯,获取有关行业领先 AI 报道的最新更新和独家内容。了解更多
大型语言模型 (LLM) 或许改变了软件开发,但尽管 OpenAI 首席执行官 Sam Altman 声称模型可以取代“低级”工程师,企业在完全用 LLM 取代人类软件工程师之前,仍需三思而后行。
在一篇新论文中,OpenAI 研究人员详细介绍了他们如何开发了一个名为 SWE-Lancer 的 LLM 基准测试,用于测试基础模型从现实生活中的自由软件工程任务中可以赚取多少收入。测试发现,虽然模型可以解决错误,但它们无法理解错误存在的原因,并会继续犯更多错误。
研究人员让三个 LLM——OpenAI 的 GPT-4o 和 o1 以及 Anthropic 的 Claude-3.5 Sonnet——完成来自自由职业平台 Upwork 的 1,488 个自由软件工程师任务,这些任务的总支出为 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。
“代理擅长定位,但无法进行根本原因分析,导致解决方案部分或有缺陷,”报告解释说。“代理能够非常快地查明问题的根源,使用关键字搜索整个存储库以快速找到相关的文件和函数——通常比人类快得多。但是,它们通常对问题如何跨越多个组件或文件表现出有限的理解,并且无法解决根本原因,导致解决方案不正确或不够全面。我们很少发现代理试图重现问题或由于找不到要编辑的正确文件或位置而失败的情况。”
有趣的是,所有模型在需要推理以评估技术理解的管理任务中表现都更好。
这些基准测试表明,人工智能模型可以解决一些“低级”编码问题,但还无法取代“低级”软件工程师。模型仍然需要时间,经常会犯错误,并且无法追查错误以找到编码问题的根本原因。许多“低级”工程师工作效率更高,但研究人员表示,这种情况可能不会持续太久。