刚刚OpenAI推出更可靠的代码生成评估基准:SWE-bench Verified。
发布blog里最重要的一句话是:“随着我们的系统越来越接近 AGI,我们需要在越来越具有挑战性的任务中对它们进行评估”。
该基准是对现有SWE-bench的改进版本(子集),旨在更可靠地评估AI模型解决现实世界软件问题的能力。
SWE-bench是一个流行的软件工程评估套件,用于评估大型语言模型 (LLM) 解决从GitHub提取的真实软件问题的能力。它通过向AI代理提供代码库和问题描述,并要求其生成修复问题的补丁来进行评估。虽然LLM在 SWE-bench上取得了令人瞩目的进展,但OpenAI的研究发现,该基准存在一些问题,可能导致低估模型的自主软件工程能力。
具体来说,OpenAI指出了SWE-bench的三个主要问题:
1.单元测试过于严格:用于评估解决方案正确性的单元测试通常过于具体,甚至与问题无关,这可能导致拒绝正确的解决方案。
2.问题描述不明确:许多样本的问题描述不够具体,导致对问题及其解决方案的理解存在歧义。
3.开发环境难以设置:有时难以可靠地为代理设置SWE-bench开发环境,这可能导致单元测试无论解决方案如何都会失败。
为了解决这些问题,OpenAI与专业的软件开发人员合作,对SWE-bench测试集中的每个样本进行了人工筛选,以确保单元测试的范围适当且问题描述明确。最终,他们发布了SWE-bench Verified,这是一个包含500 个样本的经过验证的子集,并取代了原始的SWE-bench和SWE-bench Lite测试集。
此外,OpenAI还与SWE-bench的作者合作,开发了一个新的评估工具,该工具使用容器化的Docker环境,使在SWE-bench上进行评估更容易、更可靠。
在SWE-bench Verified上,GPT-4o解决了33.2%的样本,而表现最佳的开源代理框架Agentless的得分翻了一番,达到16%。
OpenAI的这项研究突出了深入理解和改进评估基准的重要性,特别是当AI系统越来越接近通用人工智能 (AGI) 时。随着AI模型能力的不断提高,我们需要更加谨慎地评估其性能,以确保评估结果准确反映模型的真实能力。
OpenAI建议:
深入理解基准: 即使是精心设计的基准也可能存在问题,需要持续改进。
考虑生态系统的进步: 关注社区在代理框架方面的进展,并在评估风险时考虑潜在的外部增强功能
认识到局限性: 基于静态数据集的评估存在固有限制,需要补充其他评估方法。