🟡 进阶

大模型的分数是怎么来的

从一张考卷到排行榜名次——分数怎么算、它什么时候会骗你、以及你选模型时到底该拿它做什么

📅 更新于 2026-09-13

19
可追溯的来源
6
分数失真的机制
3
我自己算过的数

0030 秒速览:先拿这四个结论走

读完这一篇,你会获得三个能立刻用的能力:看懂新闻里任何一个"某模型得了 88 分"是怎么算出来的;判断两个分数之间那 1 分、2 分到底算不算差距;以及把排行榜当成筛子而不是裁判来帮你选模型。这三个能力都不需要你会写代码,也不需要你懂 AI 的原理。

🎯 先记住这三句

① 分数是"在一个固定题集上的平均正确率",它测的是那份考卷,不是这个模型的全部本事。
② 同一个模型在不同榜单上名次不同,绝大多数时候不是有人撒谎,而是有五个口径对不上(05 一节列全)。
③ 读一个分数的正确顺序是:先看它考什么 → 再看题量够不够 → 再看它花了多少钱 → 最后才看名次。

四个关键数字,先给量级

±3.7个百分点:一份 500 题的考卷、分数在 77% 附近时,95% 的误差范围。也就是说 1~2 分的差距通常分辨不出来(03)
10.3 倍我在 SWE-bench(一份拿真实 GitHub 问题考"改代码"的公开榜单)上算出的单题成本比——两个模型分数只差 1 个百分点,贵的那个每题贵 10.3 倍(08)
82,000,000Arena(一个把两个模型的回答并排给真人投票、再推成排名的公开擂台)累计收到的人类投票数(2026 年 6 月官方公布)——它的分数不是考卷判出来的,是人一票一票投出来的(07)
42%斯坦福《2026 AI 指数报告》转述的一项综述结论:GSM8K 这份小学数学考卷里,有问题的题目比例最高达到 42%(06)

你现在的处境 → 直接跳到那一节

你心里想的是去哪一节那一节给你什么
"新闻说 X 超过了 Y,这分是怎么来的?"02 → 03 → 05一条六步流水线,加一个从题目到分数的完整算例
"MMLU、GPQA、HLE、SWE-bench……这些名字在考什么?"04一张表:每份考卷考什么、多少题、怎么判、别拿它说什么
"差 1 分、差 2 分算差距吗?"03 → 08误差范围的算法,以及我用榜单原始数据跑出来的实测结论
"我要挑一个模型来干活"10 → 11一份四步筛选流程,和一套能复制走的"自己的小考场"脚本
"榜单是不是可以刷?我还能信吗?"06 → 09六种失真机制,加一个真实的争议现场(双方立场都摆出来)
"为什么同一个模型在两个榜上差那么多?"05 → 07五项口径差异,和四类分数各自回答什么问题
📖 一个类比:体检报告

大模型的分数很像体检报告上的指标:它是一次标准化测量的结果,有明确的测量方法和明确的误差。你不能拿一份体检报告说"这个人整体是什么水平"——但你可以用它筛出需要进一步检查的人。同样,你也不该拿"总检结论"四项全绿就断定没问题:具体项目测了什么、没测什么,才是关键。

这个类比到这里就不准了:体检指标(血压、血糖)背后有几十年的医学共识来定义"正常范围",而大模型的分数没有这种共识——榜单的题是谁出的、权重怎么定的、误差多大,往往要你自己去核。所以在模型这件事上,你必须比看体检报告时更警惕。

01分数是什么:一份考卷的成绩单

先把最容易误会的三件事拆掉,剩下的定义就自然站得住了。

它不是什么(三条负向定义)

❌ 错想一:分数是"能力证书"

"MMLU 考了 90 分,说明它在这些学科上接近专家。"

问题:考卷只覆盖它考到的那点东西。斯坦福《2026 AI 指数报告》给了一个非常直白的例子:Gemini Deep Think 在 2025 年国际数学奥林匹克竞赛里拿到 35 分、金牌水平;而同一批模型在 ClockBench 这份"认指针时钟"的测试里,最好的模型只有 50.6% 的正确率,人类是 90.1%。会做奥数题、却看不太懂钟表——研究人员把这个现象叫作锯齿状智能(jagged intelligence,意思是能力分布像锯齿一样高低不平,不是整体抬升)。

✅ 正确认识:分数是"一份考卷上的表现"

90 分说的是:在这 57 个学科的这 14,042 道选择题上,它答对了 90%。这句话既没有延伸到没考的学科,也没有延伸到"能不能用它做事"。

要判断它对你有用,你得接着问:这份考卷的题目长得像我的任务吗?

❌ 错想二:分数等于"我用的那个产品的体验"

"这个模型分最高,那我用的 App 应该最好用。"

问题:测的是一个光秃秃的模型;你用的是包了一堆东西的产品——系统提示词(产品偷偷塞给模型的那段话)、可用的工具(搜网页、跑代码)、回答长度限制、以及它给你分配的是哪个档次的模型(很多产品会自动把简单问题丢给便宜模型)。

✅ 正确认识:分数管模型,产品体验另算

同一个模型,放在两个产品里可以是完全不同的体验。所以"模型榜单"只能帮你缩小范围,最终一定要在你实际要用的那个产品里试。

❌ 错想三:分数是一把有"零刻度"的尺子

"考了 30 分,说明它只懂 30%。"

问题:四选一的选择题,完全乱猜也能对 25%。所以 25 分附近其实等于"什么都没会",而 30 分和 40 分的差距远没有数字看起来那么大。04 里那份考卷地图上的每一份考卷,零点都在不同位置。

✅ 正确认识:先问"乱猜能得几分"

读任何分数前先找两个天花板/地板:瞎猜的期望分(四选一 25%、十选一 10%、开放式问答 0%)和人类专家水平(GPQA 上,有博士学位的专家平均 65%)。有了这两个参照,数字才有意义。

那它到底是什么:一句话定义

🎯 定义

一个大模型的"分数",是在一份固定的题目集合、一套固定的判卷规则、一个固定的外挂程序组合下,让它重复答题,再按固定公式算出来的平均分。

这个定义里有三个变量,缺一个都不成立——而新闻标题通常把它们全省了:

变量它是什么为什么它决定了分数的含义
题集(数据集) 那批固定的题目。比如 MMLU 用 14,042 道四选一选择题,覆盖 57 个学科。 换一批题,分数就换一个含义。所以"MMLU 90 分"和"GPQA 60 分"没法互相换算。
判卷规则 怎么算对:和标准答案一字不差(精确匹配)、跑一遍自动测试看通过没有(单元测试)、还是让另一个模型来打分(LLM 裁判)。 同一份答案,判卷规则一换分数就能变。宽松的裁判会让所有人分数都变高。
外挂程序(脚手架) 包在模型外面、替它动手的那套程序:给它一个可以反复试错的循环、可以跑命令和改文件的工具。英文叫 scaffold 或 agent harness。 现代编程类考卷的分数大部分来自外挂。同一个模型换一套外挂,分数能差好几个百分点——所以榜单上写的是"模型 + 外挂"的组合分。
⚠️ 严谨的说法长什么样

不严谨:"Gemini 3 Flash 是 75.8 分。"
严谨:"Gemini 3 Flash,配 mini-SWE-agent 这套脚手架,在 SWE-bench Verified 的 500 道题上解决了 75.8%,提交日期 2026-02-17。"

后半句多出来的每个词,都对应着 05 里的一项口径差异。你在新闻里看到的永远是前半句——这正是误解的来源。

02分数是怎么产生的:六步流水线

任何一份模型分数,不管名字多花哨,都是同一条流水线跑出来的。看懂这条流水线,你就同时看懂了它可能在哪一步出问题。

1 出题
找一批有标准答案的题
→
2 定格式
规定怎么问、给几个示范
→
3 抽题
全部用,还是抽一部分
→
4 跑模型
跑几次、给多少工具和预算
→
5 判卷
谁来判、按什么判
→
6 算分公布
平均、加权、排名

第 1 步:出题——题从哪来,决定了它偏向什么

题目来源主要有三类,各自的偏向完全不同:

