跳到主要内容

评估困局:当你的 LLM 评测器比被评分的模型更聪明时

· 阅读需 11 分钟
Tian Pan
Software Engineer

一个回归告警在周一早晨响了。你的留出评估集的忠实度(Faithfulness)在周末从 0.86 掉到了 0.78。没人发布新模型,没人动过提示词,也没人改过检索索引。值班工程师花了三个小时排查才发现,唯一改变的是裁判模型——自动评估器静默滚动到了一个更新的快照,它捕捉到了旧版本放过的细微委婉语。同样的答案,同样的模型,更低的分数。真实的数字,虚假的回归。

这就是评估困境:随着你的 LLM-as-judge(以 LLM 作为裁判)变得更敏锐,你在固定系统上的得分会下滑,而那个本应检测回归的仪表盘开始制造回归。没注意到这一点的团队会花上几个季度去追逐完全存在于“尺子”里的“质量偏移”。

这个陷阱是结构性的。裁判是一个仪器,而仪器会发生漂移。不同之处在于,温度计是向噪声漂移,而裁判是向“正确性”漂移。这更难调试,因为它们的新读数可以说更好。你上一季度评为 4 分的输出,确实可能存在旧裁判漏掉的脆弱推理步骤。新裁判看到了。两种判断都有据可查,分数的变化是真实的。但“系统变差了”并不是事实,将其视为回归会让团队去追逐幻影。

为什么分数下降感觉像质量回归

标准的评估心理模型借用自监督学习:你有固定的标注数据集,计算一个指标,只有当被测模型改变时指标才会变。任何分数变化都是信号。

这种模型在你的“标签”来自另一个 LLM 的瞬间就失效了。你的评估流水线现在有两个可以独立改变的系统,而指标反映的是两者的交互。当裁判改进时,顶部的分数会被压缩,误报率下降,之前慷慨的评分会收紧。仔细衡量过这一点的从业者报告说,在相同的输入和输出上更换更强的裁判,可以使总分偏移 5 到 15 分,而被测系统一行代码都没改。

两个特定的模式会反复出现:

  • 委婉语惩罚 (The hedging penalty)。旧裁判倾向于在基本主张正确的情况下,将“这通常是正确的”之类的措辞评为正确。新裁判会解析这些委婉语,注意到它们是关键支撑,并因为其在任一方向上毫无根据的确定性而降低评分。
  • 推理嗅探测试 (The reasoning sniff test)。弱裁判只要结论正确就接受答案。强裁判会阅读思维链(CoT),并注意到模型是通过错误的中间步骤得到了正确答案。同样的最终输出,不同的裁决。

这两种转变都不意味着你的模型变差了。它们意味着你的尺子现在能分辨出旧尺子无法分辨的细节。如果你让一位刚从助教晋升为教授的老师去批改作业,你会预料到同样的作文分数会变低。你不会得出结论说学生们在暑假期间变笨了。

年度趋势是一种测量伪影

当团队将这些分数用于趋势分析时,损害会加剧。一个常见的伪影是:季度高管审查显示,在相同的产品范围内,忠实度从第一季度的 0.91 下降到第四季度的 0.83。领导层将其理解为投资停滞。工程团队削减新功能范围来“修复质量”。而实际原因竟然是这一年里进行了三次裁判升级,每一次都比上一次严格几分。

这不是一个假设的模式。最近关于 LLM-as-judge 校准的研究表明,当裁判改变、随时间或提示词组合偏移,或者当裁判相对于人类校准不良时产生具有误导性的紧凑置信区间时,原始分数和胜率可能会颠倒排名。这种交互非常复杂,以至于一个真正变好的模型可能会显示出更差的分数,因为裁判的进步速度超过了模型。

版本控制的情况让事情变得更糟。大多数裁判配置在代码中看起来像这样:

JUDGE_MODEL = "claude-sonnet-latest"

那个 latest 别名就是 Bug。每当提供商发布新快照时,它就会静默滚动。团队提交的代码说“使用最好的裁判”,这听起来很负责任,但意味着评估流水线在设计上就是非平稳的。跨越该边界的分数变化是不具备可比性的。

大多数团队略过的规范

三个实践可以将产生可靠质量数据的团队与产生数字噪音的团队区分开来。

锁定裁判,将其视为依赖。 每次评估运行都要记录所使用的确切裁判模型快照(是 claude-sonnet-4-5-20251022 而不是 claude-sonnet-latest)、评分细则版本和提示词模板哈希。没有这三元组,分数毫无意义。当你升级其中任何一个时,你不能将新分数与旧分数对比——你得到的是一个新的基准。

