想象你是体操世锦赛的裁判长,手下有一群聪明绝顶却毫无经验的新裁判。他们懂规则、反应快,但若你只扔给他们一句“请公正打分”,他们大概率会打出五花八门的分数。你必须提前发给他们一本《裁判手册》:先写明“你是国际体操联合会注册裁判”(角色),再规定“你负责给落地动作打分”(任务),接着是“在评分表上填写动作难度与完成度”(格式),最后补充“本次比赛的难度系数标准”(上下文)。当这些细节从“心照不宣的默契”变成“白纸黑字的操作手册”时,裁判的评分才可能公平一致。 在AI世界里,这位“新裁判”就是大语言模型(LLM),而《裁判手册》就是评分Prompt。LLM-as-Judge(LLM当裁判)就是用大模型自动评估其他模型的输出质量,而评分Prompt的设计水平,直接决定了这位AI裁判打分是否稳定、是否公正、是否可复现。本文将带你为AI裁判编写一本“不打糊涂分”的手册:从四段式框架、评分标准、示例选取、锚点校准,到验证方案、局限认知与可扩展设计。
对AI从业者而言,掌握评分Prompt设计意味着你能用LLM自动完成大规模评测,替代昂贵的人工标注,并让每一次评测结果都可信、可复现、可迭代。
目录
可视化演示
展示LLM-as-Judge评分Prompt四大组件结构、四种评分策略类型对比与位置偏见缓解机制,交互切换评分类型查看评判流程差异。
本节配有交互动效(进入视口后自动加载,约 3KB)。
评分Prompt四大组件结构 角色设定:定义Judge身份与评判职责 评分锚点:每个分数段附具体描述与示例 Prompt = Role + Criteria + Examples + Anchors + Target 完整评分Prompt包含角色设定、评分标准、few-shot示例和评分锚点四个核心组件
1. Prompt结构设计
裁判手册开篇必须写清四件事:你是谁、你要干什么、判完要填什么表、比赛有什么背景规则。缺一项,新裁判就会凭“感觉”发挥——有的裁判把自己当选手的教练,有的干脆不填评分表。LLM裁判也一样,没有清晰结构的Prompt,它就会以“聊天助手”的姿态回应你,而不是“评测员”。
在LLM-as-Judge中,手册的四件事对应评分Prompt的四大结构组件:系统角色设定(你是谁)、任务指令(你要干什么)、输出格式(你返回什么)、上下文传递(你依据什么)。角色设定通常写在System Message里,例如“你是一位公正严苛的AI评测专家”;任务指令明确“对以下问答对的回答质量从完整性和准确性打分”;输出格式要求JSON结构,包含分数字段和简短理由;上下文传递被评测的问题、参考答案和待打分回答。
这四部分互相咬合:没有角色设定,模型姿态错误;没有输出格式,模型可能输出一段散文而不是可解析的分数;没有上下文,模型无从评判。综合分的计算正是基于这种结构化输出展开:
回到比喻:有了四段式框架,新手裁判翻到手册第三章就知道“哦,我要填这张评分表”。结构固定,打分才可能一致。这是后续一切校准的基石。
- 维度权重 $w_i$表示第 $i$ 个评分维度(如相关性、完整性)在总分中的占比。Prompt里写“相关性最重要”时,$w_i$ 就对应较大的值,所有权重之和通常为1。
- 维度得分 $s_i$LLM裁判对第 $i$ 个维度的打分,由评分标准描述和锚点决定。若标准模糊,$s_i$ 会出现较大随机波动。
- 加权求和 $\sum$把每个维度的得分乘上权重再累加,得到综合分。Prompt的“输出格式”通常要求模型先输出各维度 $s_i$,再输出总分,以便追溯。
2. 评分标准描述
只给裁判一本“手册框架”还不够。你告诉裁判“按相关性打分”,但裁判可能想:相关性是啥?是字数吗?是提到关键词吗?就像菜谱只写“加盐少许”,十个厨师能做出十个咸度。要保证标准一致,你必须把“少许”变成“3克”。
评分标准描述要做的正是这件事:把抽象形容词改写成可观察、可计数的具体行为。业界常用行为锚定等级评价(BARS)——给每个分数档写一句“当回答出现某类行为时给这个分”。1分:回答完全离题或空白;3分:点出核心概念但缺少论据;5分:论点、论据齐全且逻辑自洽。同时配以负面清单:列出必须扣分的情形,如“出现编造引用直接0分”。
语言校准强调用词一致性:避免“还不错”“有点差”这类模糊词,改用“包含2个以上支撑证据”这类可计数表述。当打分依据变成数学上的“达标程度”,模型就比较难各说各话了:
这就像米其林指南从“好吃”进化到“菜品呈现5种以上当季食材”,把主观感觉拆成可数的清单。LLM裁判由此从“玄学打分”变成“按图索骥”。
- 下限 $a$ 与上限 $b$评分标准中某档位的最低与最高要求。例如“良好档”要求回答包含2~4个支撑证据,则 $a=2, b=4$。
- 观察值 $x$裁判数出的实际证据个数,是模型可从回答中提取的客观特征。
- 达标程度 $\mu(x)$$x$ 落在 $[a,b]$ 内时达标程度线性增长;低于 $a$ 完全不达标,高于 $b$ 完全达标。这就是把“还不错”变成数学上的连续程度。
3. Few-shot示例选择
裁判手册再厚,也比不上一两份“样板卷”。新手裁判拿到往年某场比赛的三份答卷和对应官方分数,心里顿时有底:原来7分水平长这样,3分水平长那样!这就是示例的魔力。
在评分Prompt中,few-shot示例是在Prompt末尾附上的“标准参考答案”:一些问题、对应的回答样例、以及该样例应得的分数。LLM裁判会模仿示例的分数范围和严格程度去打分。示例选取有四个原则。
一是覆盖多样:高分、中分、低分都要有,避免模型往示例集中的区间打分;二是正反对照:既有优秀回答样例,也有明显差的回答,明确两个极端的边界;三是边界案例:选一两个“好中带差”的暧昧例子,帮助模型在模糊地带稳住判断;四是数量适中:一般3~5个足够,再多会占用上下文且拖慢推理。示例多样性可以用信息熵量化:
就像给裁判准备样卷时“从满分到零分都要有”,他才知道分数分布的真实全貌,而非只见过高分卷就把所有答卷都打高分。
- 频率 $p_j$第 $j$ 个分数档在示例中出现的频率。若全部示例都打5分,$p_5=1$,熵为0。
- 信息量 $-\log p_j$概率越小的事件,发生时携带的信息量越大。低分示例选得越少,模型学到的“低分该长什么样”越少。
- 熵 $H(X)$衡量示例集合的多样性。熵值越高,模型越不容易把所有答案都打成一个档位。
4. 评分锚点定义
体育比赛裁判打分前常开“锚点校准会”:大家一起看一段录像,各自打分后讨论“这一跳到底值9.5还是9.6”,达成共识后,这段录像就是全体裁判心中的“锚”。评分锚点正是这个机制的AI版。
锚点是几个经过人工权威打分的样例及其分数。它和few-shot的区别在于:锚点不依赖“模仿”,而是让模型把当前答案与锚点答案做心理距离比较。锚点设计有四个要点:锚点数量——每个分数档设1~2个,档位少则不需太多;锚点描述——每个锚点必须写出该分数档的典型特征;一致性——不同档位锚点要能清晰区分,不能模棱两可;偏差控制——当裁判系统性打高分时,用“偏高锚点”来纠偏。纠偏过程可表示为:
锚点像一把“标准尺”。AI裁判如果给9.6分的录像只打了9.2分,那就把它给出的所有分数都放宽0.4分。这就是用已知答案校准未知判断。
- 初始分 $s_{initial}$模型根据通用标准给出的原始综合分。
- 目标锚分 $s_{anchor}^{target}$锚点样例的人工权威分数,是校准的“正确答案”。
- 观测锚分 $s_{anchor}^{observed}$LLM裁判当前对锚点样例的打分,其与非零偏差揭示了裁判的系统性偏松或偏紧。
- 修正强度 $\lambda$控制纠偏力度,太大会矫枉过正,太小则纠偏乏力,通常在验证集上调节。
5. 效果验证方案
手册写完了,裁判也培训了,实际表现如何?你得组织“模拟赛”:让AI裁判和资深人工裁判背对背给同一批答卷打分,再看两边是否一致。如果AI裁判自己今天给9分明天给7分,这手册就是失败的。
效果验证的核心是量化一致性。Cohen's Kappa系数是最常用的指标,它剔除了“随机碰巧一致”的成分,比简单准确率更严格。验证流程是:构造100~200份答案的小型标注集 → 人工给出参考分数 → 用候选Prompt跑出AI分数 → 计算Kappa → 做误差分析,观察AI在哪些分数段、哪些题型上偏差最大 → 针对性修改Prompt再迭代。Kappa的计算公式:
Kappa就像模拟赛的“判分契合度报告”。AI裁判和资深裁判十场九场给分一致,说明手册训练到位;经常各执一词,就是时候回去改手册了。
- 观测一致率 $p_o$AI裁判与人工裁判在 $N$ 份答案上打分完全相同的比例。
- 随机一致率 $p_e$若两位裁判独立按各自分数分布随机打分,碰巧一致的概率,由各分数档频率乘积求和得到。
- Kappa系数 $\kappa$$\kappa=1$ 完全一致,$\kappa>0.8$ 高度一致,$0.6\sim0.8$ 较强一致,低于0.4则Prompt需大改。
6. 评测指标局限
这套打分体系并非万能。AI裁判有时会表现出“职业病”:排在第一位的答案容易手下留情,写满一整页的答案被当作“很有料”,自己公司模型生成的答案不自觉地加分。这些雷区,一场模拟赛未必能发现。
研究(如Zheng et al., 2023)归纳了三类典型偏差:位置偏差——LLM倾向于给列表中靠前的答案更高分,调换顺序后分数可能反转;长度偏差——LLM偏爱更长的回答,即使它啰嗦且信息量低;自我偏好——LLM给同源模型生成的答案打高分。这意味着Kappa很高也可能是“稳定地错”。检测位置偏差可以用Spearman秩相关:
应对策略包括:同一对答案做AB交换各评一次后取平均;在Prompt中明确“不要因为答案长度而加分”;用多个不同源模型组成联合裁判互相校验。指标只是仪表盘,你得知道哪些红灯是假报警。
- 名次差 $d_i$第 $i$ 个答案在“AI偏好排名”与“真实质量排名”中的名次之差。
- 答案数 $n$参与排序对比的答案总数,$n$ 越大,秩相关越稳定。
- 系数 $\rho$接近+1表示AI排序与真实质量高度一致;接近0表示排序几乎被位置、长度等因素污染。
7. 可扩展设计
一届比赛的评价手册,下一届还能用吗?新题型出现、选手整体水平提升、甚至从体操换成跳水——如果手册所有规则都写死在一大段话里,改起来就是灾难。可扩展设计就是让评分Prompt具备模块化、可演进的架构能力。
做法是把Prompt拆成固定的骨架与可替换的模块:骨架包含角色设定与基础指令(基本不变),模块包括评分维度表、锚点库、few-shot示例库——每个模块独立维护,修改时只替换对应模块。版本管理用类似Git的方式记录每次修改对Kappa的影响,保存一份“评测配置清单”。新模型适配要求Prompt使用通用的人类可读语言,不过度绑定特定模型的表达习惯。跨领域迁移则通过替换维度定义和锚点库,把客服问答的评分Prompt复用到代码生成或翻译评测中。新旧能力叠加可写成加权融合:
好的裁判手册像一套积木:底座牢固通用,上面的模块随赛制随时拼装替换。下一次评测规则变了,你只需换一块带“新题型评分标准”的积木,而不是扔掉整本手册。
- 基础分 $\text{score}_{base}$骨架中通用维度(清晰度、相关性等)的综合分。
- 新增分 $\text{score}_{new}$新领域特有维度(如代码可执行性、翻译忠实度)的得分,由新模块计算。
- 融合权重 $\alpha, \beta$新旧模块的权重和为1。当迁移到新领域时增大 $\beta$,无需改动基础骨架。
AI 应用场景
大模型训练数据清洗中的自动质量评分
阶段:数据预处理 / 训练
解决的问题:从互联网爬取的海量问答对质量参差不齐,人工筛选百万级数据成本极高。传统规则去重只能过滤明显垃圾,无法判断语义质量。
具体案例:某团队从爬取的1000万条对话中采样5万条,让LLM裁判按评分Prompt从“有用性、无害性、真实性”三维度各打1~5分。Prompt加入了每个维度的行为锚定描述和负面清单,并配置了低分和高分锚点样例。筛选出Top 30%高质量数据用于SFT后,下游任务指标提升了约8%。
检索增强生成(RAG)系统的自动评测
阶段:模型评测 / RAG评估
解决的问题:RAG系统的回答融合了检索文档与生成内容,需要同时评估“检索相关性”和“生成忠实度”。传统BLEU/ROUGE只看字面重合,无法覆盖语义质量。
具体案例:评测团队设计了双阶段评分Prompt:先让LLM裁判给检索文档相关性打0~5分,再给生成回答的忠实度打分。锚点库中存放了“忠实但冗余”“不忠实但流畅”等典型样例,用于校准AI裁判的偏好。2000条测试集跑完后,与人工评测的Kappa达0.83。
新模型发布前的“沙盒裁判”验收
阶段:模型发布前验收
解决的问题:新模型每次迭代都需要快速、低成本、可复现的评估基准。B站等团队用权威大模型充当“沙盒裁判”,为候选模型的开放域生成质量打分。
具体案例:某团队选出涵盖数学、编程、写作的300道评测题,将评分Prompt拆成“通用维度骨架+分领域锚点库”模块。发布前自动跑分并输出结构化JSON结果,报告附带Kappa系数和偏差分析。上线后从收集的用户反馈中抽检了500条,人工复核一致率达87%。
Python 演示
# -*- coding: utf-8 -*-"""LLM-as-Judge 评分Prompt设计演示: 构建Prompt并模拟裁判打分""" def build_prompt(answer, anchors, weights): """组装评分Prompt, 展示结构设计/评分标准和锚点三大要素""" dimension_text = "、".join(f"{name}(权重{w})" for name, w in weights.items()) anchor_text = ";".join( f"{score}分:{desc}" for score, desc in sorted(anchors.items()) ) return ( "你是一位公正严谨的AI评测裁判,请按以下维度打分。\n" "评分维度:" + dimension_text + "\n" "评分锚点:" + anchor_text + "\n" "待评分回答:" + answer + "\n" "请只输出一个0-5的整数分数。" ) class JudgeScorer: """模拟LLM裁判: 根据锚点校准给答案打分""" def __init__(self, anchors, weights): self.anchors = anchors self.weights = weights self._count = 0 def score(self, answer): """启发式模拟: 用答案特征计算维度分, 再用锚点离散化""" self._count += 1 length = len(answer) has_example = "例如" in answer or "比如" in answer has_conclusion = "总之" in answer or "因此" in answer relevance = min(5, 2 + length / 20) completeness = min(5, 2 + has_example * 2 + int(has_conclusion)) clarity = min(5, max(1, 1 + 4 * (1 - abs(length - 100) / 100))) total = ( relevance * self.weights["相关性"] + completeness * self.weights["完整性"] + clarity * self.weights["清晰度"] ) final_score = 1 for anchor_score in sorted(self.anchors.keys()): if total >= anchor_score: final_score = anchor_score return final_score def cohen_kappa(rater1, rater2, n_classes=6): """Cohen's Kappa一致性系数: 剔除随机一致后的真实一致率""" assert len(rater1) == len(rater2) n = len(rater1) observed = sum(1 for a, b in zip(rater1, rater2) if a == b) / n p1 = [rater1.count(c) / n for c in range(n_classes)] p2 = [rater2.count(c) / n for c in range(n_classes)] expected = sum(p1[c] * p2[c] for c in range(n_classes)) if expected == 1: return 1.0 return (observed - expected) / (1 - expected) if __name__ == "__main__": anchors = {3: "回答笼统、缺少细节", 5: "结构完整、有例子有结论"} weights = {"相关性": 0.4, "完整性": 0.3, "清晰度": 0.3} judge = JudgeScorer(anchors, weights) answers = [ "因为数据量不足,模型会欠拟合。例如训练集只有100条时误差很大,因此需要扩充数据。总之数据越多越好。", "答案不完整,缺少实验支撑。", "该方法复杂度为O(n^2),在大规模数据上效率较低。可以改用哈希表优化。", "好的。", ] human_scores = [4, 2, 5, 1] print("=== 示例评分Prompt ===") print(build_prompt(answers[0], anchors, weights)) print() ai_scores = [judge.score(a) for a in answers] print("AI裁判分数:", ai_scores) print("人工参考分数:", human_scores) kappa = cohen_kappa(ai_scores, human_scores) print("Cohen's Kappa:", round(kappa, 3))
dimension_text = "、".join(f"{name}(权重{w})" for name, w in weights.items())把维度权重拼接成Prompt文本,让AI裁判知道每个维度占比多少。return (...多行字符串... )展示评分Prompt的骨架:角色声明 + 评分维度 + 锚点 + 待评答案 + 输出要求。relevance = min(5, 2 + length / 20)模拟“长度偏差”:答案越长相关分越高,这是评测指标局限性的体现。真实场景中Prompt需明确禁止这种倾向。total = relevance * self.weights["相关性"] + ...加权求和计算综合分,对应正文公式 score = Σ(wi × si)。final_score = 1; for anchor_score in ... if total >= anchor_score: final_score = anchor_score锚点校准:把连续总分离散到最近锚点分数档,对应正文的锚点纠偏思想。observed = sum(1 for a, b in zip(rater1, rater2) if a == b) / n计算两位裁判的观测一致率 p_o,即Kappa公式的分子项。expected = sum(p1[c] * p2[c] for c in range(n_classes))计算随机碰巧一致的概率 p_e,Kappa公式的分母项。return (observed - expected) / (1 - expected)输出Kappa系数,对应正文 κ=(p_o−p_e)/(1−p_e)。
常见误区
误区“只要把评分规则写得尽可能长、尽可能细,LLM裁判就会打分越准。我恨不得把每一条打分规则都规定死,让模型没有自由发挥余地。”
正解详细要有边界。过度冗长的Prompt会引入信息噪声和自相矛盾的条款,模型可能忽视关键指令,或在互相冲突的规则间摇摆。简洁、结构化的Prompt比冗长但混乱的描述更可靠。核心原则是每条规则都有可操作性,而非堆砌细节。
为何常见:人们直觉认为细节越多歧义越少,但LLM的注意力窗口和指令跟随能力有限,冗余信息会稀释关键指令的权重。
误区“多放几个示例模型就知道了标准,我放的全是最优秀的答案,这样AI才知道什么是好的。”
正解示例过多会超出上下文窗口并拖慢推理;全是高分示例会产生锚定效应,让裁判倾向于打高分,压缩分数区分度。正确做法是均衡覆盖高、中、低分,同时包含正反案例,必要时加入边界案例。
为何常见:人习惯通过“多看优秀范例”学习,但LLM裁判的示例既调节“尺度”也调节“分布”,单边示例会让分数整体偏移。
误区“锚点定了就永远不改,这样历次评测结果才可比较。改锚点会让之前的评测失去意义。”
正解锚点需要随评测场景演进。当新模型能力普遍提升,旧“5分”标准可能只配得上新“3分”;当发现AI裁判系统性偏离预期时,锚点也要调整。正确做法是记录锚点版本,保证同一次对比使用同一版本,但允许版本之间升级。
为何常见:混淆了“评测稳定性”与“标准过时”。可比较性要求版本内不变,但不代表版本之间不能升级。
误区“AI裁判和人工裁判Kappa到0.85了,评分Prompt已经完美,不用再改了。”
正解Kappa高只说明两者一致性强,但可能“稳定地错”。如果人工标注本身带有偏见,AI也会学到这些偏见并稳定复现。仍需检查偏差分析:位置偏差、长度偏差、自我偏好都可能藏在高Kappa背后。
为何常见:把量化指标等同于质量保证,忽略了指标本身的盲区。Kappa是必要条件,不是充分条件。
误区“LLM-as-Judge是万能的,自动化评测上线后,人工标注团队可以解散了。”
正解LLM裁判仍存在位置偏差、自我偏好等系统性缺陷;在创意写作、人文判断等高主观任务上,其与人类判断的一致性有限。实践落地通常采用“LLM初筛 + 人工抽检”的混合模式,既保证效率又守住质量底线。
为何常见:高估AI能力而低估评测任务的主观性与复杂性。评测不是“打标签”,而是“做判断”,判断标准本身也需要人类持续校准。
面试题
Q1. LLM-as-Judge是指什么?
- A.用LLM生成裁判文书
- B.用大模型充当评审裁判← 正确答案
- C.用LLM训练裁判模型
- D.用裁判数据微调LLM
答案:B。LLM-as-Judge的核心是用大语言模型作为评测裁判,去评估其他模型输出的质量。A是司法文书生成,C/D是用裁判数据训练或微调模型,都不是“用LLM当裁判”的定义。这就像聘请一位有经验的老裁判来给新选手打分,而不是让选手自己去写裁判手册。
Q2. 评分Prompt中加入“负面清单”的主要目的是?
- A.列出所有正确参考答案
- B.写明必须扣分的情形← 正确答案
- C.让Prompt内容变得更长
- D.替代few-shot示例的作用
答案:B。负面清单是把“什么情况必须扣分”写明,比如“编造引用直接0分”。它不是用来列正确答案的,也不是凑长度或替代示例。就像裁判手册里写明“落地出界扣0.5分”一样,负面清单给AI裁判划出明确的扣分红线,减少标准模糊。
Q3. 评分锚点在评分Prompt中扮演什么角色?
- A.增加模型随机输出
- B.提供分档参照样板← 正确答案
- C.降低推理过程耗时
- D.替代人工评测标注
答案:B。锚点是几个带权威分数的样例,LLM裁判拿当前答案与锚点做比较来校准分数。它不增加随机性,也不涉及推理速度。锚点解决的是“分数档位长什么样”的问题,就像体操裁判赛前一起看录像校准“9.6分该是什么样”。
Q4. 设计few-shot示例时,以下哪种选取策略最合理?
- A.全部选取高分示例
- B.全部选取零分示例
- C.覆盖高中低分数段← 正确答案
- D.随机抽取一个样例
答案:C。示例必须覆盖高、中、低多个分数档,模型才能学到完整的分数分布。全是高分会让裁判整体手松,全是零分则过于苛刻,随机一个样例缺乏代表性。就像给裁判的样板卷必须覆盖从满分到零分的各种水平,他打分才不会偏离真实分布。
Q5. AI裁判与人工裁判的Cohen's Kappa系数达到0.82,以下解读正确的是?
- A.两位裁判基本完全独立
- B.两位裁判评价高度一致← 正确答案
- C.AI裁判明显总体偏高
- D.评测样本数量还不足
答案:B。Kappa>0.8说明AI裁判与人工裁判在剔除随机一致后仍高度一致,这是评分Prompt效果较好的信号。A“完全独立”与高Kappa矛盾;C的高低偏倚需要通过误差分析判断,Kappa本身不反映;D样本量不足与Kappa数值无直接关系。
Q6. LLM裁判的“位置偏差”(Position Bias)指的是?
- A.总是给第一个答案最高分
- B.偏好给排在前面的答案高分← 正确答案
- C.只关注答案末尾的内容
- D.对中间位置答案有明显偏好
答案:B。位置偏差指LLM倾向于给列表中靠前的答案更高分,但不是说“永远给第一个满分”——调换顺序后它可能给新排第一的答案高分。C只关注末尾、D偏好中间都不符合定义。这就像一个裁判对“先上场的选手”天然手下留情,需要AB交换法来检测和纠正。
Q7. 裁判A给5份答案打分为[4,2,5,3,1],裁判B为[4,2,4,3,2]。两人的Cohen's Kappa系数最接近?
- A.0.33
- B.0.50← 正确答案
- C.0.67
- D.0.75
答案:B。先算观测一致率 p_o=3/5=0.6;再算随机一致率 p_e=Σ(p_A·p_B)=0.2×0+0.2×0.4+0.2×0.2+0.2×0.4+0.2×0=0.2;最后 κ=(0.6−0.2)/(1−0.2)=0.5。Kappa剔除了随机碰巧一致的部分,所以比表面上的60%一致率低。这就像两位裁判虽然60%场次看法相同,但有一部分是“蒙对了”。
Q8. 下列哪些属于LLM裁判的评测指标局限?
- A.位置偏差导致排序失真← 正确答案
- B.长度偏差导致长答占优← 正确答案
- C.自我偏好导致自答高分← 正确答案
- D.计算效率得到大幅提升
答案:ABC。位置偏差、长度偏差、自我偏好是LLM-as-Judge被广泛验证的三类系统性偏差,会在评分中引入与质量无关的噪声。D是自动化评测的优势而非局限。这三类偏差就像裁判的“职业病”,即使Kappa很高也可能是稳定地错,必须通过AB交换、长度归一化、多裁判投票等方式主动防控。
Q9. 提升LLM裁判评分一致性可采用哪些策略?
- A.增加锚点数量← 正确答案
- B.精选正反示例← 正确答案
- C.多次采样取平均← 正确答案
- D.缩短提问长度
答案:ABC。增加锚点可让分数档更清晰,精选正反示例可校准分数分布,多次采样取平均可降低LLM随机波动——三者都提升一致性。D缩短提问长度可能丢失必要上下文,无法提升一致性,反而可能降低评分准确性。这就像给裁判更清晰的评分表、更丰富的样板卷,并让他多复核几遍。
Q10. 评分标准描述的关键要点包括哪些?
- A.维度拆解成可观察行为← 正确答案
- B.写明扣分负面清单← 正确答案
- C.使用可计数的语言← 正确答案
- D.尽可能增加Prompt长度
答案:ABC。评分标准描述的核心是把抽象维度拆成可观察行为、用负面清单写明扣分情形、用可计数语言替代模糊词。D“增加Prompt长度”本身不是目的,冗长无序反而降低质量。就像菜谱写“盐3克”比“盐少许”更能保证每位厨师做出同样的咸度。