OpenAI 放弃 SWE-bench Verified 转向 SWE-bench Pro
OpenAI 在 2024 年 8 月发布了 SWE-bench Verified,初衷是修复原始 SWE-bench 数据集中的诸多问题——比如测试用例过于死板、任务描述含糊、环境配置导致假失败等。经过三位专家独立评审、从 1699 道题中精选出的 500 道题目,很快成为前沿模型发布时的标配指标。
但现在 OpenAI 自己站出来说要停用它了。原因有两个,而且都很致命。
第一个问题是测试用例本身。OpenAI 审计了 138 个模型反复做不出来的题目,发现其中 59.4% 存在实质性测试缺陷。有 35.5% 的测试用例过于”窄”——它们强制要求特定实现细节,连功能完全正确的方案也会被驳回。比如某道题目的测试直接 import 了一个任务描述中从未提及的函数名,模型没猜到这个名字就全错。还有 18.8% 的测试用例过于”宽”——它们检查了任务描述中根本没提到的额外功能。一道关于 nthroot_mod 函数的题目,描述只提了一个 bug,测试却要求同时修好另外两个 issue。
换句话说,模型给出完全合理的解法没用,得恰好猜中测试用例预设的那个特定实现方式才行。
第二个问题更致命:训练数据污染。SWE-bench 的题目全部来自开源仓库的 GitHub issue 和 PR,而这些代码几乎肯定出现在各大模型的训练数据中。OpenAI 做了一个红队实验——用 GPT-5 去试探 GPT-5.2、Claude Opus 4.5 和 Gemini 3 Flash,只给极少的提示信息。结果三个模型都能复现原版的金标准补丁。Claude Opus 4.5 甚至能逐字背出补丁里的注释。
这说明模型不是在”解决”问题,而是在”回忆”答案。更关键的是,OpenAI 发现那些在训练中见过答案的模型确实得分更高——因为题目描述本身就含糊,只有”背过答案”的模型才能猜中测试用例想要什么。
SWE-bench Verified 的分数提升,反映的不再是编程能力的进步,而是训练时”偷看”了多少答案。
OpenAI 已经停止在模型发布中报告 SWE-bench Verified 分数,并建议其他模型开发商也这么做。目前的替代方案是 SWE-bench Pro,虽然 OpenAI 也承认它不完美,但污染问题明显更轻——在红队测试中,没有任何模型能为 Pro 题目输出完整的逐字金标准补丁。与此同时,OpenAI 正在构建全新的、由专家私密编写的评测基准,比如 GDPVal,所有题目由领域专家从头创作,评分也由训练有素的评审员整体判断,而非依赖脆弱的自动化测试。
这件事的深层教训值得整个行业思考:当模型能力足够强、训练数据足够广时,“公开数据集加自动评分”的评测范式本身就变成了一个安全问题。