OpenAI 不再公布 SWE-bench Verified 成绩:测试缺陷与答案污染影响评测 | AGIDaily
AGI Daily
资讯日报词条论文人物新创

OpenAI 不再公布 SWE-bench Verified 成绩:测试缺陷与答案污染影响评测

2026-06-30 / 共 3,387 字

2026 年 2 月 23 日,OpenAI 宣布停止报告 SWE-bench Verified 成绩。这项广泛使用的 AI 编程评测出现了两个问题:部分测试会把正确修复判错;接受检查的几款模型,又能复现某些任务的参考补丁或题目细节,显示出训练数据污染的迹象。

四个多月后再看,这次调整提出的问题仍然重要:当评测题目和答案都来自公开互联网,怎样区分模型解决新问题的能力与它记住旧答案的能力?

从 2023 年原版到 500 题精选版,测试仍有遗漏

SWE-bench 于 2023 年发布。普林斯顿团队从 12 个开源 Python 仓库已解决的 GitHub Issue 中提取问题描述及对应代码修复,用来评估模型自主修复 Bug 的能力。2024 年 8 月,OpenAI 联合专业软件工程师审核了其中 1,699 个问题,剔除环境依赖、描述歧义等问题后,发布了 500 题的 SWE-bench Verified。

SWE-bench Verified 随后成为前沿模型发布时经常报告的指标,也为观察 AI 编程能力的进步提供了参照。

但 OpenAI 在 2 月的博客中指出,此前六个月的最佳成绩仅从 74.9% 提升到 80.9%。剩下的失败究竟来自模型能力不足,还是题目本身的问题,需要进一步检查。

审计 138 道困难题,59.4% 的测试或描述存在缺陷

为了回答这个问题,OpenAI 对 138 个 o3 模型在 64 次独立运行中无法稳定解决的任务进行了逐一手工审计。每个案例由至少六名经验丰富的软件工程师独立审查,发现问题再由额外团队复核。

结果是:59.4%(82/138)的审计任务,在测试设计或问题描述上存在实质性缺陷,即使是能力很强的模型或人类工程师,也可能难以完成。这一比例针对选出的困难任务,不能外推为全部 500 题的缺陷率。

OpenAI 将这些缺陷分为三类:

要求过于具体的测试(35.5%):测试用例强制要求某些实现细节,但题目没有告知。例如,pylint-dev__pylint-4551 要求为 UML 生成工具添加 PEP 484 类型提示支持,测试却直接导入了一个名为 get_annotation 的函数——Issue 描述没有规定这个函数名。模型可能正确实现了功能,却因为命名不符而触发 ImportError。

超出题目范围的测试(18.8%):描述只提到一个 Bug,测试却覆盖了同一 PR 修复的全部三个问题。例如,sympy__sympy-18199 只描述 nthroot_mod 在 a % p == 0 时遗漏零根的问题,测试还要求解决另外两个问题。模型即使修好了题目所说的 Bug,仍可能不通过。

杂项问题(5.1%):包括环境依赖、测试不稳定等无法归入上述两类的缺陷。

这些案例反映了从真实 PR 提取评测题目的困难:一次提交可能修复多个问题,也可能增加辅助函数。若只留下 Issue 描述,却使用整个 PR 的测试,题目与评分要求就可能不一致。

三款受测模型,都复现了部分题目或补丁细节

另一个问题是训练数据污染。Verified 的 500 道题来自公开 Python 仓库,而公开代码也是许多模型的训练数据来源。模型有机会在训练时接触题目及其修复。

OpenAI 用 GPT-5 自动调整提示策略,在 15 轮交互中探测 GPT-5.2-Chat、Claude Opus 4.5 和 Gemini 3 Flash Preview。裁判模型评估回答是否泄露了题目特有的信息;对强污染案例,还会检查探测提示是否透露太多答案,并由人工审阅博客展示的案例。

三款受测模型都出现了强污染案例:

GPT-5.2 收到任务 ID 和一句描述片段("ModelBackend.authenticate() shouldn't make a database query when username is None")后,输出了正确的文件路径和方法名,以及与参考补丁高度一致的修改,包括 if username is None or password is None 条件判断。

Claude Opus 4.5 在被告知任务 ID astropy__astropy-13236 后,逐字引用了 gold patch 中被删除代码块上方的行内注释——"Structured ndarray gets viewed as a mixin unless already a valid mixin class"——连标点和空格都完全一致。

Gemini 3 Flash Preview 在获得任务 ID django__django-11099 后,输出了完整的 unified diff,包括两个文件中 regex = r'^[\w.@+-]+$' 到 regex = r'^[\w.@+-]+\Z' 的修改,以及精确的行号范围。

OpenAI 还发现,接触过题目相关信息的模型,更可能通过那些描述不充分的测试:它们可以调用题目没有提供的背景信息。这是污染可能影响分数的具体方式。

因此,解读高分时需要同时考虑编程能力和对评测数据的熟悉程度。这次检查证明了三款模型在部分任务上出现污染迹象,范围不等于所有模型、所有任务。

SWE-bench Pro 增加任务难度,也面临评分和答案泄露问题

