![]()
你有没有遇到过这样的场景:两篇论文都说自己的模型在某个基准测试上"取得了最优结果",可你翻看细节才发现,它们用的评分方式、数据切分、甚至判断胜负的标准完全不是一回事。
这不是个例。武汉大学的研究者秦曦对着一个叫 Inspect Evals 的评测代码仓库做了一次地毯式排查,这个仓库收录了各种 AI 智能体和大模型的评测任务,结果发现:124 个可以拿来分析的评测单元里,110 个根本没法验证它们声称的结论。
不是运行失败,不是分数是零,而是压根没法回答"这个结论换个合理的评判方式还成立吗"这个问题。
这篇论文的标题很直白:评测到底能证明什么。答案可能会让人有点意外。
**问题出在哪:评测跑通了,不等于结论站得住**
先说清楚一件事,评测代码跑起来、给出一个分数,和这个分数背后的结论可以被验证,是两码事。
举个例子。一个智能体在某个任务上得了 85 分。这 85 分是怎么算出来的?是不是所有样本都参与了计算,还是有一部分因为格式错误被悄悄跳过了?打分的裁判是哪个模型,当时是什么版本?如果换一种同样合理的评分口径,这 85 分会不会变成 70 分?
评测工件*:论文里对"评测代码 + 打分器 + 输出的分数"这一整套产物的统称,强调它只是一个正向计算流程,不天然携带验证信息。
如果这些问题都没有答案,那这 85 分其实是一个孤证。它只是"这一次这样跑,跑出了这个数",却没法回答"这个结论能不能被重新推导出来"。
论文把这个缺失的环节叫做"申领重放",英文是 claim replay。你可以理解成,一份评测结果想要真正站得住,得像一份可以被反复验证的科学论断,而不是一次性的表演。
打个比方。你去饭店点了一道菜,老板说这道菜"用了秘制配方,绝对正宗"。可你要是问他,这道菜用了什么食材、比例是多少、换个厨子做出来味道还一样吗,他答不上来。那这道菜好不好吃是真的,但"正宗"这个说法就没法验证。如果不去问这些细节,你可能一直以为这道菜真的独一无二,直到有一天吃到别家一模一样的做法,才发现所谓"秘方"根本经不起追问。
评测领域正在发生类似的事情。一个模型在榜单上排第一,这个"第一"是真的跑出来的,但它是不是经得起换个评判角度重新检验,往往没人问。
**三个变量:数据、家族、问题**
论文提出了一个三元组,用来把"能不能验证"这件事变成可以机械检查的东西。
这三个变量分别是:冻结的历史证据 D,一组"合理的评判方式"的集合 F,以及要问的具体问题 q。
冻结证据*:指的是某次评测当时留下的全部原始材料,包括模型的输出、评分依据、系统状态等,一旦固定就不能再改动,任何后续分析都基于这份"证据链"。
举个具体场景。假设你要评估三个 AI 模型在某个防御攻击任务上谁更强,D 就是这三个模型当时被攻击时的全部记录:哪次攻击成功了、哪次没成功、每一步的中间状态。F 是所有"合理的打分方式",比如按发布的官方口径算一次,按全部跑过的样本重新算一次,按某个更严格的子集再算一次,这些算法可能得出不同的分数,但都算"讲得通"的解读。q 就是你真正关心的问题,比如"谁是赢家",或者"这三个模型的完整排名是什么"。
论文里进一步把 F 拆成两层,一层叫"主家族",是经过审核确认放心用的评判方式;另一层叫"审查信封",是那些有争议、暂时不能算数、但也不排除以后能用的候选方式。这两层的关系是包含的,主家族一定在审查信封里面,但审查信封比主家族更大。
这个区分为什么重要?因为如果只用主家族算出来的结论是稳的,一旦把有争议的候选方式也加进来,结论可能就变了。论文用一句公式表达这件事:候选范围越大,结论的不确定性只会增加不会减少。这话听起来是废话,但现实中很多论文默默地把有争议的读法混进主流结论里,读者根本看不出来。
这里论文给出了一个特别好的例子,叫 AgentDojo,是一个测试 AI 智能体抵御攻击能力的评测集。
研究者找到了五种"合理的读法"来计算同一批攻击结果的成功率,这五种读法在"哪些样本该被算进分母""怎么聚合不同任务的结果"这些细节上有分歧。其中两种读法属于官方认可的主流做法,另外三种属于审查信封里有争议的做法。
结果发现,在两种主流读法下,Claude 3.5 Sonnet 稳赢,而且三个模型的完整排名是唯一确定的。但如果把审查信封里那三种有争议的读法也放进来一起看,Claude 依然是赢家,可排名靠后的两个模型 Gemini 2.0 和 GPT-4o-mini 谁高谁低,答案就不确定了,有的读法说 Gemini 更差,有的读法反过来。
这就是论文想说明的核心现象:一个评测结果可以同时支持一个确定的赢家、一个确定的主流排名,以及一个在更宽范围下不确定的排名。三种结论共存,不矛盾。
**124 个评测单元,110 个卡在半路**
理论讲完了,论文的重头戏是拿真实数据说话。
研究者在 Inspect Evals 仓库的一个固定代码版本上,机械化地筛选出 124 个符合条件的评测单元。这个筛选过程完全按预先定好的规则来,不参考任何评测结果,保证公平。
结果是,只有 14 个单元真正走到了可以做"申领重放"分析的地步,剩下 110 个,全部在半路就被拦下来了,论文管这个叫"停止",英文是 STOP。
STOP*:论文对"某个评测单元因为缺少必要材料,无法继续做claim-replay分析"这种终止状态的专门称呼,它不是评测失败,也不是零分,而是一个"目前缺什么东西"的诊断结果。
这 110 个停止里,原因分布很集中。有 47 个卡在"证据绑定失败",就是没法把评测源代码和当时具体跑出来的原始数据对应上。有 35 个卡在"缺乏可比较的观测数据",简单说就是当时几个系统的输出结果压根没有被完整保存下来,没法拿来横向比较。还有 9 个卡在"缺少裁判痕迹",这类评测依赖一个 AI 模型来给答案打分,但当时那个裁判模型具体给出了什么判断、用了什么提示词,都没留下来。剩下十几个涉及更细碎的问题,比如指标类型对不上、缺失值处理规则没声明等等。
这里有一个特别容易被误解的地方,得说清楚。这 110 个停止,不是说这些评测代码写得差,也不是说这些评测本身不可信。论文反复强调,Inspect 这个框架本身的日志能力是很强的,理论上可以记录下样本级别的完整历史。问题出在,当时具体那一次运行,该留的东西没有被完整地公开保存下来。
这就好比你去医院做体检,机器本身精度很高,能测出很详细的数据,但如果医生当时忘了把某几项检测结果写进病历,那不是机器的问题,是记录环节掉链子了。以后你想找人复核这份体检报告的某个结论,发现关键的原始读数没了,只剩下一个笼统的"正常"或"异常"。这时候你没法重新验证,但也不能说这台机器测不准,只能说这份记录不完整。如果不把这个环节单独拎出来讲清楚,读者很容易把"记录不全"误会成"评测方法有问题",两者其实完全是两回事。
论文还专门强调了一点:现在重新跑一遍评测,并不能弥补这个历史缺口。因为重新跑意味着换了一个新的模型版本、新的裁判、新的运行环境,这产生的是一份全新的证据,而不是把当年那份丢失的证据找回来了。就像案发现场的指纹,你没法用今天的指纹去替代当年没采集到的那份。
**当证据齐全时,会发生什么**
论文里还有一个不容易被一眼看穿,但特别关键的发现:就算证据齐全、能往下分析了,"结论是否稳定"这件事本身也是分层次的,不是简单的一刀切。
研究者挑了三个案例做深度分析,除了前面提到的 AgentDojo,还有 AutoML Benchmark 和 BEIR SciFact 检索评测。
在 AutoML Benchmark 这个案例里,研究者对比了五个自动化机器学习工具在多个任务上的表现,发现主流评判口径下赢家和完整排名都是唯一确定的,H2OAutoML 稳居第一。可如果把两种有争议的评判方式(比如按任务排名取平均、只看表现最差的那个任务)也纳入考虑,完整排名就变得不唯一了,虽然赢家还是没变。
具体到数字上,主流口径下十对系统之间的两两比较关系全部是稳定的,一旦扩大到审查信封,变成了九对稳定、一对不稳定,唯一松动的是排名中间的两个系统谁高谁低。
BEIR SciFact 这个案例更极端一点。这是一个信息检索评测,比较三种不同参数设置的 BM25 检索算法,用五种官方认可的指标(比如 NDCG、MAP、召回率等)去衡量。结果发现,不管用哪种主流的评判方式,赢家都是同一个,但完整排名从一开始就是不确定的,三对系统里只有两对关系是稳定的,另外一对在不同指标下会翻转。
这三个案例放在一起看,论文想传达的意思其实很朴素:一个评测结论可以在"谁赢了"这个粗粒度问题上非常稳,同时在"完整排名"这个细粒度问题上完全不稳。这两件事不冲突,也不该被简单地打包成一个"这个评测靠不靠谱"的是非判断。
如果论文只报告一个笼统的"排名会变"或者"排名不会变",读者拿到的信息量其实很低。真正有用的是分层次地说清楚:哪一层是稳的,哪一层不稳,不稳的具体是哪两个系统之间的关系。这就好比体检报告不会只写"你身体有问题",而是会具体到血糖、血压、肝功能分别怎么样,哪几项需要关注,哪几项完全正常。笼统的结论看似省事,实际上把真正有价值的细节全部抹平了。
**一个正交的对照实验:效应可以被"局部化"到一个规则**
论文附录里还藏着一个特别有意思的对照实验,虽然和 Inspect Evals 主体census没有直接关系,但很能说明这套框架的诊断能力。
研究者拿了另外两个智能体诊断数据集(AgentRx 和 TELBench),对比两种预测算法 PageRank 和 Earliest Anomaly 谁的表现更好。最初的一种统计口径显示,PageRank 比 Earliest 差了整整 43 个百分点,看起来是个很大的差距。
但研究者发现,这个巨大的差距,其实完全来自一个不对称的规则:当某个候选对象缺失时,原始统计方式只在其中一边的对比里把它删掉,另一边保留。换句话说,不是模型本身表现差了 43 分,而是计分规则本身对两边不公平。
研究者设计了两种"对称"的处理方式,一种是两边都保留缺失项,一种是两边都删除,结果这个 43 个百分点的差距瞬间归零。
这个例子特别值得琢磨。一个看起来巨大的性能差距,追查到底,居然完全是计分规则单边倾斜造成的假象。这就像两个人赛跑,裁判在其中一人快到终点时突然给他加了一段路,另一人却没有,最后说这人跑得慢,其实是赛道本身不公平。如果没有人去拆开这个规则细看,这 43 个百分点的差距会一直被当成模型能力的真实差距被引用下去。
这个附录实验虽然不在 Inspect Evals 的正式统计里,但它给整篇论文提供了一个非常扎实的旁证:很多看起来吓人的性能差异,值得回头去查一查,是不是计分规则本身出了问题。
**这套方法解决了什么根本矛盾**
回到最开始的问题,评测到底能证明什么。
论文给出的答案是一个可执行的契约。它要求,任何一个想要被认真对待的评测结论,都应该同时公开四样东西:当时的历史观测数据,允许的评分口径变体,一个类型明确的问题,以及最终得出的这些评分口径下的结论集合。
如果这四样东西凑不齐,系统应该诚实地给出一个"停止"标记,并且说明具体缺了什么、最少补上什么材料才能继续分析,而不是硬凑一个数字糊弄过去。
这套设计解决的根本矛盾是:评测行业长期以来把"跑出一个分数"和"这个分数经得起验证"混为一谈。前者是工程问题,后者是科学问题。论文想做的,是把两者拆开,让每一份评测结果都带着自己的"信用等级"出场,而不是所有分数看起来都一样可信。
如果不这么做,会发生什么?最直接的后果是,不同论文之间没法真正比较。你说你的模型赢了,我说我的模型赢了,可能我们俩用的评分口径压根不是一回事,读者却以为大家在讨论同一件事。长期来看,这会侵蚀整个领域对"评测结果"这四个字的信任。
写在后面
读这篇论文的过程中,最触动我的不是那个 110/124 的比例,而是论文反复强调的一句话:停止不是失败。
这句话听起来简单,但仔细想想,它其实在纠正一个很普遍的直觉。我们习惯把"跑不出结果"等同于"这个方法不行",可这篇论文告诉你,很多时候跑不出来的不是方法,是记录。方法可能完全没问题,只是当年该留的证据没留下来。这个区分乍看是文字游戏,实际上决定了你接下来该做什么:是去怀疑模型,还是去改进发布流程。这两件事的解决方案完全不一样。
另一个让我反复琢磨的细节,是那个 43 个百分点凭空消失的对照实验。它提醒我一件很朴素的事:任何一个巨大的、让人震惊的数字,背后都值得去问一句"这个数字是怎么算出来的,规则对两边公平吗"。这种习惯不只适用于评测论文,几乎适用于任何你看到的对比数据,不管是产品测评、政策效果统计,还是新闻里的百分比。
论文还留了一个没解决的问题,就是这套"申领重放"契约到底能不能真的减少未来的"停止"数量,论文自己也承认这是留给未来的验证性研究,现在还没人真正做过这个对照实验。这个问题我倒觉得挺值得追问下去:如果真的强制要求所有评测发布时都附带这四样材料,评测圈子的工作量会增加多少,又有多少团队愿意为了这份"可验证性"去多做这份额外的记录工作。
Q&A
Q1:Inspect Evals评测框架的124个评测单元里,为什么有110个无法得出确定结论?
A:不是评测代码运行失败,而是这些单元缺少必要的历史证据、裁判记录或语义标准,导致无法验证结论是否能在合理的评判方式变化下依然成立,论文称这种状态为"停止",并非零分或失败。
Q2:AgentDojo评测里赢家为什么在不同读法下都不变,排名却会变?
A:AgentDojo用五种合理读法计算攻击成功率,主流两种读法下Claude 3.5 Sonnet稳赢且完整排名唯一,但加入三种有争议读法后,赢家依然是Claude,排名靠后的两个系统的先后顺序却会翻转。
Q3:为什么重新跑一次评测不能弥补历史证据缺失的问题?
A:重新运行会产生新模型版本、新裁判、新环境下的全新数据,这是一个全新的证据集,而不是找回当年那次评测缺失的原始记录,所以论文里110个"停止"的单元不会因为重跑而被解决。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.