OpenAI 推出 SWE-bench Verified 提升 AI 在软件工程任务中的评估准确性
8月13日,OpenAI 发布了全新版本的代码生成评估基准 SWE-bench Verified,以解决此前基准在评估人工智能模型软件工程任务表现时存在的局限性。通过这一改进,OpenAI 希望更准确地评估大语言模型(LLM)在解决真实软件问题中的能力,进一步推动 AI 在软件开发领域的应用。
SWE-bench 是一个专为评估 LLM 在解决 GitHub 上真实软件问题中的表现而设计的基准测试数据集。它收集了来自12个流行的 Python 仓库的2294个 Issue-Pull Request 对。测试时,LLM 会接收一个代码库及其 issue 描述,并生成一个补丁以解决所描述的问题。
SWE-bench 基准使用了两种类型的测试来评估 LLM 的表现:其中,FAIL_TO_PASS 测试用于检查生成的补丁是否成功解决了问题。而PASS_TO_PASS 测试用于确保补丁不会破坏代码的现有功能。
尽管 SWE-bench 在评估 LLM 代码生成能力方面取得了一定进展,但 OpenAI 也指出了该基准存在的几个主要问题:SWE-bench 中用于评估解决方案正确性的单元测试有时过于具体,甚至与问题无关,从而导致正确的解决方案被拒绝。许多样本中的问题描述不够具体,导致 LLM 在理解问题及其解决方案时出现困难。在某些情况下,SWE-bench 的开发环境难以可靠设置,导致单元测试失败的风险增加。
为了应对上述问题,OpenAI 推出了 SWE-bench Verified。新版本的主要改进之一是引入了基于容器化 Docker 环境的新评估工具包,这使得评估过程更加一致和可靠,减少了与开发环境设置相关的问题。
这一改进显著提升了 AI 模型在软件工程任务中的评估准确性。以 GPT-4 为例,使用 SWE-bench Verified 进行评估时,GPT-4 成功解决了 33.2% 的样本问题。而在开源代理框架中表现最佳的 Agentless 也取得了显著进步,得分翻了一番,达到 16%。
这些性能提升表明,SWE-bench Verified 能够更好地捕捉 LLM 在软件工程任务中的实际能力,为研究人员和开发者提供了更可靠的工具来评估和优化 AI 模型。