OpenAI 这次做了一个不太讨巧、但很必要的决定:不再报告 SWE-bench Verified 分数。

这不是一个小榜单换指标。SWE-bench Verified 是 2024 年推出的 AI 编程评测,曾经频繁出现在前沿模型发布里,用来证明模型能不能自主修 GitHub issue、改真实代码、通过测试。

现在 OpenAI 的判断很直接:到了前沿模型这个水平,它已经不够可靠。分数还会涨,但涨出来的东西,未必还能说明真实编码能力。

SWE-bench Verified 这把尺子,问题出在判卷

SWE-bench Verified 本来是对原版 SWE-bench 的修补。

原版任务来自真实开源仓库和已合并 PR,优点是贴近现实。缺点也明显:issue 描述可能不清,测试可能偏窄,环境差异也会带来误判。

OpenAI 当时请工程师审了 1,699 个问题,筛出 500 个,做成 Verified。它比原版更干净,也确实帮行业建立过一个共同参照。

但模型变强以后,问题反而暴露得更狠。

OpenAI 审计了 138 个 o3 在 64 次独立运行中难以稳定解决的问题。注意,这不是整个 SWE-bench Verified 全集的比例,而是一组高失败样本。

结果是:其中 59.4% 存在实质性测试或描述问题。

缺陷类型占审计样本比例对分数的扭曲
窄测试35.5%正确修法可能因为没匹配特定实现细节而失败
宽测试18.8%测试覆盖了题面没写的功能,模型按描述修也可能被拒
其他问题5.1%描述、环境或测试设计存在杂项缺陷

最要命的是窄测试。

一个题目表面上让模型修 bug,实际判卷时却暗中要求某个函数名、某个参数、某段原 PR 里的额外改动。这时测的就不只是工程能力,还测模型有没有碰巧知道原答案。

对开发者和评测团队来说,这会带来一个现实后果:你看到的 1 个百分点、2 个百分点差距,可能不是模型更会写代码,而是它更适合这套测试。

这类分数不能直接拿来决定工具迁移。至少不能只靠它决定。

训练污染让榜单开始像“开卷考试”

SWE-bench 的任务来自开源仓库。代码、issue、PR、release notes 都在公开互联网上。

大模型训练又长期依赖公开数据。尴尬点就在这里:你想测模型会不会修真实项目,但真实项目本身很可能已经进过训练语料。

OpenAI 说,他们在 GPT-5.2、Claude Opus 4.5、Gemini 3 Flash Preview 等模型上,都看到不同程度的任务细节或 gold patch 复现迹象。

有的模型能输出原始人工修复补丁。有的能复述题目细节。有的知道测试真正要求,但这些要求并没有写在题面里。

这不能写成“模型作弊”。原文说的是公开数据训练污染风险,不是厂商故意泄题。

但结果同样麻烦:见过题的人更容易得分。

坏测试和训练污染叠在一起,分数就更危险。正常解题者只能看题面,见过 PR 的模型却可能知道隐藏要求。榜单表面比的是编码能力,实际混进了训练暴露程度。

这事有历史回声。

公开基准一旦变成行业发布会的硬通货,就会被反复研究、优化、贴身训练。计算机视觉、NLP、推荐系统都经历过类似阶段:测试集还在那里,但它作为“未知题”的价值被消耗掉了。

“天下熙熙,皆为利来。”放在评测里,就是厂商天然会追逐可展示、可传播、可比较的分数。这不邪恶,这是激励设计的结果。

问题也正在这里。

当公开榜单变成营销语言的一部分,它就很难继续保持中立。

接下来该信什么:干净任务、私有评测、人工评分

OpenAI 建议改报 SWE-bench Pro,并继续投入私有、原创、人工综合评分的评测。

这个方向是对的,但不能神化。OpenAI 只说 SWE-bench Pro 污染更少、更不严重,不是说它完全干净。

真正该观察的变量有两个。

一是 SWE-bench Pro 能不能成为新的共同参照,而不是很快被同样研究透。二是各家模型发布时,是否愿意披露更具体的评测方法:任务来源、去污染流程、人工评分标准、失败样本处理方式。

没有这些,只换一个榜单名字,意义有限。

对企业采购和研发团队,我会把动作说得更具体一点:

对象不该怎么做更该怎么做
企业采购看到公开榜单高 2% 就换模型延后拍板,用自家仓库、依赖、CI、代码规范做小规模验收
研发团队只看通用修 bug 分数测模型能不能读懂本项目历史约束,并稳定交付可合并补丁
模型评测从业者把公开基准当最终排名建私有题库,保留失败样本,加入人工复核和多轮运行

这三件事都不便宜。

原创任务要专家写。私有数据要严密管理。人工评分要花时间。多轮运行还会增加推理成本。

它们也不适合做发布会上的漂亮数字。可越是这样,越接近真实工程。

AI 编程工具的价值,最后不是“在公开榜单上多高”。而是它能不能在你的仓库里少添乱,能不能在你的测试里稳定过,能不能让工程师少花时间返工。

公开分数仍然有用。它能帮你粗筛模型,判断一个产品大概在哪个梯队。

但它已经不适合当终局证据。

OpenAI 这次把一个行业现实挑明了:SWE-bench Verified 曾经有功,但它的寿命正在结束。模型确实在进步,只是这把尺子已经不够清白,也不够锋利。