在过渡期间并行运行新旧裁判。 当有更强的裁判可用时,不要原子式切换。让两者并行运行一段时间(通常是 1 到 2 周的生产流量),并捕捉每个输出的两个分数。这会给你一个校准偏差(calibration delta):“新裁判在相同输出上的平均得分比旧裁判低 7 分,差距集中在委婉语评分细则类别中。”这个偏差就成了一个换算表。如果你现在的被测模型在新裁判下得分为 0.83,在旧裁判下为 0.90,而校准偏差是 7 分,你就可以将分数下降完全归因于裁判升级,而不是系统本身。

维护一个少量的人工评分校准锚点集。 几百个例子,每季度用新鲜的人工评分刷新,是判断你的系统是真的变差了还是裁判变敏锐了的唯一真理。这里的经济账很划算:研究表明,仅需几百个样本的详尽标注,每季度刷新一次,就能实质性地提高对自动裁判的信任,并在偏移传播到产品决策之前发现它。大多数团队的目标是裁判与人工锚点集之间达到 85–90% 的一致性。

一个具体的归因方案

当评分发生波动,而你需要判断是模型性能退化了、评测器变了,还是两者兼而有之,请执行以下归因流程:

  1. 锁定评测器。 针对之前冻结的评测器快照(而非当前版本)重新运行评测。保持数据集、被测模型和评分标准(rubric)完全一致。
  2. 对比历史数据。 如果在锁定的评测器上得分与上季度相比没有变化,那么模型就没有退化 —— 评测器的升级解释了所有的分值变动。
  3. 对比人工评估。 如果在锁定的评测器上得分确实下降了,请提取人工锚点集(human-anchor set)并对相同的模型输出进行评分。如果人工一致性也下降了,说明模型确实退化了。如果人工评分保持稳定,说明你的评测器在它自己的固定快照上发生了漂移 —— 这通常是因为你忽略了上游的变化(例如新的系统提示词模板、新的上下文检索逻辑或新的工具描述泄露到了提示词中)。
  4. 分解评分标准。 综合评分会掩盖一切。将评分拆解到具体的维度(忠实度、帮助性、拒绝校准、格式规范性),观察哪一个维度发生了变动。评测器升级几乎总是会导致特定维度的不均衡偏移,而真实的模型退化往往会扩散到所有维度。

这样做比只针对一个数据集运行一个评测器成本更高。但在它第一次阻止团队去重写一个本来运行良好的系统时,这些投入就回本了。

为什么在看到成效前,成本显得不成比例

大多数团队提出的异议是,这种做法会让评测成本翻倍:并行运行评测器的费用是单次评测的两倍,而且维护人工锚点集也需要真金白银。当你把集成评分(ensemble scoring)叠加在“固定版 vs. 当前版”的对比上时,多评测器方案的成本可能会达到单评测器方案的两到三倍。

但如果考虑到另一种选择,这笔账其实很划算。另一种选择是:团队每季度花一周时间去调查一次虚假的退化;在领导层审查中,一个项目因为并不存在的“质量漂移”而被责难;或者最糟糕的情况 —— 进行模型回退,用旧模型替换新模型,仅仅是因为旧评测器碰巧对旧模型的评分更宽容。其中任何一项的成本都超过了重复的推理费用。评测规范并不昂贵;缺乏这种规范才昂贵。

更深层的一点是,评测得分并不是对模型质量的直接测量。它们测量的是两个系统(被测模型和评测器)相对于一套评分标准的一致性。当你把它们视为直接的质量测量时,任何一个系统的改变都会污染指标。固定版本、并行运行和人工锚点这些规范并不是官僚主义,而是从混杂了两个变量的测量中提取质量信号所需的最小化装置。

当尺子发生变动时,停止调试模型

这里最昂贵的失败模式不是得到错误的评分,而是错误的归因。如果一个团队将评测器漂移误读为模型退化,他们就会开始处理那些与问题无关的线索 —— 重新调整提示词、撤销检索逻辑的更改、降级模型版本、冻结功能开发。等到有人注意到是尺子变了的时候,数周的工程时间已经花在了修复一个并没有损坏的系统上。

这两种失败模式之间的不对称性,使得这种规范仅凭期望值就值得投入。如果你在校准上过度投资,而模型从未退化,你每个季度只是多花了数百美元在重复推理和人工评分上。但如果你投资不足导致评测器发生漂移,你就会花费一个季度的工程时间去追逐幻影,并可能以“稳定性”的名义发布一个更糟糕的模型。过度投资的代价是一个预算细项,而投资不足的代价是基于噪音做出发布决策。

在你的团队中需要明确这样一个认知:评测器是一个带有序列号、校准证书和维护周期的仪器。锁定它。与人工对比。在升级时并行运行新旧版本。当评分变动时,在询问系统是否变化之前,先问问是哪个仪器发生了变动。做到这一点的团队知道他们的模型是否变差了;做不到的团队则在为仅存在于仪表盘上的退化争论不休。

References:Let's stay in touch and Follow me for more thoughts and updates