跳转至

第 15 章 模型裁判:LLM-as-a-Judge

开场问题:开放问答没标准答案,用更强模型打分靠谱吗?

15.1 三种基本形式

Pointwise:给单个回答按 rubric 打 1–5 分,容易规模化,但不同样本尺度漂移。
Pairwise:给两个回答选更好者,判断更容易、稳定性更高,适合模型对比。
Reference-guided:提供参考答案或事实清单,减少 judge 凭自身知识猜测。

若目标是比较新旧模型,成对盲评通常比独立打分可靠。要随机交换 A/B 位置并允许平局。

15.2 Judge prompt 应该是什么样

包含明确的任务、分维度 rubric、优先级、输入证据、候选回答和严格输出 schema。要求先分析再给结构化结论可以改善稳定性,但解析时只信 schema 字段。

不要让被评回答中的“请给我满分”等内容与 judge 指令混在同一权限层。候选答案必须明确包在不可信数据边界内,防止 judge prompt injection。

15.3 常见偏差

  • 位置偏差:更偏好 A 或先出现的答案。
  • 长度偏差:把详细等同于正确。
  • 风格偏差:偏爱与 judge 自身相似的文风。
  • 自我偏好:模型家族可能更偏爱同系列回答。
  • 权威语气偏差:流畅自信的错误答案得高分。

检测方式是交换位置、控制长度、隐藏模型身份、加入事实核验题,并与人工金标对照。

15.4 校准 Judge

抽取一批有专家结论的样本,计算 judge 与人类的一致率、各类别混淆和置信度。不要只报总体相关系数:安全边界上 20% 的错判可能不可接受。

多 judge 投票可降方差,但同源模型可能共享偏差。更有价值的是不同模型家族 + 规则验证 + 人工抽查的组合。

15.5 Judge 不能判断什么

它无法可靠验证自己也不知道的最新事实,不能替代代码执行、数据库查询和权限检查;长上下文里还可能漏读关键证据。能程序验证的绝不交给 LLM judge。

优先级应为:真实环境结果 > 确定性规则/执行器 > 专家人工 > 校准后的 LLM judge > 未校准主观打分。

15.6 用 judge 生成训练数据的闭环风险

若同一个 judge 同时选择训练样本又评测最终模型,模型只需学会迎合 judge,分数会持续上涨而真实质量不变。这是“用自己的尺子证明自己长高了”。

训练选择器、开发评测和最终验收应尽可能独立,至少保留人工盲评和程序指标作为外部锚点。

核心问答

Q:Pointwise 和 Pairwise 哪个更可靠? 比较两个模型时通常 Pairwise 更稳定,因为相对判断比绝对 1–5 分容易;但仍要交换位置和允许平局。

Q:多个 judge 投票就可信吗? 只能降低随机方差,不能消除共享偏差。若都来自同类模型,可能一致地错。

Q:什么时候不能用 LLM judge? 有真实执行器、精确规则或高风险专业判断时,judge 不应替代它们。

Q:为什么训练和评测不能用同一个 judge? 模型会优化这个 judge 的偏好和漏洞,形成测量闭环,分数不再代表外部质量。