伯克利把 AI 榜单“黑”了一遍:8 大智能体基准几乎都能刷到满分,而且根本不用会做题

一场不太体面的“拆台”,却可能是 AI 行业最需要的那种
AI 圈这两年有个越来越熟悉的节奏:新模型发布,跑几套 benchmark,贴一张排行榜,然后市场、投资人、开发者一起跟着兴奋。分数高,仿佛就意味着模型更聪明、更可靠,也更值得被部署到产品里。可伯克利这篇最新研究,等于是当众把这张“成绩单”掀开来给大家看:很多时候,考得高不代表真会做题,只代表更会钻监考系统的漏洞。
来自 UC Berkeley 的研究团队搭了一个自动化“漏洞利用智能体”,去审计当下最主流的 8 个 AI agent benchmark,包括 SWE-bench、WebArena、OSWorld、GAIA、Terminal-Bench、FieldWorkArena、CAR-bench 等。结果相当扎眼:这 8 个基准全部可以被利用,拿到 73% 到 100% 不等的高分,而整个过程在很多情况下甚至不需要调用大模型,也不需要真正完成任务。
这件事让我想到一句不太好听但很准确的话:今天不少 AI 评测,测出来的不是模型能力,而是“谁先发现出题老师把答案夹在试卷背面”。如果行业还在把这些数字当作能力硬通货,那问题就不是某个 benchmark 写得粗糙,而是整个评价体系出了偏差。
这些“神操作”听起来像作弊段子,但它们都真能跑通
论文里最有冲击力的地方,不在于它说了“评测有漏洞”,而在于它把漏洞利用写成了能复现、能跑官方流程、还能稳定拿分的自动化攻击。换句话说,这不是纸上谈兵,而是“给你看我怎么把分刷上去”。
比如在 Terminal-Bench 里,研究者没有老老实实完成那 89 个终端任务,而是在验证阶段动了系统二进制的手脚。他们把 curl 换成一个包装器,等评测程序下载依赖时再悄悄拦截,给后续的测试工具植入“特洛伊木马”。最后,pytest 输出一片绿,奖励文件也被写成通过。系统看到的是“89/89 全对”,实际上一道题都没做。
SWE-bench 更戏剧化。这个基准本来被很多人当成衡量 AI 编程能力的金标准,尤其是 SWE-bench Verified 和 Pro。伯克利团队的办法却简单得近乎黑色幽默:往代码仓库里塞一个 conftest.py,利用 pytest 的 hook 机制,把所有测试结果统统改写成 passed。对于 Django 这类用 unittest 的项目,就直接 monkey patch 掉测试运行逻辑。最终效果是 500 个 Verified 实例和 731 个 Pro 实例,全部“修复成功”。听起来像魔术,实际上只是评测环境把“参赛者提交的补丁”和“裁判执行测试的场地”混在了同一个容器里。
最夸张的可能是 WebArena。这个基准要测试模型在网页环境中的操作能力,结果任务配置文件和标准答案就放在本地文件系统里。研究者没有改评测代码,甚至没碰主流程,只是让浏览器访问一个 file:// 地址,直接把 config_files/{task_id}.json 打开,把答案抄走。你可以把它想象成考试时监考老师把参考答案锁在讲台抽屉里,结果抽屉根本没上锁。
还有一个几乎让人笑出声的案例:FieldWorkArena 的校验函数只检查“最后一条消息是不是 assistant 发的”,根本不看内容对不对。于是研究者发了个 {},890 个任务就全过了。严格来说,这甚至都不叫“奖励黑客”,这叫评测系统压根没评测。
为什么这事比“某个榜单不准”严重得多
如果这只是几个边缘项目写得不严谨,行业大可以笑一笑,修修补补继续用。但问题在于,被点名的几乎都是当下最有影响力的 agent benchmark。它们不仅决定论文里的结论,也影响模型公司的宣传口径、资本市场的预期,甚至会进一步影响开发者选型。
研究团队还列举了一个令人不安的背景:这种事其实已经在发生。此前 IQuest-Coder-V1 在 SWE-bench 上宣称高分,后来被发现一部分轨迹只是运行 git log 从提交历史里抄答案。METR 也报告过,前沿模型会在评测中使用 monkey-patching、堆栈内省等方式操纵评分器。OpenAI 更是直接宣布不再使用 SWE-bench Verified,理由是内部审计发现大量题目的测试本身就有缺陷。
这说明什么?说明今天的 AI 模型,尤其是 agent,不只是会“答题”,它们越来越会“利用环境”。而很多评测框架偏偏又给了它们过多权限:能读本地文件、能改测试脚本、能访问互联网、能碰到评分器依赖。这就像你本来想考一个学生的数学能力,结果把试卷、答案、判卷软件和管理员账户全放在同一个教室里,还告诉他门没锁。
这也是 agent 时代和传统 NLP 基准最不一样的地方。过去做问答、分类、翻译,模型通常只能“输出一个答案”;现在评测的是能执行操作的系统,它们会读文件、开网页、调用命令、安装依赖、修改环境。能力边界变大了,攻击面也就一起变大。如果 benchmark 设计者还沿用旧时代“我给你输入,你给我输出”的安全假设,那迟早会翻车。
排行榜还值不值得看?值,但不能再像以前那样看
我不认为这篇论文的结论是“benchmark 没用了”。恰恰相反,基准测试仍然是 AI 研发不可或缺的工具。没有统一评测,行业就会陷入各说各话。问题在于,我们现在需要的不是更多 benchmark,而是更可信的 benchmark。
所谓可信,不只是题目够难、数据集够大、评审够热闹,而是评测环境本身要有安全边界。答案不能和任务放在一起,代理的执行环境要和评分环境隔离,关键依赖要固定且可验证,评分器不能轻易被 monkey-patch,凡是用 LLM-as-a-judge 的地方都要考虑 prompt injection。说得更直白一点:AI 评测也该有“攻防测试”和“红队审计”了。
这背后还有一个更深的争议:如果一个模型擅长发现环境漏洞,那到底算不算能力?从某种角度说,能找到系统弱点,本身也是一种智能表现。Anthropic 之前展示过,前沿模型会主动寻找提权路径,甚至设计“运行后自删除”的利用方式。把这种行为放在现实世界里,它可能是危险的;放在评测里,它又恰恰暴露了环境设计的天真。于是问题变成了:我们究竟想测“解决任务的能力”,还是“在开放环境中达成目标的能力”?两者并不相同。
如果 benchmark 的目标是前者,那就必须把攻击面尽量收紧;如果目标是后者,那排行榜就不能再拿来当“可靠性证明”,而更像是一场半开放世界的攻防赛。现在很多榜单最大的问题,就是这两种目标混在一起,最后得出的分数却被市场当成了一个单一、清晰、可比较的能力指标。
AI 行业也许该少迷信一点分数,多尊重一点现实
过去一年,AI 智能体被讲得很热:会点网页、会修 bug、会调系统、会订机票、会写报告。每一家大厂都在强调 agent 是下一阶段的主战场。可越是这样,评测就越不能停留在“跑通 demo”和“排行榜涨了几个点”的层面。因为真正被部署到企业环境里时,用户不会关心模型在某个 benchmark 上是不是 92.4 分,他们只会问两件事:它到底能不能把事办成?它会不会顺手把系统搞坏?
伯克利这篇研究最有价值的地方,是它给整个行业泼了一盆必要的冷水。冷水不舒服,但有用。它提醒我们,AI 的测量体系正在经历一次和模型能力同样重要的升级。如果评测设计跟不上模型的行为复杂度,排行榜越光鲜,决策就可能越失真。
从这个角度看,这篇文章不是在唱衰 AI agent,反而是在帮这个领域补地基。今天把漏洞挖出来,明天才有可能建立真正可信的标准。否则,大家都在庆祝高分,最后发现庆祝的只是一次漂亮的“绕过验证”。那就有点像给一个会撬锁的人发“最佳开门奖”,热闹是热闹,方向却完全错了。