出题方式真实例子它天生偏向什么
专家命题:请学科专家手写HLE 由全球学科专家出题,共 2,500 道,覆盖数学、人文、自然科学;每道题都有明确答案,但没法靠上网搜到。GPQA 由生物、物理、化学的博士级专家出题,共 448 道。偏向"冷知识 + 硬推理"。它故意让搜索引擎帮不上忙,所以更能测出模型自己会不会。
从真实工作里捞:把真实任务连同验收标准一起收进来SWE-bench 从 12 个热门 Python 仓库(Python 是最常用的编程语言之一)里捞出 2,294 个真实的 GitHub 问题(GitHub 是程序员放代码的地方,"问题"指用户报的 bug 或改进请求),配套的验收标准是当时修好它提交的那份改动。偏向"真实、多文件、要动手"。它测的是一整套修复流程,不是单点知识。
从公开竞赛/新发布材料里持续收:按时间切分,只考"模型训练完之后才出现"的题LiveCodeBench 从 LeetCode、AtCoder、Codeforces 三个编程竞赛平台持续收题(论文发布时是 400 道,发布于 2023-05 至 2024-05 之间);LiveBench 每个月换新题,题目来自刚发布的数学竞赛、论文与新闻。偏向"抗污染"。因为题目在模型训练之后才出现,模型不可能提前背过。
📌 为什么有的考卷要"按时间切题"

如果题目早就公开在互联网上,而模型又是拿互联网上的海量文字训练的(这个"读过的海量文字"就叫训练数据),那它很可能早就见过这道题和答案——考出来的就不是能力,是记性。这个现象叫数据污染,是第 06 节的第一号失真来源。"只考新题"就是把这条路堵掉。

第 2 步:定格式——同一个模型,问法一变分数就变

这一步给模型的规定至少包括:要不要先给几个示范例子(给了叫 few-shot,不给叫 zero-shot);要不要让它先把推理过程写出来再给答案(这叫思维链,英文 Chain of Thought);允不允许它上网、跑代码;给它多少答题预算。

这些不是无关紧要的细节。MMLU-Pro 的论文做了一次很硬的对照:在 24 种不同的问法下,同一批模型在原版 MMLU 上的分数波动是 4%~5%,换到更难的 MMLU-Pro 上波动降到 2%。论文作者由此得出一条结论——原版 MMLU 的分数有相当一部分是"问法带来的",不是"能力带来的"。

顺带说一个数字:MMLU-Pro 把每题的选项从 4 个增加到 10 个,题目也更偏推理。结果所有模型的分数一次性掉了 16 到 33 个百分点。同一个模型、同一批学科,只因为选项变多、题目变难,分数就掉这么多——这就是为什么"高分"必须连着考卷一起读。

第 3 步:抽题——用全部题,还是抽一部分

小的考卷可以全跑;大的考卷为了省钱会抽样。抽样本身没问题,但你要知道两件事:抽多少决定了分数有多"毛"(03 会用算术说明),以及不同机构抽的可能是不同的子集。

真实的例子:HLE 一共 2,500 道题。第三方评测机构 Artificial Analysis 在自己的"智能指数"里只用其中 2,158 道纯文本题(把需要看图的题去掉了)。所以它的 HLE 分和另一位评测者说的 HLE 分,分母根本不一样。

第 4 步:跑模型——随机性、重复次数、算力预算

模型答题有随机性(同一个问题问两次可能给不同答案,控制这个的是"温度"参数)。所以严格的做法是每题跑多次取平均,而"给一次机会、答对就算对"这种口径叫 pass@1。

Artificial Analysis 的做法可以当参考:它给不同评测规定了 1 次、3 次或 5 次重复(比如 Terminal-Bench 跑 3 次、HLE 跑 1 次、GDP.pdf 跑 5 次),并在方法学里声明,它的"智能指数"总体误差范围在 ±1 个百分点以内(基于对某些模型做 10 次以上重复实验),但单项评测的误差可能更大。

还有两个更隐蔽的变量:给多少算力(同一个模型,允许它想 10 秒还是 10 分钟,分数完全不同)和用哪套脚手架。我在 08 节算的那批数据里,榜单上每个条目都明明白白写着脚手架的名字(mini-SWE-agent)和提交日期——因为不写就没有复现的可能。

第 5 步:判卷——三种判法,可靠程度差很多

判卷方式怎么工作什么时候能用 · 什么时候别用
精确匹配 模型的答案必须和标准答案完全对上(或者对上答案的那一项)。MMLU、GPQA、HLE 都用这类。HLE 的说法是"每道题都有唯一、明确、易于验证的答案"。 最可靠,因为规则不含人的判断。别用的场景:答案不是唯一写法时(数学的等价变形、自由作答),精确匹配会误判。
自动测试(单元测试) 准备一小组自动检查(比如"这个函数输入 3 应该返回 6"),跑通过就算解决。SWE-bench 就是拿当时真实的修复补丁当验收标准。 编程类最硬的判法:**它测的是"代码真的能跑对吗",不是"看起来像不像"**。边界:测试只覆盖写测试的人想到的情况。
模型当裁判(LLM 裁判) 让另一个模型来读答案、按标准打分。开放题几乎只能这么做。 一篇被广泛引用的论文(MT-Bench / Chatbot Arena,2023)实测:强模型当裁判与人类偏好的一致率超过 80%,和人类之间的一致率差不多——所以它"能用"。但同一篇论文列出了它的三种系统偏见:位置偏见(更偏爱排在前面的那个回答)、啰嗦偏见(更偏爱写得长的)、自我增强偏见(更偏爱像自己写的答案)。用它就要防这三种。
人类投票 把两个模型的回答并排给真人看,让他选哪个好,再把大量投票汇成分数(Arena 用的就是这种)。 唯一能覆盖"开放式、没有标准答案"任务的方式。代价是慢、贵,而且测的是偏好不是正确率(见 07)。

第 6 步:算分与公布——谁在公布,这件事很重要

最后一步有三种常见算法:正确率(答对比例)、pass@1(一次机会通过率)、相对分(从两两胜负里推出的 Elo 分——你可以在棋类等级分里见到同一个思路,Arena 用的是它的近亲 Bradley-Terry 模型,作用一样:把"谁赢谁"的投票折算成分数)。

但比算法更值得问的是:这个数字是谁跑出来的?这三种来源的可信度完全不一样:

⚠️ 厂商自报

模型发布方自己跑、自己发。优点是它知道该配什么脚手架、能给最有利的配置;缺点是你没法独立复现,而且它是选择性的——弱项可以不提。

📌 第三方与众人

第三方评测机构(如 Artificial Analysis)、独立榜单(如 SWE-bench 官网要求提交可复现的记录)、以及众包投票(向公众公开征集投票,Arena 就是这种)。它们的价值在于口径统一、可对比;代价是它们也有自己的权重与偏好(见 05、09)。

🎯 一条能立刻用的规则

看到任何分数,先把它补全成一句话:"谁,用什么脚手架,在哪份考卷的多少题上,什么时候跑出来的。"四样缺一样,这个数字就只能当"传闻"听。

03最小例子:一道题怎么变成 0.86 分

上面那条流水线,我们用一道真实的题从头走到尾。

第一步:这是 MMLU 里的一道真题

下面这道题属于 MMLU 的"抽象代数"学科。它的原文、选项和标准答案,都是从公开数据集里直接取的(98 节给了取它的命令):

题面(subject = abstract_algebra)
Find the degree for the given field extension Q(sqrt(2), sqrt(3), sqrt(18)) over Q.

四个选项
A. 0      B. 4      C. 2      D. 6

数据集里记录的标准答案
answer = 1  →  也就是选项 B("4")

题目本身不需要你懂:你只要看到它有四个选项就够了。下面这条命令能把这行原始数据自己拉下来(约 1 秒):

curl -sL "https://datasets-server.huggingface.co/rows?dataset=cais/mmlu&config=all&split=test&offset=0&length=2" \
  | python3 -c "import json,sys; [print(r['row']) for r in json.load(sys.stdin)['rows']]"
# 输出里能看到 question / choices / answer 三个字段;answer=1 就是选项 B

第二步:瞎猜能得几分?25%

四个选项里蒙一个,长期下来能对四分之一。所以 MMLU 的地板是 25%——这也解释了 MMLU 原论文里那句结论:当时最大的 GPT-3 在 57 个学科上平均只比随机猜高 20 个百分点左右,而且在道德、法律这些学科上还接近瞎猜水平。

对比一下:MMLU-Pro 把选项加到 10 个,地板就压到 10%;而 HLE 是填空和短答,地板是 0%。同一句"考了 40 分",在三份考卷上是三种完全不同的水平。

第三步:把 14,042 道题这样判完,就有了一个分数

判卷规则就是"模型的答案选中了标准答案那一项就算对"。把所有题的判定加起来除以总题数,就是这份考卷上的分数:

分数 = 答对的题数 ÷ 总题数
例如:答对 12,076 道 / 共 14,042 道 = 0.860 = 86.0%

到这里,"某某模型 MMLU 86 分"这句话就完全解构完了。它没有告诉你:这个模型在没考的学科上怎么样、在你的任务上怎么样、回答一次要花多少钱、以及问法换一下会变成多少。

