你在选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多少分。