AI & 前端 · 2026年2月24日

AI编码基准测试全面崩塌:SWE-bench为什么不能信了

你在选AI编码工具的时候,是不是也看过类似的宣传:”SWE-bench Verified得分72%,业界第一”?我之前也信。直到最近OpenAI自己站出来说:这个基准测试废了,别用了。

事情的来龙去脉值得每个用AI写代码的开发者了解,因为这直接影响你怎么选工具、怎么评估AI的真实能力。

SWE-bench到底是什么

SWE-bench是目前AI编码领域最广泛引用的基准测试。它从真实的GitHub仓库里抽取bug修复任务,让AI模型去解决。任务流程很简单:给模型一个issue描述,让它生成代码补丁,然后跑测试用例看能不能通过。

SWE-bench Verified是筛选过的子集,500个经过人工验证的任务,被视为”金标准”。各家AI公司——OpenAI、Anthropic、Google、还有一堆国内开源模型——都在这个榜单上卷分数,差0.5个百分点都要发新闻稿。

两个致命问题

问题一:59.4%的任务本身就有问题

OpenAI的分析发现,SWE-bench Verified里至少59.4%的任务存在缺陷。这些任务会拒绝正确的解决方案,原因是测试用例检查的不是”问题有没有解决”,而是”你的实现方式跟参考答案一不一样”。

举个例子:任务要求修一个排序bug,参考答案用了冒泡排序,你用快排解决了同样的问题,测试照样判你错。这在真实开发中完全不可接受——同一个bug有十种修法,只认一种等于在考背答案。

更离谱的是,有些测试用例检查的函数根本没在任务描述里提到。模型要”猜”出这些隐藏要求才能通过。这不是测编码能力,这是测读心术。

问题二:数据污染,模型在”背题”

OpenAI报告说,GPT-5.2、Claude Opus 4.5和Gemini 3 Flash Preview都能直接从记忆中复现某些任务的原始修复代码。换句话说,这些模型在训练的时候已经”见过答案”了。

这意味着什么?基准测试的分数不再反映”模型有多会写代码”,而是反映”模型的训练数据里包含了多少答案”。分数越高,可能只是说明训练数据爬得越全。

这个问题对开源模型影响更大——因为开源社区的训练数据来源更广,”背到题”的概率更高,排名反而更好看。这就造成了一个荒诞的局面:数据爬得越多,基准分越高,看起来越强。

Epoch AI的研究:问题比想象的还严重

独立研究机构Epoch AI做了一项系统分析,发现AI基准测试的问题远不止数据污染。

同一个模型,换个跑法差15个百分点

SWE-bench的评测结果高度依赖scaffold——就是控制AI Agent的外围框架。Epoch AI发现,同一个模型用不同的scaffold跑,GPT-5的分数能差11个百分点,Kimi K2 Thinking能差15个百分点。

这什么概念?厂商发布会上的分数,跟你实际用某个IDE插件的体验,可能根本不是一回事。因为他们用的是精心调优的scaffold,而你用的是通用的集成方案。

API提供商不同,分数也不同

更魔幻的是,同一个开源模型通过不同API提供商调用,在同一个基准测试上的分数差异可以达到23个百分点。原因五花八门:限速、响应截断、token上限不够、参数传递错误。

这意味着你在某个平台看到的”模型评测”,换一个平台跑结果可能完全不同。

作弊防不胜防

Epoch AI还发现了一个真实案例:一个叫IQuest-Coder的40B参数模型在SWE-bench上打败了一堆更大的模型。听起来很牛,但很快有人发现,测试环境配置有误,包含了完整的Git历史记录。这个模型压根没解决问题,它只是从版本历史里直接读取了现有的修复代码。

讽刺的是,在作弊被发现之前,这个模型已经在社交媒体上火了好几天,一堆人转发”国产模型超越GPT”。

模型蒸馏攻击:问题不只在基准测试

如果你觉得基准测试的问题够严重了,那来看看更大的背景。

Anthropic最近公开指控三家中国AI公司——Deepseek、Moonshot(月之暗面)和MiniMax——对Claude进行了大规模模型蒸馏攻击。具体数据:

公司 请求量 攻击目标
Deepseek 15万+ 推理链、强化学习的奖励模型数据、敏感话题的合规回答
Moonshot AI 340万+ Agent推理、工具调用、编程、数据分析、计算机视觉
MiniMax 1300万+ Agent编程、工具编排;Anthropic发新模型后24小时内就切换目标

2.4万个假账号,总共超过1600万次查询。MiniMax的反应速度尤其惊人:Anthropic更新模型后24小时内,MiniMax就把近一半流量重定向到新模型上。

这跟基准测试有什么关系?蒸馏出来的模型在基准测试上可能表现很好——因为它本质上就是在模仿一个强模型的输出。但它是否真正具备理解问题和解决问题的能力?不知道。基准测试测不出来。

SWE-bench Pro:替代品靠谱吗

Scale AI推出了SWE-bench Pro作为替代方案,做了几个针对性改进:

  • 数据源换了:使用GPL等强copyleft许可的代码库,加上私有代码库,减少训练数据泄漏的可能性
  • 难度提上去了:顶级模型在SWE-bench Pro公开集上只能拿到约23%,对比SWE-bench Verified的70%+
  • 任务多样性:覆盖消费者应用、B2B服务和开发者工具,不再只是简单的工具库
  • 人工增强:问题描述经过专业工程师的补充和明确化

23%对比70%+,这个落差说明了什么?说明之前那些”AI编码能力已经接近人类”的结论,大概率是被污染的基准分数吹出来的。真实水平可能只有宣传的三分之一。

不过SWE-bench Pro也有自己的问题——它毕竟还是固定的测试集,随着时间推移同样会面临数据泄漏的风险。OpenAI表示在做自己的非公开测试,但非公开意味着不可验证,这又引入了另一种信任问题。

对开发者的实际影响

说了这么多,作为一个每天用AI写代码的前端开发,我的实际感受是:

1. 别再用基准分数选工具了

SWE-bench得分72%还是68%,跟你实际用这个模型写React组件或者调NestJS接口的体验,关系不大。影响更大的是scaffold、上下文窗口、工具集成方式这些”基础设施”层面的东西。

2. 亲自试比看数据靠谱

拿你自己项目里的真实任务去测。比如从你的issue tracker里挑一个中等难度的bug,分别用两三个工具去修,看谁的方案更合理、代码质量更高、需要的手动修改更少。

3. 警惕”排行榜营销”

当一个AI产品的主要卖点是基准测试排名,而不是具体场景的实际表现,大概率是在避重就轻。好用的工具不需要拿分数说话,用过的人自然会推荐。

4. 关注scaffold和工具链

同一个模型在不同工具链里的表现差距可以大到15个百分点。这意味着选对IDE插件、配好上下文管理,可能比换一个”分数更高”的模型更有效。Cursor和Windsurf用同一个模型,体验能差一截,原因就在这里。

一个行业性的信任危机

基准测试崩塌的本质是AI行业的一个信任危机。当评估标准本身不可信,消费者(开发者)就没有客观依据来做选择。厂商可以挑对自己最有利的benchmark发布,甚至针对特定benchmark做优化——反正你也验证不了。

SWE-bench Pro能缓解一部分问题,但不能根治。也许最终的评估方式会回到最朴素的方法:社区口碑和个人体验。哪个工具帮你省了最多时间,哪个就是最好的——管它SWE-bench多少分。