第四步(最多人忽略的一步):这个 86 分本身有多"毛"

考卷是抽样——如果换一批同等难度的题,分数会不一样。这个波动的幅度是可以算的,公式就是中学统计里的那个"比例的标准误":

📐 误差范围怎么算(不需要背)

分数在 p 附近、考卷有 n 道题时,95% 情况下的波动范围是 1.96 × √(p × (1−p) ÷ n)。这个"±多少"就叫置信区间(confidence interval),通俗说就是"分数的误差范围"。
它的意思不是"真实能力一定在里面",而是:如果这套考卷反复重抽题,测出来的分数有 95% 会落在这个范围内。

把数字代进去,你会得到一个非常反直觉的结论:

考卷题量分数在 80% 附近时,95% 的误差范围这对你意味着什么
100 题±7.8 个百分点(约 72% ~ 88%)100 题的考卷上,差 10 分都可能只是运气。
500 题(SWE-bench Verified 的大小)±3.7 个百分点(约 73% ~ 81%)榜单上相邻两名差 1~3 分,这份考卷分不出来。
1,319 题(GSM8K 的大小)±2.2 个百分点差 2 分以内仍然可能是噪声。
14,042 题(MMLU 的大小)±0.7 个百分点题量大到一定程度,小数点后一位才开始有意义。

你可以自己把这张表重算一遍——一行命令,不需要装任何东西:

python3 -c "import math; p=0.8; n=500; print(f'±{1.96*math.sqrt(p*(1-p)/n)*100:.1f} 个百分点')"
# n=100 → ±7.8   n=500 → ±3.7   n=14042 → ±0.7
⚠️ 三条实用的推论

① 看到"某模型 76.8%,另一个 75.8%",先问这道题有多少道——500 题的话,这 1 分不构成证据。
② 榜单上"小数点后一位"的排序,在题量少于几千道时基本没有信息量。
③ 想真正分出高下,需要的不是看更多榜单,而是换成同一批题做配对比较——做法与实测见 08。

04考卷地图:新闻里那些名字各自在考什么

下面这张表是本文最实用的一页。每个名字都补上了三样新闻里不给的东西:多少题、怎么判、别拿它说什么。这份表可以当你以后读任何"某某基准(benchmark:一份固定考卷加一套固定判分规则)得分"新闻时的对照表。

