第 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 的偏好和漏洞,形成测量闭环,分数不再代表外部质量。