🧑💻 面试官:改了客服助手的提示词,生成了几百条回答,你怎么比较新旧版本?
🙋♂️ 我:除了规则检查和人工抽查,可以让另一个大模型按评分标准评估,也就是 LLM-as-a-Judge。
🧑💻 面试官:模型说新版更好,你就认可吗?新版写得特别客气,却把产品功能说错了。
🙋♂️ 我:要把当前问题和产品资料也交给裁判,分别检查事实、是否答到问题和表达,不能只凭读起来顺不顺打一个总分。
🧑💻 面试官:资料和标准都有了,裁判还是偏爱长答案呢?或者把两个答案交换顺序,它的选择就变了。你又怎么评估这个裁判?
大模型能帮我们评答案,但裁判本身也会判断错。先明确按什么判,再用人工核对过的样本检查它判得准不准。
面试速答(60 秒版)
LLM-as-a-Judge 就是让大模型充当评审,根据问题、参考材料和评分标准,对答案打分或比较两个答案哪个更好。
它适合检查语义上的问题,比如回答是否符合资料、有没有答到用户关心的内容。这些不容易只靠关键词匹配判断,可以交给模型辅助评估。
但裁判也是大模型,不保证判断正确。它可能偏爱更长的回答,也可能受到答案位置、措辞或自身知识错误的影响。所以,要把评分要求写具体,要求指出依据,必要时交换答案顺序复评。
正式使用前,还需要准备一批人工核对过的样本,看裁判与人工判断是否一致,尤其有没有放过重要错误。能用程序检查的格式和明确规则,仍然交给程序;高风险和有分歧的情况,再由人复核,不能把模型打的分直接当成事实。

知识点详解:先让裁判知道什么叫“答得好”
模型能看懂答案,就能负责打分吗?
假设咱们正在比较两个客服助手。用户问:“团队版能把报表导出成 PDF 吗?”当前产品文档明确写着:团队版只支持 CSV,企业版才支持 PDF。
旧版回答是:“团队版暂不支持 PDF,只支持 CSV。需要 PDF 导出的话,要使用企业版。”
新版回答写了好几段,先表示理解,再给出详细步骤:“当然可以。进入报表页面,选择导出 PDF……”
新版可能更热情,排版也更好看,但用户照着做,根本找不到那个选项。
如果给裁判的要求只是“判断哪个回答更优质”,没有产品资料,也没说清事实正确有多重要,它就可能把表达上的优势当成整体优势。即使给了资料,这类误判也不是完全不会发生。
因此,不能只有两段答案和一句“请打分”。我们需要先定义这次评测想判断什么。
一次有用的评审,输入和输出应该有什么?
还是这个例子。提供给裁判的内容至少包括用户问题、当前有效的产品资料、待评答案,以及具体要求。
咱们可以把要求写成:
事实:有没有错误宣称团队版支持 PDF?
完整性:有没有明确回答能否导出,并说明文档支持的替代方式?
表达:在事实正确的前提下,是否清楚、不过度展开?
输出:逐项给出判断,引用答案和资料中支持判断的短片段;发现事实错误时,不因语气友好而判为通过。
这里“完整性”怎么定义,是咱们这个业务的要求,不是所有客服答案通用的标准。有的任务只要求回答是否支持,就没必要因为它没主动介绍其他版本而扣分。
让模型分别评一条答案,叫单答案评估,常见做法是按项判断或评分;把新旧两条放在一起比较,则是成对比较。两种方式都要有明确标准。Anthropic 的评测指南也强调把任务要求转成具体可判断的准则,而不是凭整体感觉评价。
要求裁判提供依据,是为了方便复核。它写出的理由同样可能有错,因此还要看引用的片段是否真的存在、是否支持这个判断,不能把一段解释当成正确性的证明。
为什么交换一下答案顺序,也值得测试?
MT-Bench 与 Chatbot Arena 的研究讨论过模型裁判的位置偏好、对冗长答案的偏好,以及其他评判局限。意思是:本来应该由内容决定的判断,有时会被呈现方式影响。
例如,第一次把旧版放在 A、新版放在 B,裁判选 A;交换位置后,它仍然选 A。这就需要进一步检查,它究竟在选内容,还是受到位置影响。
比较时可以隐藏模型和版本名称,交换展示顺序,并允许“相当”或“无法判断”。如果两次结果矛盾,不要挑一个符合预期的结果,也别强行把它记成稳定胜出,可以标为分歧交给人工复核。
对长答案也一样。正确且必要的解释当然有价值,但多写几段问候语,不应该抵消一个产品事实错误。评分标准要把这些维度分开,而不是让篇幅变成质量的替代指标。
这些办法能帮助发现、减少部分偏差,不代表裁判从此就公正无误。换成更强的模型,也仍然需要检查它在这类任务上的表现。

裁判靠不靠谱,用人工核对过的题来测
先准备一批评测样本,包括事实正确、表达不顺,表达流畅但事实错误,资料不足却强行回答等不同情况。由熟悉产品的人按同一标准核对,存在分歧的先讨论清楚。
然后把同一批样本交给裁判,比较它和人工的判断。尤其要看:人判错的答案,模型有没有误判成对?在哪一种问题上最容易漏掉错误?
Google 的裁判评估文档采用的就是把模型结果和人工评分对照的思路。但实际要不要接受某个裁判,还取决于我们的错误代价,不能照搬一个统一的通过比例。
用这些样本调整好评分说明后,另留一批没参与调整的题再验一次。上线使用时也要持续抽查,模型或评分说明换了版本,都应重新确认。
至于能明确写成程序的检查,就没有必要绕给裁判。JSON 能不能解析、必填字段在不在、引用 ID 是否存在,都可以先自动校验;但“引用内容是否真的支持答案”,通常还需要语义判断。
因此,这个例子里的评测可以分工:程序查结构和引用存在性,裁判辅助查内容与资料是否一致,人工复核重要错误和争议案例。这样得到的结果,才更容易解释哪里变好了、哪里仍然有问题。
面试官继续追问
可以让生成答案的模型给自己打分吗?
可以尝试,但别因为它最了解自己的回答,就认定它评得最准。同类模型可能重复相同误解。换一个模型也不自动获得独立、正确的判断,仍要和人工样本对照。
没有标准答案,还能评吗?
可以评清晰度、要求遵守情况,或者比较两个答案。但要判断私有产品事实,就需要可信资料;缺少依据时应保留无法判断。不能让裁判凭自身知识,替公司编出一份产品说明。
多找几个模型投票,是不是就可靠了?
可能减少部分偶然波动,但也会增加成本,而且多个模型可能一起犯同一个错。可以用分歧帮助找出需要复核的题,不能把多数票当成事实来源。错误依据不变,投票次数再多也修不好它。
面试速记卡
- LLM-as-a-Judge:让模型按具体标准评分或比较答案。
- 评审输入:问题、必要依据、待评答案和明确准则。
- 常见偏差:位置、篇幅、模型自身误解都可能影响判断。
- 校准方式:与人工核对过的样本对照,重点检查重要错误是否漏判。
- 实际分工:程序查确定规则,模型辅助判断语义,人工复核高风险与分歧。
