AI 都在考什么题?六大评测真题大赏
每次看大模型排行榜,你都会看到一堆名字:MMLU、GPQA、SWE-bench、AIME、HumanEval……还有一串分数。可这些分数到底是怎么考出来的?AI 做的题,长什么样、难到什么程度?
这篇文章不讲概念,直接搬来六大评测的真实样例题,让你亲眼看看 AI 的"考卷"。看完你大概会有两种感受:一是"原来 AI 考的是这种题",二是"等等,这题我也不会啊"。
下面每道题都尽量用真题,编程和数学题更是完全公开的原题。准备好了吗,开考。
MMLU:57 个学科的"通识大考"
考什么能力:横跨 57 个学科的多选题,从高中到大学到专业级,考的是知识面的广度——历史、法律、医学、数学、计算机,无所不包。这是衡量"AI 懂不懂得多"的经典考试。
来一道"专业医学"科目的真题:
一名 33 岁男性因甲状腺癌接受根治性甲状腺切除术。术中出现中度出血,需结扎颈部左侧数条血管。术后血清检查显示:钙浓度 7.5 mg/dL,白蛋白浓度 4 g/dL,甲状旁腺激素浓度 200 pg/mL。下列哪条血管的损伤导致了该患者的上述表现?
(A) 肋颈干的分支 (B) 颈外动脉的分支 (C) 甲状颈干的分支 (D) 颈内静脉的属支
正确答案:C(甲状颈干的分支)。甲状旁腺的血供主要来自甲状颈干分出的甲状腺下动脉,结扎损伤后甲状旁腺缺血,导致甲状旁腺激素失效、血钙降低。
普通人难度:没学过医的人基本只能靠蒙(25% 命中率)。但它属于"背过书就能答"的知识题——难在专业,不难在推理。
当前 AI 水平:顶尖模型在 MMLU 上普遍能拿到 88% 以上,早已超过人类专家在自己非本专业领域的水平。这个考试现在对最强的模型来说已经偏简单,所以才有了下面更狠的 GPQA。
GPQA Diamond:博士级、"Google 都搜不到答案"
考什么能力:物理、化学、生物的博士级难题。它的招牌特点是"Google-Proof"——就算给你联网、给你半小时,非本专业的人也答不出来。这考的是真正的专家级推理,而不是查得到的知识。
来一道物理题(量子态分辨):
有两个量子态,寿命分别约为 10⁻⁸ 秒和 10⁻⁹ 秒。我们想清晰地分辨这两个能级。下列哪个能量差能让它们被清晰地分辨开?
(A) 10⁻⁴ eV (B) 10⁻⁸ eV (C) 10⁻⁹ eV (D) 10⁻¹¹ eV
正确答案:A(10⁻⁴ eV)。根据海森堡不确定性原理,态的寿命越短,能量越"模糊",模糊量约为 ΔE ≈ ℏ/τ。寿命短的那个态(10⁻⁹ 秒)对应的能量模糊约 6.6×10⁻⁷ eV。要"清晰分辨",两个能级的差必须远大于这个模糊量——四个选项里只有 10⁻⁴ eV 够大。
普通人难度:地狱级。数据显示,请来联网半小时的高水平非专业人士,正确率也只有约 34%;本领域博士也才 65% 左右。
当前 AI 水平:这是当下区分顶尖模型的关键考场。最强的推理模型已能做到 70%–80%+,意味着在这些专业难题上,AI 已经追平甚至超过领域博士的平均水准。
SWE-bench:解决真实的 GitHub 程序 Bug
考什么能力:这不是答题,是真刀真枪修代码。题目来自 Django、SymPy 等知名开源项目里真实发生过的 bug。AI 拿到一份 bug 报告和整个项目的源码,要自己找到问题、改对代码,让原本失败的测试通过。
来看一个真实样例(Django 项目,编号 django-11099):
Issue:用户名校验器允许末尾带换行符的用户名
Django 的用户名校验规则用的正则是
r'^[\w.@+-]+$'。问题在于:正则里的$会匹配字符串末尾换行符之前的位置,所以像"alice\n"这样末尾带个换行的用户名竟然能通过校验。这可能带来安全隐患。请修复。
正确答案/解析:把正则末尾的 $ 改成 \Z。\Z 严格匹配整个字符串的真正结尾,不会被末尾的换行"骗"过去。改动只有一个字符,但你得先读懂整个校验模块、定位到这个正则、还要懂 $ 和 \Z 的微妙区别。
普通人难度:会写代码也未必能快速搞定——难点不在"写",而在茫茫源码里定位问题,并理解一个 99% 程序员都没注意过的正则细节。
当前 AI 水平:进步最猛的赛道。两年前模型只能解决个位数百分比,如今顶尖编程 Agent 在 SWE-bench Verified 子集上已能解决 70% 以上的真实 issue。这也是"AI 写代码"从噱头变成生产力的直接证据。
AIME:美国高中数学竞赛压轴题
考什么能力:美国高中数学邀请赛(AIME),答案都是 0 到 999 的整数。它考的不是套公式,而是把一道绕来绕去的题拆解、建模、算到底的硬功夫。
这是一道完整的 2024 年 AIME I 真题(第 1 题):
每天早上 Aya 都会走一段 9 公里的路,然后到一家咖啡店。当她以每小时 s 公里的速度匀速行走时,全程(含在咖啡店停留的 t 分钟)耗时 4 小时。当她以每小时 s+2 公里的速度行走时,全程(同样含 t 分钟停留)耗时 2 小时 24 分钟。假设她以每小时 s+½ 公里的速度行走,求这段路程(含停留的 t 分钟)共需多少分钟。
正确答案:204。先用两个方程解出 s=2.5、t=24 分钟(走路本身分别是 3.6 小时和 2 小时)。再代入 s+½=3,走 9 公里需 3 小时即 180 分钟,加上 24 分钟停留,得 204 分钟。
普通人难度:这还只是第 1 题(最简单的一道)。建立方程不难,难在细心和别算错——而后面的题会难到让普通成年人完全无从下手。
当前 AI 水平:曾经是 AI 的软肋,如今强推理模型已能稳定做对大部分 AIME 题,部分模型接近满分。"AI 不会算数"这个老印象,正被它亲手推翻。
HumanEval:照着注释把函数写出来
考什么能力:最经典的编程入门级评测。给 AI 一个函数的名字、参数和一段说明(注释),让它把函数体补全。考的是"看懂需求 → 写出正确代码"的基本功。
这是 HumanEval 数据集里编号 0 的经典原题:
from typing import List
def has_close_elements(numbers: List[float], threshold: float) -> bool:
""" 检查给定的数字列表中,是否存在任意两个数字,
它们之间的距离小于给定的 threshold。
>>> has_close_elements([1.0, 2.0, 3.0], 0.5)
False
>>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
True
"""
正确答案/解析:标准解法是两两比较所有数字,只要有一对的差的绝对值小于 threshold 就返回 True:
for i in range(len(numbers)):
for j in range(len(numbers)):
if i != j and abs(numbers[i] - numbers[j]) < threshold:
return True
return False
普通人难度:对学过一点编程的人来说,这是"热身题";对完全没碰过代码的人,则是另一个世界的语言。它考的是基础,不是难度。
当前 AI 水平:基本饱和。顶尖模型在 HumanEval 上的通过率已超过 90%,这类基础题早已不够看,所以业界才转向 SWE-bench 那种真实项目级别的硬骨头。
LMArena:没有标准答案,让你来当裁判
考什么能力:前面五个都有"标准答案",LMArena 偏偏没有题库。它的玩法是:用户随便问一个问题,系统让两个匿名模型各回答一遍,你不知道哪个是哪个,只凭"谁答得更好"盲选。海量投票汇总成排名(Elo 分数)。
它没有固定题目,但用户问的往往是这种很"生活"的开放题:
帮我给 5 岁的孩子用三句话解释一下"为什么天是蓝的",要可爱一点。
没有正确答案——两个模型都会给出一段回答,由你判断哪个更准确、更易懂、更对味。这恰恰是 LMArena 的价值:它测的不是做题能力,而是"真人用起来,到底喜不喜欢"。一个考试分很高但回答生硬的模型,在这里可能照样输。
普通人难度:你不是答题的人,你是出题和打分的人——这也是普通人最容易参与的一个评测。
当前 AI 水平:LMArena 排名常被看作"综合体验"的风向标。有意思的是,它和考试型榜单经常不完全一致:有的模型擅长考试,有的模型更讨人喜欢,差异恰恰说明了"分高"和"好用"不是一回事。
看懂了能帮你什么
把六张考卷摊开看完,你应该能体会到一件事:所谓"排行榜分数",其实是一篮子完全不同的能力的混合。
- MMLU、GPQA 考知识与专业推理,AIME 考数学硬实力;
- HumanEval、SWE-bench 考编程,一个是基础题、一个是真实项目;
- LMArena 干脆不考题,测的是真人用得爽不爽。
所以下次看到"某模型登顶",先问一句:登的是哪个榜?如果你主要拿 AI 写文案、聊天,LMArena 的体验分比 GPQA 的博士题更值得参考;如果你要它帮你写代码,那就盯着 SWE-bench 看。看懂这些题,你就不会再被一个孤零零的数字牵着走了。
相关阅读
- 模型排行榜——看看这些评测最终汇成了怎样的排名
- 看懂排行榜的 5 个常识——别被单一分数忽悠
- SWE-bench 详解——AI 改代码这件事,到底测得准不准