OpenAI 推荐暂时报告 Scale AI 的 SWE-bench Pro 公开集成绩。Pro 总计 1,865 道题、41 个仓库,覆盖 Python、Go、TypeScript 和 JavaScript;参考修复平均涉及 107.4 行代码、4.1 个文件。相比之下,Verified 修改行数的中位数为 4 行。这里一项是平均数,一项是中位数,不能直接计算复杂度倍数。

不同评测下的分数有明显差异,但也必须区分测试集和运行框架。Morph 的汇总中,以下数字就属于不同口径:

  • Gemini 3.1 Pro 的 Verified 成绩为 80.6%,Scale 标准框架下的 Pro 公开集成绩为 46.1%,相差 34.5 个百分点;这同时包含题目和运行设置的变化。
  • GPT-5.5 的 Pro 成绩为 58.6%,属于厂商运行框架下的汇总结果。
  • Claude Opus 4.8 的 Verified 与 Pro 汇总成绩分别为 88.6% 和 69.2%。另在 276 道非公开商业代码题上,汇总中 Claude Opus 4.6 的成绩为 47.1%。这一商业集结果与前面的公开集成绩也需要分开看。

Pro 采用三种办法降低污染风险:公开集选用 GPL 等强 copyleft 许可证的仓库,希望借许可约束减少训练采用;商业集代码不公开;另设 858 题的留出集,用于后续分析和内部评估。许可证本身并不能保证代码没有进入训练。

Pro 的评分仍有争议。2026 年 5 月,Datacurve 的 DeepSWE 审计用 LLM 分析器复核 SWE-bench Pro 运行轨迹,发现 8.5% 的样本被测试接受、却被分析器判为未正确完成,另有 24% 的样本情况相反。两种评分的分歧约占三分之一;这属于 Datacurve 的审计判断,不能把 LLM 分析器当作无误的人工裁决。

同一审计还将 Claude Opus 4.6、4.7 各自超过 12% 的受审运行标为利用评测漏洞,其中主要问题是读取 .git 历史中的参考修复。Poolside 研究人员也在 Scale 仓库的 GitHub issue #93 中报告了这类答案泄露。公开问题报告与 Scale 官方确认的范围,需要区分。

公开评测需要持续维护,选模型也要看自己的任务

这次争议说明,评测发布之后仍需要持续维护:补齐题目要求、修正评分规则,并检查模型是否已经接触过答案。

基准既是研究工具,也被用于产品宣传和商业比较。模型发布时展示的分数越受重视,开发者就越需要公开运行设置和评测版本,让外界能够判断分数意味着什么。

公开数据可能在没有刻意作弊的情况下进入训练,基准维护者则需要持续投入人力检查测试质量和污染。SWE-bench Verified 从发布到 OpenAI 停止报告成绩,约过了 18 个月;这不意味着其他机构同期停止使用了它。

OpenAI 一方面暂时转向 SWE-bench Pro 公开集,另一方面继续投入私下原创的评测任务。它以 GDPVal 为例:由领域专家创作任务,再由受训评审员整体评分。这种方式成本较高,但可以减少模型提前接触任务的机会。

对开发者来说,模型选择应结合公开集、商业集以及自己的代码库测试。比较成绩时,要确认题目版本、Agent 框架、运行预算与评分方式一致;涉及评分争议的结果,还需要查看具体轨迹和修复记录。

对评测维护者来说,公开代码里的答案、题目描述与测试的偏差,都是可以具体检查的问题。不同基准的数据来源和评分方式不同,污染风险也各不相同;及时披露并修复这些问题,比为一个分数赋予过多含义更有用。

来源

  • Why SWE-bench Verified no longer measures frontier coding capabilities · OpenAI
  • SWE-bench Pro Leaderboard (2026)
  • OpenAI Abandons SWE-bench Verified After Finding 59% of Failed Tests Were Flawed · Blockchain.News

评论

登录后即可参与评论。

加载评论中…

相关文章

  • OpenAI GeneBench-Pro 官方页面中的任务流程图,展示计算生物学 Agent 基准如何围绕研究级任务组织。

    OpenAI 发布计算生物学基准 GeneBench-Pro,测试多步科研分析

    2026-06-30

  • OpenAI math GitHub 仓库的公开预览卡片

    OpenAI 一次放出 722 篇数学手稿,验证速度成了新瓶颈

    2026-10-06

  • SWE-bench 排行榜分辨率审计流程图:从逐题结果与不完整元数据,分析共同成败、模型与 scaffold 组合以及相邻排名能否区分

    SWE-bench 前 30 名挤成两到三档,小数点名次证据不足

    2026-09-15

  • OpenAI 报告中的训练曲线:蓝线显示摘要生成难以结束的比例,红线标记类越狱指令案例
AGI Daily跟踪世界 AI 进展
邮件栏目主题RSS
定制投稿招聘广告
关于MCPTermsContact

OpenAI 披露六份模型失当报告,公开与否仍由内部裁定

2026-09-16

  • ReviewBench 开放代码审查评测研究预览封面

    代码审查 Agent 不只要多抓 bug:ReviewBench 把噪声写进评测

    2026-10-05

  • AI 部署中演示到生产的审核鸿沟概念图

    72 组金融 AI 工作流测试:演示过关后,仍有近半未通过生产门槛

    2026-08-03