LLM-as-Judge 能否替代人工,一半取决于裁判 Prompt 的设计。一个"请打 1-5 分"的笼统指令,会得到既不稳定也不可解释的分数。
先拆维度,别只给总分
把"好不好"拆成相互独立的维度,分别打分:
- 事实正确:论断是否与参考答案或证据一致。
- 完整性:是否覆盖了必要要点。
- 相关性:是否切题、有无跑偏。
- 安全合规:有无越界、泄露或不当内容。
维度分开,才能知道差在哪,也便于后续加权。
给每个分数配锚点
只写"1 到 5 分"远不够,要给锚点(rubric),让评分有统一标尺:
评分标准(事实正确):
5 = 全部论断均有证据支持,无错误
3 = 主要结论正确,但有次要事实偏差
1 = 存在与证据矛盾的关键错误
请先逐条列出证据,再给分。
要求裁判"先给理由再给分",能明显提升一致性,也方便抽查。
控制已知偏见
- 位置偏见:成对比较时,A / B 顺序会影响结果——两种顺序各评一次再平均。
- 长度偏见:裁判倾向给更长的回答高分——在标准里明确"长度不是加分项"。
- 自我偏好:模型可能偏爱同家族模型的输出——必要时换一个裁判模型复核。
常见误区
- 裁判不校准就上线:先用人工标注样本验证裁判与人判的一致性(见"LLM-as-Judge 校准")。
- 一个 Prompt 评所有任务:不同任务的好坏标准不同,裁判标准要随任务定制。
- 只要分数不要理由:没有理由的分数无法复核,也无法改进。