7月9日消息,OpenAI 发布研究文章 Separating signal from noise in coding evaluations,公布对 SWE-Bench Pro 的详细审计结果。官方估计约 30% 的任务存在缺陷,并撤回此前建议研究界将其作为主要编程评估工具的推荐。审计显示,自动化数据点分析流水线标出 200 个问题任务,占 27.4%;人工标注活动标出 249 个,占 34.1%。此前,OpenAI 在认定 SWE-bench Verified 存在根本性设计与污染问题、不再提供有意义的软件开发能力信号后,曾鼓励社区转向 SWE-Bench Pro。
从“更难、更真实”到“分数可能不可信”
SWE-Bench Pro 的设计初衷,是在 SWE-bench Verified 之上测试更长周期、更接近真实软件工程的任务,以更好跟踪智能体编程能力。与 Verified 类似,任务从一组公开与私有仓库的功能变更历史中程序化抽取;模型须实现能通过新功能测试、且不破坏既有功能的方案。官方称,在 731 题公开划分上,前沿模型通过率在八个月内从 23.3% 升至 80.3%。
正是在分数快速抬升之后,OpenAI 用与 Verified 类似的方法重新审计。目标很明确:任务失败应反映模型真实能力不足,任务成功应反映对提示词要求的完整有效解决。流水线会检查任务说明、模型作答尝试、任务元数据与失败轨迹,先标出可能有问题的样本;每个被标记任务再经多轮调查代理复核,并由五名有经验的软件工程师独立审查,分歧再升级处理。
审计怎么做:自动过滤,再分两路深查
方法上,OpenAI 先用初始数据质量流水线做过滤。该过滤器审查给模型的指令、模型解题尝试,以及用于评分的测试,标出可能损坏或有问题的样本,共标出 286 个潜在问题任务。随后对这一子集做两路更深审查。
一路是人工监督下的代理审查。每个被标记问题由基于 Codex 的调查代理审计,代理可访问任务仓库与环境,以区分“合理歧义”和“真正欠指定”:前者往往可通过附近代码与仓库惯例解决,后者则是真实缺陷。代理可运行测试、检查仓库文件,并调查模型常见失败模式。多轮独立深查后,由研究者审阅摘要、做最终判断并标注可能问题。
另一路是人工标注活动。有经验的软件工程师先接受基准目标、问题分类与边界案例培训,再审查被标记子集;每题由五名工程师独立完成。审阅者先根据可见问题陈述、测试用例与标准参考解(gold patch)形成独立判断,再把流水线分析或作答轨迹作为辅助;随后基于具体证据给出标签与严重程度,低置信或分歧案例再升级。
两路结果并不完全重合。人类审阅者比调查代理更倾向于把任务标为损坏;类别上也有分歧,但在所有被标记任务中,“未损坏”都不是人类最常见标签。代理流水线标出的类别里,人类判断重叠率为 74%。人类也更常给同一任务打多个标签,说明不少题同时坏在多种方式上,或难以归入单一类别。OpenAI 据此认为,代理加人工复核的流水线偏保守:抓住了人类看到的主要失败模式,但低估了人类额外发现的重叠问题。最大差异出现在低覆盖测试:人类将其标为全基准最常见问题的比例为 9.4%,代理流水线为 4.1%。
四类缺陷,核心都是“题面、测试、标准解对不齐”
官方把主要问题归为四类。过严测试会强制检查提示词未要求的实现细节,使许多功能正确的提交失效;这类问题官方此前也称 narrow tests。提示词不完整,会遗漏隐藏测试实际检查、且无法合理推断的要求;这类问题此前也称 wide tests。低覆盖测试对所请求功能检查不足,不完整修复也能通过。误导性提示词则把模型导向错误行为,或与测试要求矛盾。
一个被点名的例子是 OpenLibrary-77c16d5。该任务要求规范化目录条目,并通过 TocEntry.to_markdown() 渲染回 Markdown。提示词把序列化规定到字符级空格,并给出如 " | Chapter 1 | 1" 与 "** | Chapter 1 | 1" 的示例;隐藏的 test_to_markdown 断言却要求两个前导空格。模型若严格按提示词示例实现,会因一个字符差异被判错。
OpenAI 认为,这类错位并不意外。开源仓库里的 issue 与 PR 本为人类协作而生,往往经过维护者与贡献者长时间来回;问题描述、合并代码与单测并不总是对齐成干净、孤立的模型评测题。尤其是 PR 里的测试,常常为验证某次具体改动而写,不等于实现无关的公平标准。
真正被冲击的,是编程能力叙事的度量尺
对研究界和模型公司来说,这件事的直接后果不是某一个分数下调,而是“用哪把尺子证明自己变强了”重新变得不确定。OpenAI 开篇即写明:准确测量模型能力,对合理的部署与安全决策很重要,包括 Preparedness Framework 下的判断;有缺陷的评测会给出错误的能力理解,误导安全论证,并影响研究优先级。因此,有缺陷的 eval 不只会误导排行榜,也会扭曲安全与研究优先级。
与此同时,官方也指出另一面:随着模型能力提升,用模型检查提示词、测试、补丁、轨迹与边界案例,比过去更容易、也更一致,有助于规模化发现以前成本过高或不切实际的基准问题。换句话说,模型变强,既抬高了刷榜速度,也提高了发现评测噪声的能力。
需要克制的是,这是 OpenAI 对公开数据集的审计结论,不等于所有基于 SWE-Bench Pro 的历史论文都失效,也不等于不存在仍可用的子集。官方建议是:模型开发者应仔细审查结果;并希望更广泛的评测社区开发由有经验软件工程师专门为测模型能力而构建的新基准,以保留高难度与真实感,并在全过程保留更好的人工监督。
接下来要看替代基准,而不是继续围着旧榜打补丁
OpenAI 的收束很直接:一个 eval 应通过难被刷、易被信任、真正反映模型能力或对齐的基准提供有意义信号;因为这些结果会影响部署与安全决策,所跟踪的评测必须有效且有信息量。鉴于本次分析发现的问题,公司撤回此前采用 SWE-Bench Pro 的建议。
短期最该观察的,是各家模型发布是否还会把 SWE-Bench Pro 当作主叙事,以及是否开始披露经清洗后的子集分数。中期则看新基准能否同时满足“够难、难被刷、可人工复核”。如果行业只是从 Verified 换到 Pro,再从 Pro 换到下一个同样从历史 PR 自动抽题的数据集,同类问题仍可能重复出现。