你在新闻里看到的名字它考什么 · 多少题 · 怎么判它擅长回答 / 别拿它说什么
MMLU
最常被引用的"综合知识"考卷
57 个学科的四选一选择题(初等数学、美国历史、计算机、法律……)。测试集 14,042 道。判法:精确匹配。瞎猜地板 25%。 擅长:给一个粗略的"知识面"量级。别拿它说:"它懂某个专业领域"——题目早已公开,且头部模型普遍 90% 上下,已经被打满(2025 年 HLE 论文的原话就是"LLM 现在在 MMLU 这类流行基准上超过 90% 准确率",这句正是它做新考卷的理由)。
MMLU-Pro MMLU 的加强版:选项从 4 个加到 10 个,题目更偏推理,剔掉了原版里过于琐碎和有噪声的题。测试集 12,032 道。 擅长:在同一批学科上给出更有区分度的分数。别拿它说:它还是选择题,仍然测不到"动手做事"。
GPQA(尤其 GPQA Diamond) 由生物/物理/化学博士级专家出题,共 448 道,故意设计成"谷歌不了"(专家可以无限上网查、平均花 30 分钟以上,非专家仍只有 34% 正确率)。其中质量最高的子集叫 Diamond,198 道。 擅长:测"硬推理 + 专业判断"。它的参照系很清晰:对应领域博士专家平均 65%。所以看到 60% 就该知道这已经接近人类专家水平。别拿它说:"能独立做科研"——考卷是选择题,不是研究过程。
HLE(Humanity's Last Exam) 全球专家出题的"最后一考",2,500 道,含数学、人文、自然科学;混合选择题与短答,答案唯一且易于验证,但没法快速靠上网检索答出来。 擅长:测"当前天花板在哪"。别拿它说:日常可用性。它的设计目标就是"难到能撑几年",而斯坦福 2026 报告显示前沿模型一年内在这上面涨了 30 个百分点——分数更新极快。
GSM8K / MATH 小学应用数学题 1,319 道(GSM8K 测试集)/ 竞赛数学题 12,500 道(MATH)。判法:精确匹配最终答案。 擅长:当"回归测试"用——防止新版把旧能力弄坏。别拿它说:"数学很强"。两者都已接近打满,且 GSM8K 被点名为无效题比例最高可达 42% 的那份考卷(见 06)。
SWE-bench / SWE-bench Verified 从 12 个热门 Python 仓库的真实 GitHub 问题里抽 2,294 道(配套当时真实的修复补丁);其中经人工核验、去掉了描述不清或无法判定题目的子集叫 Verified,500 道。判法:跑自动测试。 擅长:测"能不能真的改代码让它跑通",是目前最接近真实软件工程的公开考卷之一。别拿它说:"能替代程序员"——它只覆盖 Python、每题独立、且必须配脚手架(脚手架才是动手的那部分)。
LiveCodeBench / LiveBench 抗污染型考卷:只收"模型训练完之后才出现"的题。LiveCodeBench 从三个编程竞赛平台持续收题(论文时点 400 道,发布于 2023-05 至 2024-05);LiveBench 每月换新题,来自刚发布的竞赛、论文与新闻,且用客观标准自动判分。 擅长:测"真的会不会",而不是"是不是背过"。别拿它说:跨时间比较——LiveBench 换题之后,上周的分和本周的分不是同一份考卷。
Arena(原 Chatbot Arena / LMSYS) 不是考卷,是投票擂台:把两个模型对同一个问题的回答并排给真人,让他挑更好的那个,再用统计模型把海量投票推成 Elo 分。累计投票已达 8,200 万票以上(2026-06 官方公布),另有 7 亿次以上对话。 擅长:回答"人更喜欢哪个回答",尤其是开放式、没有标准答案的任务。别拿它说:"谁更准确"——它测偏好;一个更会讨人喜欢的回答可能更不准确。
Artificial Analysis 智能指数(AA Intelligence Index) 不是单份考卷,是加权平均出来的合成分:把 10 项评测按"智能体任务 30% + 编程 20% + 科学推理 20% + 通用 30%"合成一个数(详见 05;智能体指会自己调用工具、分好几步把任务做完的 AI)。 擅长:一眼看出"综合"水平,并横向比较价格与速度。别拿它说:"综合第一"——权重是别人定的,换一套权重就换一个名次。
🎯 一眼判断法:这份考卷像不像我的活

把你的任务拆成"输入 → 输出 → 验收"三样,再回答一个问题:这份考卷的判卷方式,能不能验收我的活?
· 你的活有唯一正确答案(抽取字段、算数、分类)→ 看精确匹配类考卷(MMLU 类、GSM8K、MATH)。
· 你的活要跑起来看结果(写代码、改配置、自动化)→ 看自动测试类考卷(SWE-bench、Terminal-Bench 这类终端任务)。
· 你的活没有标准答案(写作、客服话术、头脑风暴)→ 只能看人类偏好(Arena)或模型裁判类,并接受它带偏见。

05为什么同一个模型在不同榜单名次不一样

这是最常被当成"有人在造假"的现象。实际上,只要你把下面五项口径对齐,绝大多数差异都能解释清楚——而新闻标题从来不写这五项。

口径一:权重——"综合分"是有人替你做的选择题

很多最有影响力的分数并不是"考出来的",而是加权平均算出来的。加权平均的意思是:先把各项分数乘上不同的比重,再相加。比重给谁多给谁少,是一个人为决定。

以 Artificial Analysis 的"智能指数 v4.3"为例,它的构成是公开的:

大类(权重)里面装了哪些评测(各自的权重)这个权重选择意味着什么
智能体任务 30% AA-Briefcase 15%(91 个跨 4 种场景的任务)、GDPval-AA v2 10%(220 个任务)、AutomationBench-AA 5%(657 个 SaaS 工作流自动化任务;SaaS 指按订阅使用的在线软件) 它刻意偏向"会用工具的智能体"。如果你要的是"纯聊天写作",这 30% 对你其实是噪音。
编程 20% Terminal-Bench v4.0 10%(66 个终端任务,跑 3 次)、SciCode 10%(288 个子问题,跑 3 次) 编程只占五分之一。一个编程极强的模型,在总榜上不一定靠前。
科学推理 20% HLE 10%(用 2,158 道文本题)、CritPt 10%(70 道物理题,跑 5 次) 用的是"最难的那份考卷"。所以这份指数对难度顶端特别敏感。
通用 30% AA-Omniscience 15%(6,000 题,把"答对率"和"编造率"分开算)、GDP.pdf 10%(100 个跨 10 个领域、要从一长份 PDF 里作答的任务,跑 5 次)、AA-LCR v1.1 5%(100 题长文本推理,跑 3 次) 注意它把"会不会编造"单独拿出来计分——这是"综合分"里少见的、对你实际使用很关键的一项。
⚠️ 由权重直接推出的三个结论

① "综合第一"的准确含义是"在这套权重下第一",不是"什么都第一"。
② 想让某个模型排第一,只需要调整权重——这是数学,不是造假。
③ 你该找的不是"综合榜第一",而是与你任务对应那个分项的第一(做法见 10)。

口径二:抽题——同一个名字,分母可能不一样

HLE 一共 2,500 题,而上面那份指数只用其中 2,158 道纯文本题。所以"A 机构的 HLE 得分"和"B 机构的 HLE 得分"分母不同,不能直接比。同样,SWE-bench 有完整版(2,294 题)、Verified 子集(500 题)、还有更小的 Lite 版本,报分时不写清楚用哪个就没法比。

口径三:脚手架与工具——动手的那部分不算模型的

编程、终端、电脑操作这类考卷,模型本身只会输出文字,真正去改文件、跑命令的是它外面的那套程序。所以同一模型配上不同脚手架,分数可以差出好几个百分点。这也是为什么专业榜单每个条目都要标脚手架的名字和版本。

口径四:日期——三样东西都会变

有三个日期同时影响一个分数:模型的版本日期(厂商悄悄更新权重是常态)、脚手架的版本日期、题库的版本日期(LiveBench 每月换题)。这三样里任何一样变了,分数就不再可比——08 节我会用真实数据演示:同一个模型,两次提交,分数差 2.4 个百分点。

口径五:样本量与误差——差多少才算差

这条在 03 已经算过:500 题的考卷、77% 附近,误差范围是 ±3.7 个百分点。所以"名次表上第 1 名和第 5 名"可能只是同一水平线上的几次随机波动。

把五项合成一次实测:同一个模型,四种读法

下面用我在 08 节抓到的真实数据(SWE-bench Verified 榜单,2026-09-13 抓取)演示"口径换一下,结论换一下":

你听到的说法它背后的口径换一个口径之后会变成什么
"Claude 4.5 Opus 拿了 76.8%,是第一名。" SWE-bench Verified、500 题、配 mini-SWE-agent、2026-02-17 提交。 换成配对检验(只比较两个模型都做过的同一批题):它和 75.8% 的 Gemini 3 Flash 之间的差距,统计上不显著(p ≈ 0.58)。
"Claude 4.5 Opus 是 74.4%。" 同一个模型、同一个脚手架,但提交日期是 2025-11-24。 同一模型换了日期就换了分数(76.8% 对 74.4%)。这不是谁造假,是版本与运行条件在变。
"差距只有 1 个百分点。" 只看了正确率。 把成本加进来的话:拿到相近分数的 MiniMax M2.5 平均每题 $0.073,Claude 4.5 Opus 平均每题 $0.754——10.3 倍差价。1 个百分点的"差距"在成本面前可能根本不该被讨论。
"榜单上那个模型是 0 分,很差。" 榜单上确实有一条 Gemini 3 Pro(2026-02-26 提交)500 题全过不了、记为 0/500 的记录。 更可能是那次运行出了问题(配置错误、脚手架没跑起来),而不是"模型突然不会写代码"——因为同族的其它提交都在 70% 以上。榜单里也留着失败的运行。
🎯 复现检查清单(读任何榜单前问五个问题)

① 这份分考的是什么;② 多少题(决定误差);③ 用什么脚手架和工具;④ 三样东西的日期(模型/脚手架/题库);⑤ 是谁跑的、能不能复现。
五问里答不出三个以上,这个数字只能当噪音。

06六种失真:分数是怎么骗人的

上面讲的都是"口径不同",属于正常差异。这一节讲的是真问题:有六种机制会让分数偏离它本应度量的能力。每一种都有真实来源,不是我的猜测。

失真一:数据污染——考题提前进了"复习资料"

模型是拿互联网上的海量文字训练出来的。如果一份考卷的题目和答案早就在网上流传,那它很可能在训练时就见过,考出来的就成了记性。

这不是理论担忧,有硬证据:一篇论文设计了"把选择题里的正确答案挖掉、让模型填空"的实验,看它能不能背出那道题原本的选项。结果在 MMLU 上,ChatGPT 的精确命中率是 52%,GPT-4 是 57%——它们不该知道被挖掉的是什么,除非见过。

另一条证据来自"无污染版考卷":研究者另建了一份抗污染的选择题集(MMLU-CF,原版题源更广、还做了去污染处理)。在这个版本上,GPT-4o 的 5 次示范得分是 73.4%;而同一代模型在原版 MMLU 上普遍报的是 88%~90% 一档。这个落差不能全部归因为污染(题目也换了、更难了),但它是"高分里有一部分是记性"的一个有力提示。

失真二:题目本身有错

考卷是人做的,会有错题:答案写错了、条件不完整、有多个正确选项。斯坦福《2026 AI 指数报告》转述的一项综述给出的量级是:无效题比例从 MMLU 数学的 2% 到 GSM8K 的 42%。另有论文提出用统计方法自动筛出可疑题目再交专家复核,在九份常用考卷上达到最高 84% 的命中精度。

为什么这对你重要:错题会同时压低所有人的分数、并给分数加上一层无法消除的噪音。**当一份考卷有 42% 的题目可疑时,它上面的名次基本不能用来做决策。**

失真三:判卷裁判自己有偏见

开放题的分数往往来自"模型当裁判"。前面说过,这类裁判和人类偏好的一致率能超过 80%,但它有已知的三种系统偏见:偏爱排在前面的回答(位置偏见)、偏爱更长的回答(啰嗦偏见)、偏爱像自己风格的回答(自我增强偏见)。

后果很直接:一个模型只要学会写得更长、更早给结论,就能在裁判那里白拿分——而这些特点与你"想要准确答案"的目标可能毫无关系。这就是为什么看这类榜单时要问一句:它给裁判做了位置随机化吗?有没有对照人类评分校准?

失真四:刷榜——在榜单的分布上过拟合

这是最像"作弊"的一种,而且它未必违反任何规则。一篇名为《排行榜幻象》(The Leaderboard Illusion)的研究把它写得非常具体:

与此同时,Arena 官方并不否认"偏好分"的价值,它公布的规模数据(8,200 万票、7 亿次对话)说明它测量的是真实使用中的偏好。双方的分歧点我放在 09 节,两边立场都会摆出来。

失真五:饱和——考卷被打满,就失去了区分度

一份考卷只有在"大家都做不完"的时候才有区分度。斯坦福 2026 报告的原话是:能力正在跑赢为它设计的考卷——前沿模型在一年之内于 HLE 上提高了 30 个百分点,"本打算难住 AI 几年的评测,几个月就被打满,能用来跟踪进步的时间窗口被压缩了"。

这就是为什么你每年都会看到新名字取代旧名字当头条(MMLU → MMLU-Pro → GPQA → HLE)。也是为什么"某个模型在 MMLU 上超过另一个"这种消息,参考价值在快速下降。

失真六:运行残留与运行波动

这是最朴素、也最容易被忽略的一种:榜上是别人的一次运行。运行会失败、会有配置错误、会受当天服务波动影响。我在榜单原始数据里就找到了两条直接的痕迹:同一次提交的 0/500 记录(见 05),以及同一个模型两次提交相差 2.4 个百分点。

把六种失真变成两个动作

❌ 错法:把分数当结论

"X 在榜单上是第一,所以我们用 X。"

风险:你同时踩中了全部六种失真——你不知道这份考卷考什么(口径)、题目有没有错(失真二)、模型有没有见过题(失真一)、裁判偏不偏心(失真三)、名次有没有被运营出来(失真四)、那次运行是不是成功的(失真六)。

✅ 正法:把分数当筛子

用分数把选择范围从"几十个模型"缩到"三个候选",再用自己的任务做最终判断(11)。

好处:六种失真全都只能影响"筛",不能影响"定"。你的任务不可能被污染,你的验收标准不会偏心。

07准确率、Elo、加权分、你的体感:四个别混的东西

"分数"这个词在新闻里被用来指四种完全不同的东西。它们各自回答不同的问题,混着用就会得出错误结论。

你看到的数字它实际是什么它回答什么问题 · 不能回答什么
准确率
例:MMLU 88%
答对题目的比例。分子是答对数,分母是总题数。判卷靠标准答案,不含人的判断。 回答:"在这份固定题集上,它答对了多少。"
不能回答:"这 88% 里有多少是背过的"(见数据污染),也不能换算成"它在我的任务上有 88% 的成功率"。
Elo / 相对强度分
例:Arena 上 Anthropic 1,503
从大量两两胜负里推算出来的相对分。Elo 就是国际象棋用的那套等级分:赢强手涨得多、输弱手掉得多。它没有"满分",只有"比谁高多少"。Arena 用的数学近亲叫 Bradley-Terry,思路一样。 回答:"在两个回答必须选一个时,人更常选谁。"
不能回答:"谁更准确"、"谁更便宜"。而且 Elo 是相对的:新人进来、旧人退榜,同一个分数的含义都会变。
加权合成分
例:某"智能指数 68 分"
把多项评测按人为设定的权重平均成一个数(如智能体 30%、编程 20%、科学推理 20%、通用 30%)。 回答:"在这套权重下,谁的综合表现更好。"
不能回答:"哪一项最强"——你必须点开分项看。换权重就换名次,这是算术,不是造假。
你的体感 你在自己任务上的实际结果:它答对了几次、返工了几次、花了多少钱。 回答:"在我这件事上它行不行。"
不能回答:"对别人行不行"——所以别人的体感也不能替你决定。它是唯一能作最终裁决的证据,但样本一定要够(11)。

最容易混的三对

❌ 把 Elo 当准确率

"Arena 上这个模型 1,503 分,准确率应该很高。"

为什么诱人:数字大、排序清楚,看起来就像考试成绩。但 Elo 分是从"人更喜欢哪个"推出来的,一个更会讨人喜欢的回答可能是更不准确的回答。

✅ 把它当"偏好方向"

Elo 高说明在人眼里的观感更好——这对写作、客服话术、创意类任务是有效信号;对"抽取一个金额""算对一个数"这类任务,它几乎不提供信息,你该去看精确匹配类考卷或自己测。

❌ 把"综合第一"当"全面第一"

"它在综合榜上第一,所以各个方面都最好。"

为什么诱人:排名文化让我们习惯"第一名=最强"。但综合分是加权平均,一个在编程上极强的模型,完全可能因为权重里编程只占 20% 而排在第三。

✅ 只看与你任务对应的分项

要写代码就看编程分项(SWE-bench / Terminal-Bench / LiveCodeBench),要中文问答就看多语言分项。综合分只用来"大致筛池子"。

❌ 把"分数高"当"更适合我"

"分数最高的那个我直接用就行。"

为什么诱人:省事。但你会在成本与延迟(延迟:从你提问到它开始出结果要等多久)上付出代价——我在 08 节算出的例子里,两个模型分数只差 1 个百分点,贵的那个每题贵 10.3 倍。

✅ 把它当"多目标里的一个"

真实决策里至少有四个目标:够用(分数)、便宜(单价)、快(延迟)、稳(不编造、不失败)。分数只贡献第一项,而且是"及格线"性质的第一项。

🎯 一句话记住它们的区别

准确率答"对不对",Elo 答"讨不讨人喜欢",加权分答"按别人的权重谁强",你的体感答"对我行不行"。只有最后一个是替你回答问题的。

08我自己算的数:1 分之差算不算差

这一节不引用任何人的结论——数字是我从榜单的原始数据里自己算出来的,并且把复算方法完整给你。

数据从哪来:榜单页里内嵌了每一道题的结果

SWE-bench 官网的排行榜页面里,藏着一份原始 JSON(JSON:一种机器容易读的数据格式,长这样 {"date": "2026-02-17", "resolved": true}):它记录了每一份提交(模型 + 脚手架 + 日期)在每一道题上是否解决、花了多少钱。这意味着我不需要相信页面上的汇总百分比,可以自己重算——这是判断"分数可不可信"最实用的一个动作:能拿到原始数据,就别只看汇总分。

curl -sL -A "Mozilla/5.0" https://www.swebench.com/ -o swebench.html
ls -la swebench.html   # 约 2.4 MB,数据就在里面

我算出来的表(2026-09-13 抓取,SWE-bench Verified,500 题)

下面的"平均每题成本"是我用原始数据里每题的花费求平均得到的,页面上并不直接给这个数:

提交(模型 + 日期)解决 / 总题数我算出的平均每题成本 · 这一轮总花费
Claude 4.5 Opus(2026-02-17)384 / 500 = 76.8%$0.754 / 题 · 全轮 $376.95
Gemini 3 Flash(2026-02-17)379 / 500 = 75.8%$0.356 / 题 · 全轮 $177.98
MiniMax M2.5(2026-02-17)379 / 500 = 75.8%$0.073 / 题 · 全轮 $36.64
Claude 4.6 Opus(2026-02-17)378 / 500 = 75.6%$0.552 / 题 · 全轮 $275.76
GPT 5.2(2026-02-17)364 / 500 = 72.8%$0.474 / 题 · 全轮 $236.78
DeepSeek V3.2(2026-02-17)350 / 500 = 70.0%$0.448 / 题 · 全轮 $223.92
o3(2025-07-26)292 / 500 = 58.4%$0.334 / 题 · 全轮 $166.83
Claude 4.5 Opus(2025-11-24,同一个模型)372 / 500 = 74.4%$0.721 / 题 · 全轮 $360.62
Gemini 3 Pro(2026-02-26)0 / 500 = 0.0%$0.96 / 题(500 题全部记为未解决)

结论一:那 1 个百分点,这份考卷分不出来

76.8% 和 75.8% 差 1 个百分点。如果按"两个独立样本"粗算,p 值约 0.71——完全不显著。但更严谨的做法是配对检验:这两个模型做的是同一批 500 道题,所以该看的不是"两个总分",而是"只在一边对、另一边错的那些题有多少"。

统计上这叫 McNemar 检验(读作"麦克尼马")。它的逻辑很好懂:两边都对、两边都错的题不提供任何区分信息,只有一边对一边错的题才是线索;如果线索在两边平分,就说明两者真的差不多。

📐 表里的 p 值怎么读

p 值回答的是"如果两者其实一样强,出现这种差异的概率有多大"。p 越小,"它们其实一样"这个解释就越站不住。
· p > 0.05:通常认为不显著,这个差异可能是随机波动——不能说谁更好。
· p < 0.05:显著,随机波动不太容易解释出这么大的差异。
注意它只回答"差异像不像噪声",不回答"这个差异对你重不重要"——那是你的判断,见 10。

我算的结果:

比较的两份提交都对都错仅前者对 / 仅后者对这个差异算真差距吗
Claude 4.5 Opus 76.8% 对 Gemini 3 Flash 75.8%3559229 / 24不算(p ≈ 0.58)——虽然差了 1 个百分点
Claude 4.5 Opus 76.8% 对 MiniMax M2.5 75.8%3549130 / 25不算(p ≈ 0.59)
Claude 4.5 Opus 76.8% 对 GPT 5.2 72.8%3449640 / 20算(p ≈ 0.013)
Claude 4.5 Opus 76.8% 对 DeepSeek V3.2 70.0%33510149 / 15算,很明确(p ≈ 0.000)
Claude 4.5 Opus 76.8% 对 o3 58.4%(2025-07 那轮)284108100 / 8算,非常明确(p ≈ 0.000)

请注意第二列和第三列——91 到 101 道题是两边都错的。也就是说,即使是最好的模型,在这份考卷上也有五分之一的任务解决不了。这个数字对你比"谁第一"有用得多。

结论二:同一个模型,换个提交日期就换个分数

Claude 4.5 Opus 在 2026-02-17 那轮是 76.8%,在 2025-11-24 那轮是 74.4%。同一个模型名、同一套脚手架、同一批题,差 2.4 个百分点(配对检验 p ≈ 0.12——连"同一个模型两次运行"的差异都达不到统计显著,可见这个量级的波动有多常见)。

这一条对你有两个直接后果:看到"某模型 76 分"时必须带日期;以及不要拿三个月前的分数去和今天的分数排名次。

结论三:真正的差距常常在成本,不在分数

MiniMax M2.5 与 Claude 4.5 Opus 在这份考卷上只差 1 个百分点(且不显著),但平均每题成本差 10.3 倍($0.073 对 $0.754),跑完整轮差 10.3 倍($36.64 对 $376.95)。

如果你的任务量和这 500 道题相当,选择就从"哪个分高"变成了"为了那 1 个百分点(还可能是噪声),你愿不愿意多花 340 美元"。这就是"把分数当筛子"的实际含义:分数帮你排除不行的,成本帮你决定用哪个。

结论四:榜单里也留着失败的运行

同一张榜上有一条 Gemini 3 Pro(2026-02-26)的提交,500 题全部记为未解决、0%。同族其它提交都在 70% 以上,所以最合理的解释是那一次运行本身出了问题,而不是模型突然不会写代码。但它就那样留在榜单上。

教训:看榜单先扫一眼有没有明显异常的行;如果你要引用某个数字,先确认那是一次成功的、配置正确的运行。

完整复算方法(你可以自己跑一遍)

下面这段脚本就是我这节全部数字的来源,逐行可核:

# 1) 先抓榜单页(见上面的 curl 命令),然后跑这段 python3
import json, re, math

s = open("swebench.html", encoding="utf-8", errors="ignore").read()
data = json.loads(re.search(
    r'<script type="application/json" id="leaderboard-data">\s*(\[.*?\])\s*</script>',
    s, re.S).group(1))

blk = [d for d in data if d["name"] == "Verified"][0]
R = {}
for r in blk["results"]:
    pid = r.get("per_instance_details") or {}
    if len(pid) < 400:
        continue                      # 只留跑满 500 题的完整提交
    R[(r.get("model_display") or r["name"], r.get("date"))] = \
        {k: bool(v.get("resolved")) for k, v in pid.items()}


def pair(ka, kb):
    A, B = R[ka], R[kb]
    common = set(A) & set(B)            # 两个模型都做过的题
    both = sum(1 for i in common if A[i] and B[i])
    neither = sum(1 for i in common if not A[i] and not B[i])
    x = sum(1 for i in common if A[i] and not B[i])   # 只有 A 对
    y = sum(1 for i in common if B[i] and not A[i])   # 只有 B 对
    n = x + y
    p = min(1.0, 2 * sum(math.comb(n, i) for i in range(0, min(x, y) + 1)) / 2 ** n) if n else 1.0
    sa, sb = 100 * sum(A.values()) / len(A), 100 * sum(B.values()) / len(B)
    print(f"{ka[0]} {sa:.1f}%  vs  {kb[0]} {sb:.1f}%")
    print(f"   都对 {both}  都错 {neither}  仅前者对 {x}  仅后者对 {y}  p = {p:.4f}")


# 成本:把每一题的花费求平均(榜单页面不直接给这个数)
for name, date in [("MiniMax M2.5", "2026-02-17"), ("Claude 4.5 Opus", "2026-02-17")]:
    row = [r for r in blk["results"]
           if (r.get("model_display") or r["name"]) == name and r.get("date") == date][0]
    pid = row["per_instance_details"]
    total = sum(v.get("cost") or 0 for v in pid.values())
    print(f"{name}: 平均 ${total/len(pid):.3f}/题,全轮 ${total:.2f}")

pair(("Claude 4.5 Opus", "2026-02-17"), ("Gemini 3 Flash", "2026-02-17"))
pair(("Claude 4.5 Opus", "2026-02-17"), ("Claude 4.5 Opus", "2025-11-24"))
📌 我这次计算的边界(请连同结论一起读)

① 我算的是榜单上已提交的运行,不是我自己跑的模型,所以没法验证它们当时的配置是否最优;
② 两次运行的脚手架同名(mini-SWE-agent),但版本可能不同,这也是"同模型不同日期差 2.4 个百分点"的候选解释之一;
③ 成本字段是该次运行记录的花费,不含你本机算力、也不含排行榜未记录的开销;
④ p 值只回答"差异像不像随机波动",不回答"这个差异对你重要不重要"——那是你的判断。

09争议现场:当榜单本身成了战场

这一节把一场真实的争执摆出来。双方的原话我都留着,判断我也给,但你会看到我凭什么这么判。

榜单方(Arena)的立场:偏好是唯一能覆盖开放任务的信号

Arena(原 Chatbot Arena,LMSYS 团队)的方法在论文里写得很清楚:配对比较 + 众包投票 + 统计模型排名,并专门验证了两件事——众包的问题足够多样且有区分度;众包投票与专家评分的一致性良好。它的规模也确实惊人:官方 2026 年 6 月公布,平台已有 7 亿次以上对话、8,200 万张以上选票。

它还在持续补短板。2026 年的官方公告里能看到一串动作:7 月上线事实性榜单(同一个模型既排"人更喜欢谁",也排"回答的事实准确度");7 月底引入 AutoEval(在人类投票攒够之前,先用自动评分给出一个校准过的临时分);8 月给智能体榜单加了分类和"完成这个任务要花多少钱",官方给的理由原话是:"只看性能的单一智能体榜单已经不够了——决定用哪个模型的是两个问题:这类任务哪个最好,以及干完这件事要花多少钱。"

研究方的立场:这套机制让大厂能挑出最好看的那次

2025 年的一篇论文《排行榜幻象》(The Leaderboard Illusion)对这些机制提出了系统质疑,它的发现包括:

这里说的"过拟合"值得单独解释一下:它指一个系统在某个特定环境里被反复调整,以至于只对这个环境有效、换个环境就不灵——就像学生把某套模拟题的答案背熟了,模拟考分数很高,但没学会解题。

这个质疑不是孤例。斯坦福《2026 AI 指数报告》在"评测的可靠性与被操纵的担忧"一条里,也把这类研究并列写了进去:"另有研究表明,Arena 榜上的位置可能部分反映的是'对平台的适应',而不是通用能力。"这句话出自一份以中立著称的行业报告,所以它至少说明:质疑不是圈内人的酸话。

两边在争什么、不争什么

问题榜单方(Arena)研究方(Leaderboard Illusion)我的判断(附依据)
"人类偏好"值得测吗? 值得。开放任务没有标准答案,人的选择是唯一可规模化的信号。 不反对。论文明确肯定了平台的价值,只质疑机制的公平性。 值得。但要把它当"观感"而不是"正确性"(07)。
厂商能私下测试吗? 这是行业惯例,且平台已在更新规则(例如新增的自动评分与事实性维度)。 能私下试多个变体、还能撤回分数,本身就是选择性发布,会系统性抬高某些厂商。 研究方这条说得对。因为它不依赖任何内幕——只要"试多个、公布最好的"成立,分数就带着选择偏差。
分数反映能力还是适应? 两者都有,但规模化的真实偏好是能力的一种外显。 数据获取与抽样政策的不对等,足以让"适应"盖过"能力"。 我无法判定比例。所以实践上:把 Elo 用于排序方向,不用于定量结论。
🎯 从这场争执里能直接抄走的三条用法

① 看一个榜单,先看它有没有公开"谁能提交、能不能撤回、抽多少数据"——不公开这三样,名次就只能当传闻(这正是 06 失真四的操作含义)。
② 优先看那些补了短板的榜单:加了事实性、加了"任务成本"、加了分类的榜单,比只给一个总分的榜单更接近你的决策。
③ 记住两边的共同点:没有人说"榜单没用"。争的是"能用到什么程度"。这也正是本文的立场。

10选模型时,这些分数到底能帮你做什么

直接回答那个问题:分数在你选模型时,是一个高效的"粗筛器",但它从来不是"裁判"。下面把它能做与不能做的分开列清,再给一条能照着走的路。

分数能帮你做的三件事

① 粗筛:把几十个缩到三个

你不需要读完全部榜单。用与你任务相关的分项分划一条线,把候选压到三个以内——这一步省下的是你最贵的东西:时间。

② 定预算:把"分数差"换成"钱差"

榜单给了同分段的选项之后,去查它们的单价与速度(下面给了查法)。很多时候你会发现在乎的那点分数差,代价是十几倍成本(08)。

③ 查短板:看分项的形状,不看总分

"编程 90、长文本 62"比"综合 78"有用得多——前者直接告诉你它在哪会翻车,后者什么也没说。

分数不能帮你做的三件事

做不到的事为什么该用什么替代
替你决定 你的任务大概率不在任何考卷里——世界上没有"帮我审这份合同里对我方不利的条款"这份考卷。 你自己的 20 道题(11)。这是唯一能回答"对我行不行"的证据。
保证稳定 同分模型可以表现完全不同:一个可能稳定 75%,另一个可能一半题做到 100%、一半题直接放弃,平均值一样。 看方差与失败模式(方差:同一个模型在不同题目上表现的波动有多大——波动大的模型可以"平均下来一样,但一半题很好一半题直接放弃"):如果原始数据公开(很多编程榜单公开),看"都错"的题有多少(08 里是 91~101 道)。
预测未来 模型在更新、题库在更新、脚手架在更新——三样都在变(05)。 把你的小考场存成文件,每次换模型/换版本重跑一遍。这是唯一能跟上变化的方式。

照着走的四步流程

1
写下你任务的两个具体例子 + 你的验收标准(约 15 分钟)

不是"我要写代码",而是"把这份 Excel 的地址列拆成省/市/区三列,允许人工核对,错误率要低于 2%"。验收标准必须能判对错,否则第 4 步没法进行。

2
按"任务形状"找分项分,不找总分(约 20 分钟)

用下面那张场景表定位。关键是把你的任务映射成"判卷方式":能判对错 → 看精确匹配/自动测试类考卷;不能判对错 → 看偏好类,并接受它带偏见。

3
把候选压到三个以内,然后查钱和速度(约 15 分钟)

用下面那段命令现场查输入输出单价、上下文长度(上下文长度:一次能放进去多少文字)。注意:自己查永远比记数字可靠——这些数字每个月都在动。

4
用你自己的 20 道题做最终决定(半天到一天)

方法、脚本与判分标准见 11。这一天的投入,会替你省下以后每个月"选错了"的返工。

场景索引:你的活 → 该看哪个分项

你要做的事优先看这类考卷还要额外查什么
改现有代码库的 bug/加功能SWE-bench Verified、Terminal-Bench 这类自动测试判分的考卷脚手架是否与你将使用的工具同类;平均每题成本(08 的算法)
写独立的小函数/算法题LiveCodeBench 这类抗污染的竞赛编程考卷它的题偏算法,未必反映工程能力——别用它预测项目交付
从文档里抽取结构化字段长文本类分项(AA-LCR 这类长文本推理考卷)+ 精确匹配类上下文长度(一次能放多少文字)与"长文档里找答案"的实测
写作、改写、客服话术人类偏好类(Arena 及各类分类榜)+ 事实性榜把"事实性"和"偏好"两个榜一起看——它们会打架,打架的地方正是你要自己测的地方
中文/多语言任务多语言分项(如 Global-MMLU-Lite 这类跨语言评测)别用英文总榜代替:多数综合指数自己声明"以英文文本为主"
做研究、答专业硬问题GPQA Diamond(198 题,专家 65% 参照)、HLE(2,500 题)这两份考卷都极难且分数更新快,适合看"天花板"而不是选型
要"不编造、能承认不知道"把答对率与编造率分开报的榜单(如把幻觉率单独计分的那类)编造率必须单独看:一个模型可能答对率更高、同时编造也更多

现场查价格与上下文长度(别记数字,现场查)

模型价格几乎每月都变,所以正确做法是查而不是背。下面这段命令会从一个公开的模型目录接口拉回实时价格:

curl -sL https://openrouter.ai/api/v1/models -o models.json
python3 - <<'PY'
import json
d = json.load(open("models.json"))["data"]
want = {"anthropic/claude-opus-5", "google/gemini-3.5-flash", "deepseek/deepseek-v4-flash-0731"}
for m in d:
    if m["id"] in want:
        p = m["pricing"]
        print(f'{m["name"]:40} 输入 ${float(p["prompt"])*1e6:6.3f} / 输出 ${float(p["completion"])*1e6:6.3f} 每 100 万 token  上下文 {m["context_length"]:,}')
PY

我在 2026-09-13 跑出来的结果(带日期看,它一定会变):

DeepSeek: DeepSeek V4 Flash 0731         输入 $ 0.040 / 输出 $ 0.080 每 100 万 token  上下文 1,310,720
Claude Opus 5                            输入 $ 5.000 / 输出 $25.000 每 100 万 token  上下文 1,000,000
Google: Gemini 3.5 Flash                 输入 $ 1.500 / 输出 $ 9.000 每 100 万 token  上下文 1,048,576

token(读作"托肯")是模型处理文字的最小单位,也是计费单位——一段中文大约 1 个字 0.6~1 个 token,具体取决于模型的切分方式。所以"输入 $0.04 / 每 100 万 token"的意思就是:你喂给它 100 万个 token 的文字,付费约 0.04 美元。上表里最贵的输入价格是最便宜的 125 倍——而这个差距,任何"分数榜"都不会替你算进去。

⚠️ 三个最常见的误用

① 按总榜第一选:那是别人的权重,不是你的任务。
② 按小数点后一位选:500 题的考卷上这是噪声(03、08)。
③ 按新闻标题选:标题里的"超越"通常是单一考卷 + 厂商自选口径,且缺少日期与脚手架信息(05)。

11自己搭一个 20 题的小考场

到此为止,你已经知道别人的分数能信到什么程度。最后一件事是:给自己建一份考卷。这是本文唯一"你要动手做"的部分,也是收益最大的部分——因为它一次性解决全部六种失真。

为什么非做不可

因为你关心的事情几乎一定是长尾(不常见、但对你有决定性影响的任务)。公开考卷为了对所有人都有用,只能考"大家都在做的事";而你的事,只有你知道验收标准是什么。

20 道题怎么挑

怎么挑具体做法为什么要这样
从真实工作里挑把你最近两周真的处理过的 20 个任务写下来,抽掉敏感信息后当题目。分布对得上,比任何公开考卷都贴近你。
有意混入边界情况20 题里至少留 4~5 道"故意刁难"的:格式不规范的输入、空值、互相矛盾的指令、你上次被坑过的那类。真实任务失败都在边界上,不在主流程上。
每题预先写下标准答案的关键片段答案不是"看起来不错",而是 1280、We are not working today 这种能自动比对的片段。能自动判分,才能重复跑、才敢相信结论。
不要挑你也不会的题你自己都要查半天的题,判分就没有标准。考试要先有标准答案。

题库长这样(三列 CSV)

CSV 就是"用逗号分隔的纯文本表格",任何表格软件(Excel、Numbers)都能直接打开;你也可以直接用文本编辑器写。

case.csv —— 三列:编号,题目,标准答案里的关键片段
id,prompt,expected
case-01,"把这句话翻译成英文:我们今天不上班。","We are not working today"
case-02,"从这段文字里抽出金额:发票合计 1,280 元","1280"

脚本(已实测可跑;换个模型改一个参数就行)

#!/usr/bin/env python3 —— 存成 mini_eval.py
"""自己的小考场:把 case.csv 逐条跑一遍,输出分数与 95% 误差范围。
用法:LLM_API_KEY=xxx python3 mini_eval.py --model deepseek-chat
"""
import argparse, csv, json, math, os, re, urllib.request


def ask(base, key, model, prompt):
    body = json.dumps({
        "model": model,
        "messages": [{"role": "user", "content": prompt}],
        "temperature": 0,        # 温度 0 = 尽量少随机,便于复现
    }).encode()
    req = urllib.request.Request(
        base.rstrip("/") + "/chat/completions",
        data=body,
        headers={"Content-Type": "application/json", "Authorization": "Bearer " + key},
    )
    with urllib.request.urlopen(req, timeout=180) as r:
        return json.load(r)["choices"][0]["message"]["content"]


def grade(text, expected):
    # 去掉空格与标点再比对:避免"格式不同"被误判成答错
    norm = lambda s: re.sub(r"[\s,.,。、::;;\"'()()]+", "", s).lower()
    return norm(expected) in norm(text)


def main():
    ap = argparse.ArgumentParser()
    ap.add_argument("--csv", default="case.csv")
    ap.add_argument("--model", required=True)
    ap.add_argument("--base", default="https://api.deepseek.com/v1")   # 任何兼容接口都能换
    ap.add_argument("--key-env", default="LLM_API_KEY")
    a = ap.parse_args()
    key = os.environ[a.key_env]
    rows = list(csv.DictReader(open(a.csv, encoding="utf-8")))
    ok = 0
    for i, row in enumerate(rows, 1):
        got = ask(a.base, key, a.model, row["prompt"])
        good = grade(got, row["expected"])
        ok += good
        print(f"{i:3} {'OK ' if good else 'MISS'} {row['id']}  ->  {got[:70]!r}")
    n = len(rows)
    p = ok / n
    hw = 1.96 * math.sqrt(p * (1 - p) / n)
    print(f"\n{a.model}: {ok}/{n} = {p * 100:.1f}%  95% 区间 [{max(0, p - hw) * 100:.1f}, {min(1, p + hw) * 100:.1f}]")


if __name__ == "__main__":
    main()

跑起来:

export LLM_API_KEY="你的密钥"   # 密钥 = 你在服务商后台生成的那串字符,不要写进代码里提交
python3 mini_eval.py --model deepseek-chat
# 换一个模型再跑一遍,两次的分数才有比较意义
python3 mini_eval.py --model gemini-3.5-flash --base https://你的服务商/v1

分数出来了,怎么读

你跑出来的结果能得出的结论不能得出的结论
20 题里 A 对 17 道、B 对 12 道(95% 区间分别约 ±14 与 ±19 个百分点)差距大到 5 道题,方向可信——A 更可能适合你。不能说"A 有 85% 的成功率"——20 题的误差范围接近 ±15 个百分点,样本太小。
20 题里 A 对 15、B 对 14什么结论都没有。不能挑 A——这个差距在 20 题上完全是噪声(03 的表)。
A 全对,但错误高度集中在"格式不规范"那 3 道真正有用的结论:给 A 加一段格式约束可能就够了。不能说"A 更好"——要看你的输入到底有多不规范。

三种判分方式,按可靠程度选

1
能用精确匹配,就用精确匹配

抽取、翻译、分类、算数这类任务都能写出"标准答案的关键片段"。最可靠、最便宜、可重复。先试这条路,试不通再往下。

2
代码类任务,用自动测试

给你自己的代码写几条自动检查(哪怕只有三条),跑通过才算对。这就是 SWE-bench 的做法,也是唯一能证明"它真的改对了"的方式。

3
开放题只能人工或裁判,但要防三种偏见

做法:把评分标准写成 3~5 条可判定的要求;把两个模型的答案顺序随机打乱(防位置偏见);限制字数上限(防啰嗦偏见);并且至少人工盲评 10 条校准一次(防裁判系统性偏心)。

🎯 把这件事变成资产

把 case.csv 存进项目目录,随任务积累慢慢加题。以后每次有新模型发布,你只需要跑一条命令——你自己的榜单就更新了,而且它测的正好是你关心的东西。这份文件的价值会随你的使用一直涨,比任何一个公开榜单都更贴合你。

12常见问题

为什么新闻里年年都有"某某模型超越 GPT-4"?
因为"超越"这个说法几乎不需要任何前提就能成立:换一份考卷、选一个子项、用自己的脚手架、挑一次最好的运行,四个动作里任何一个都可能造出一句标题。真实情况要同时满足"同一份考卷、同一套脚手架、同一天、同一次数"才有可比性(05)。所以看到这类标题,正确动作不是"信"或"不信",而是去找它的口径。
厂商自己发布的分,我该信吗?
把它当"厂商的自我陈述":信它承认的弱项,别信它宣传的强项。一份负责任的发布材料通常会给出考卷名称、题量、脚手架与日期,并放出可核对的原始记录;如果只有一句话和一张柱状图,那就是宣传材料,不是评测结果。所以有用的动作是去第三方榜单上找同名考卷的对照数——两边对得上,可信度立刻提高。
榜单第一就一定好过第二吗?
不一定,分三种情况。① 题量少(几百题):前几名常常在误差范围内(03)。② 加权分:名次是权重的产物,换权重就换名次(05)。③ 偏好类榜单:第一名是"更讨人喜欢",不等于"更准确"(07)。真正该问的是:它在我这个分项上排第几、要花多少钱。
Arena 的分数是不是被刷出来的?
有一套有分量的研究说"部分名次反映的是对平台的适应,而不是通用能力"(含私有测试、选择性公布、数据获取不对等),斯坦福 2026 报告也把这套研究作为"评测被操纵的担忧"引用了。同时,Arena 官方公布的是 8,200 万张真实选票的规模,并且 2026 年陆续补上了事实性榜、自动评分与"任务成本"维度。我的建议是:把它当"人类偏好方向"用,不当"能力定量结论"用;两边的完整立场见 09。
同一个模型,为什么在两个榜上差这么多?
先按五项口径逐个对:权重、抽题子集、脚手架与工具、三个日期、样本量(05)。九成以上的"矛盾"对完这五项就消失了。剩下的那一成,才需要怀疑数据本身。
分数能预测半年后吗?
不能。两个原因:考卷会被打满(前沿模型一年内在 HLE 上提高 30 个百分点,本打算用几年的评测几个月就饱和),以及模型本身在变(同一个模型名,两次提交差 2.4 个百分点)。所以分数是"一次性快照",必须带日期使用。
分数高的模型是不是更"聪明"?
"聪明"不是一个一维的东西。同一个模型可以拿数学奥赛金牌,同时在"认指针时钟"上只有 50.6%(人类 90.1%),可以把电脑操作任务做到接近人类(66.3%,距人类 6 个百分点以内),同时在真实家务任务上只成功 12%(斯坦福 2026 报告里的三组数字)。这就是锯齿状智能:高分的那些齿,不一定长在你需要的地方。
有没有一个"照着选就对了"的权威榜单?
没有。原因不是榜单都不行,而是选模型不是一个排名问题,是一个匹配问题:你的任务分布、成本上限、延迟要求、合规要求(数据能不能出境、能不能留存)都不一样。最接近"权威"的东西是你自己积攒的那份 case.csv(11)——它由你的真实任务构成,不会被污染、不会偏袒任何厂商。

13术语表

这张表只收本文反复出现、且你以后看榜单公告时一定会再遇到的词。第三列是"怎么用",不是翻译。

术语用日常语言说就是为什么重要 / 什么时候用 · 别当什么用
基准测试(benchmark)一份固定的考卷,外加一套固定的判分规则。它是"分数的分母"。别把它当能力清单——它只覆盖它考到的那点东西。
准确率(accuracy)答对题数 ÷ 总题数。读它之前先问两件事:瞎猜能得几分(四选一 25%、十选一 10%)和人类专家几分。没有这两个参照,数字没有意义。
pass@1只给一次机会,答对就算对。编程与智能体考卷的常用口径,最接近真实使用。别把它和"试 10 次有一次成功"的分混着比——后者会高得多。
脚手架(scaffold / agent harness)包在模型外面、替它动手的那套程序:循环、工具、文件读写、命令执行。现代编程类分数大部分由它贡献。看到编程分数必须问"配的哪套脚手架、什么版本"。
提示词(prompt)你喂给模型的那段输入文字。同一模型换问法分数就变(原版 MMLU 上波动 4%~5%)。所以分数里含着"怎么问"的成分。
few-shot / zero-shot答题前先给几个示范例子 / 一个都不给。给例子通常会让分数变高。看到分数先确认是哪种——两者不可直接比较。
思维链(Chain of Thought)让模型先把推理过程写出来,再给最终答案。在推理型考卷上普遍提分。所以"允许写过程"与"只给答案"是两种口径。
数据污染考题提前进了模型的训练资料,于是它"背过"。这是高分最常见的水分来源。判断法:看这份考卷是否按时间切题(只考模型训练之后才出现的题)。
饱和(saturation)所有人都考到接近满分,考卷失去区分度。它是"为什么每年都换新考卷"的原因。看到某个榜单上头部挤成一团,就该换一份看。
置信区间 / 误差范围分数的不确定范围,通常写"±多少"。比较两个分数前必看:区间重叠时,名次差异不构成证据(03 给了公式与算例)。
Elo / Bradley-Terry从两两胜负推出来的相对强度分,和棋类等级分同一个思路。它答"人更喜欢谁",不答"谁更准"。而且它是相对的:榜单成员一变,同一个分数的含义就变。
LLM 裁判用另一个模型给答案打分。开放题几乎只能这么做,但必须知道它有位置、啰嗦、自我增强三种偏见;用之前问它有没有做顺序随机化与人类校准。
token模型处理文字的最小单位,也是计费单位。它是"成本的计价器"。中文大约 1 个字 0.6~1 个 token,取决于模型怎么切分。
上下文长度模型一次能"看见"多少文字。做长文档任务时的硬门槛:超过这个长度的内容它根本看不见,分数再高也没用。
长尾任务不常见、但对你有决定性影响的任务。公开考卷天然测不到它。这是你必须自己建小考场的根本原因(11)。
加权平均先把各项乘上不同比重再相加。"综合分"的本质。看到综合分先找权重表——找不到,这个数就不可解释。

99一句话总结

🎯 核心要点

大模型的分数不是能力证书,而是一份考卷的成绩单——它是"在固定题集、固定判卷规则、固定脚手架下的平均分",所以它必然带着三样东西:考卷的偏向(它测什么)、测量的误差(几百道题的榜上 1~3 分常常是噪声)、以及跑分者的口径(权重、抽题、日期、是谁跑的)。它会被六种机制带偏:数据污染、错题、裁判偏见、刷榜、饱和、运行残留。

但这不意味着它没用。它的正确用法只有一句:把它当筛子,不当裁判——用分项分把几十个模型筛到三个,用单价与延迟决定性价比,最后用你自己那 20 道题做唯一有裁决权的判断。读完这一篇,你应该能在看到任何"某某模型得分 XX"时,条件反射地补上四个问题:考的什么、多少题、什么口径、什么时候跑的。

98参考来源与证据边界

本文所有事实性陈述都能追到下面这些来源。我把"哪句来自哪里"写出来,方便你核对,也方便你知道我没读什么。

考卷本身的原始论文(一手)

行业报告与官方页面

本文自己算的部分

证据边界与时效

⌂