OpenAI 公司于 8 月 13 日发布新闻稿,宣布推出 SWE-bench Verified 代码生成评估基准,解决了此前的局限性问题,能够更准确地评估人工智能模型在软件工程任务中的表现。
SWE-bench
注:SWE-Bench 是一个用于评估 LLM 解决 GitHub 上真实软件问题能力的基准测试数据集。
它收集了来自 12 个流行的 Python 仓库的 2294 个 Issue-Pull Request 对。在测试时,LLM 会拿到一个代码库和 issue 描述,然后生成一个补丁来解决 issue 描述的问题。
该基准使用两种类型的测试:
FAIL_TO_PASS 测试用于检查问题是否已得到解决
PASS_TO_PASS 测试用于确保代码更改不会破坏现有功能。
SWE-bench 的问题
OpenAI 指出了 SWE-bench 的三个主要问题:
单元测试过于严格:用于评估解决方案正确性的单元测试往往过于具体,有时甚至与问题无关,这可能导致拒绝正确的解决方案。
问题描述不明确:许多样本的问题描述不够具体,导致问题是什么以及应如何解决含糊不清。
开发环境难以设置:有时很难可靠地为代理设置 SWE-bench 开发环境,从而无意中导致单元测试失败。
SWE-bench Verified
SWE-bench Verified 的主要改进之一是使用容器化 Docker 环境开发了新的评估工具包。
这一改进旨在使评估过程更加一致和可靠,降低与开发环境设置相关的问题发生的可能性。
例如,GPT-4o 解决了 33.2% 的样本,而表现最佳的开源代理框架 Agentless 的得分翻了一番,达到 16%。
性能的提高表明,SWE-bench Verified 更好地捕捉到了人工智能模型在软件工程任务中的真正能力。