研究机构 METR 最新发布的一项研究显示,被广泛用于评估 AI 编程能力的基准测试 SWE-bench Verified 可能显著高估了 AI 代理在真实软件开发环境中的表现。研究发现,在基准测试中被判定为“通过”的 AI 代码解决方案中,大约一半在实际项目维护者审核时会被拒绝,这意味着自动化评测结果与真实工程质量之间存在明显差距。
SWE-bench Verified 长期被视为 AI 辅助软件工程的重要评估标准之一,用于测试模型是否能够解决开源项目中的真实编程问题,并通过自动化测试验证代码修改是否通过项目测试套件。包括 Anthropic 和 OpenAI 在内的多家 AI 公司也经常引用这一基准成绩展示模型能力进展。
在此次研究中,METR 团队邀请了维护开源项目 scikit-learn、Sphinx 和 pytest 的四名资深开发者,对296段 AI 生成代码进行人工评审。这些代码来自五个模型生成的解决方案,包括 Claude3.5Sonnet、Claude3.7Sonnet、Claude4Opus、Claude4.5Sonnet 以及 GPT-5。结果显示,维护者实际采纳率平均比 SWE-bench 自动评分低约24个百分点,这一差异具有统计学意义。
研究还发现,被拒绝的 AI 代码并非主要因为风格问题,而是存在更实质性的工程缺陷。维护者将问题分为三类:代码质量不符合项目规范、对现有代码结构造成破坏,以及基本功能错误。其中相当一部分案例属于功能性错误,即使自动化测试通过,代码仍未真正修复问题。
在模型对比方面,研究发现从 Claude3.5Sonnet 升级至 Claude3.7Sonnet 虽然显著提升了基准测试通过率,但维护者标记的功能性错误数量也有所增加;从 Claude3.7到 Claude4Opus,问题则更多转向代码质量层面,而 Claude4.5Sonnet 在代码质量方面有所改进。相比之下,GPT-5在本次评估中的整体表现明显落后于 Anthropic 系列模型。
研究团队还对“任务时间跨度”进行了估算分析:按 SWE-bench 自动评估结果推算,Claude4.5Sonnet 完成达到50% 成功率的任务需要约50分钟的人类工作量,而按维护者评分计算仅约8分钟,意味着基准测试可能存在高达约7倍的能力高估。
不过研究人员同时强调,该研究并不意味着 AI 编程代理能力存在根本性上限。通过更好的提示策略、更多人工反馈或多轮迭代,自动评估与人工评审之间的差距仍可能缩小。实验环境也与真实开发流程存在差异,例如 AI 代理只有一次提交机会,而人类开发者通常可以根据反馈不断修改代码。
总体而言,该研究指出,单纯依赖基准测试分数评估 AI 编程代理的实际效用可能产生系统性偏差。随着 AI 编码模型快速迭代,如何构建更接近真实开发环境的评估体系,正成为 AI 软件工程领域的重要研究方向。











