← 返回目录
ap5.3实操⏱ 约 11 分钟

模型判分:让另一个模型当裁判

实测 12/12 的理解力,和它 5/6 的长度偏好

🔎 最后验证 2026-08📚 来源:本节三组实验为 ECS 实测(2026-08,deepseek-chat,判分准确率/位置偏差/长度偏差,脚本与原始输出见本节代码)🧰 DeepSeek API、Python
为什么学这个

规则判分卡在 58%,因为它不懂"一周之内"等于"7 天"。解法很自然:让另一个模型当裁判

实测它的理解力:12/12,满分——规则判错的 5 条它全判对了。

但请先看第二个实验:同样两份答案,内容信息量完全相同,只是一份写得啰嗦——裁判在 6 轮里有 5 轮选了长的

你的裁判有偏好。不知道这一点,你会优化出一堆又长又啰嗦的答案。

💡 打个比方

请老师阅卷比标准答案卡灵活得多。但老师也是人:字迹工整的、写得长的、卷面干净的,容易多给两分

好的考务制度不会因此不用老师,而是设计流程去抵消这些偏好:密封姓名、双人阅卷、交换复核。模型判分要做的是同一件事。

实验一:理解力(12/12)

给裁判"问题 + 标准答案要点 + 候选答案",让它判对错:

  人工=True  规则=False 模型=True   「一周之内都可以退。」
  人工=True  规则=False 模型=True   「会员一年不到两百块。」
  人工=True  规则=False 模型=True   「订单满五十九元即可免运。」
  人工=False 规则=True  模型=False  「24 小时内响应即可。」   ← 规则误命中,裁判没上当

  规则评分准确率:7/12 (58%)
  模型判分准确率:12/12 (100%)

裁判的价值就在这四条:语义等价它认,子串误命中它不上当。

判分提示词的关键设计:

判断候选答案是否正确表达了标准答案的要点
(表述方式不同没关系,数字可以用中文写法)。
只输出 JSON:{"correct": true/false, "reason": "一句话"}

三个要点:给标准答案(别让它凭自己知识判)、明确"表述不同没关系"(否则它会变得像规则一样严)、要求结构化输出(便于自动统计,AP3 的老规矩)。

实验二:位置偏差(本次 4/4 一致)

经典风险:把同样两份答案调换 A/B 位置,裁判会不会改主意?

  ✅一致 「退货几天内?」 正序赢家=A 反序赢家=B
  ✅一致 「会员费多少?」 正序赢家=A 反序赢家=B
  ✅一致 「市区免运门槛?」 正序赢家=A 反序赢家=B
  ✅一致 「投诉响应时限?」 正序赢家=A 反序赢家=B

  判定一致率:4/4

这次表现很好——但别因此省掉这个检查:位置偏差在候选答案质量接近时最明显(本次两份答案差异明显,裁判容易分辨)。规矩:重要的 A/B 评测,永远做双向换位取平均。

实验三:长度偏差(5/6,警报)

这次给两份信息量完全相同的答案,只是一份啰嗦:

  • 简版:7 天内。
  • 长版:关于您咨询的退货时限问题,根据我们现行的退换货政策规定,自您签收商品之日起计算,在 7 个自然日之内,您都可以申请无理由退货,我们会为您妥善处理。
  长版获胜 2/2 轮  「退货几天内?」
  长版获胜 1/2 轮  「会员费多少?」
  长版获胜 2/2 轮  「市区免运门槛?」

  长版总获胜:5/6 轮 —— 明显偏高说明存在长度偏差

这是个真问题。如果你用模型判分做 A/B 优化,而裁判偏爱长答案,你会一路"优化"出又长又贵、用户还嫌啰嗦的产品。(注意:长答案的 token 成本也更高——偏差直接烧钱。)

四条压制偏差的规矩

  1. 双向换位取平均:每对比较跑两次(A/B 和 B/A),两次一致才算数,不一致标记为"打平";
  2. 判分标准写死在提示词里:与其让它"判断哪个更好"(主观),不如给明确的评分维度("是否包含关键事实""是否有多余内容""是否带引用")——评分维度越具体,偏差越小;
  3. 显式反制已知偏差:在判分提示词里加一句"简洁不是缺点,冗长不加分;只看信息是否准确完整";
  4. 定期用人工标注校准裁判:留一批人工标注的样本,定期测你的裁判准不准(本节实验一就是在做这件事)——裁判也要被评测

成本与选型

做法成本适用
规则判分免费主力,每次提交全量跑
同款模型判分一次调用日常评测,规则判不了的部分
更强模型判分更贵关键评测、上线前把关
多裁判投票N 倍高风险决策(如内容安全)

一条实用原则:判分模型最好比被测模型强或至少同级——用弱模型判强模型的答案,等于让实习生给专家打分。

🔧 动手做:给你的裁判做一次体检(15 分钟)

  1. 跑本节代码,看三组实验结果。
  2. 测你的裁判准不准:拿 12-20 条你人工标注过的样本,跑一遍模型判分,算准确率——低于 90% 就别用它做决策
  3. 测长度偏差:造 3 对"信息相同但一长一短"的答案,跑双向比较——你的裁判偏长吗?
  4. 加反制语句:在判分提示词里加上"简洁不是缺点,冗长不加分",重测长度偏差——降了多少?
  5. 双向换位逻辑写进你的评测脚本(以后所有 A/B 都走它)。

做到这里你应该有:裁判的准确率数字、长度偏差测量、一个带双向换位的评测函数。

为什么:模型判分是评测体系的扩展器——它让"没法用代码判"的东西(语义、质量、语气)也能被量化。但它自己就是个 AI,同样会犯错、有偏好。把它当同事而不是仪器:用之前先考核,用的时候有制度约束

❓ 测验
实测中裁判在「信息量相同、一长一短」的 6 轮比较里 5 轮选了长的。这意味着什么?
⚠️ 避坑别让「被测模型」给自己打分

一个隐蔽的坑:用同一个模型既生成答案又判分。研究和实践都发现模型存在自我偏好(更认可自己风格的输出)。三条防御:① 换一个模型当裁判(不同厂商更好);② 判分时不告诉它答案是谁生成的(本节实验二三就是匿名比较);③ 关键结论用人工抽检复核。本课实验用同款模型是为了教学简便,你的生产评测应该尽量换个裁判

🤖 让 AI 帮你设计判分提示词
我要用模型判分评测【什么任务】的答案质量。请帮我写判分提示词:1) 给出 3-5 个具体的评分维度(而不是笼统的「哪个更好」);2) 每个维度的判定标准要可操作;3) 加入反制长度偏差、位置偏差的表述;4) 输出结构化 JSON(含各维度得分和总判定);5) 再给我一套「校准样本」的设计建议,用来定期检验裁判本身的准确率。
✅ 小结

模型判分三句话:理解力强(12/12)、有长度偏差(5/6)、用前先考核用时有制度;四条规矩:双向换位、评分维度写死、显式反制、人工校准。

下一节挑战全课最难量化的指标:幻觉率——它没有标准答案可比,但 ap4.6 的引用机制给了我们一把尺子。

下一节 → 幻觉率测量:把最难量的东西量出来
🔎 来源与核验· 2 条,点开核对
本节每个关键论断都对应一个可追溯的来源 —— 这是本课程"靠谱、不过时"的底线。
「12 条人工标注样本:模型判分准确率 12/12(规则评分 7/12);4 对答案的双向换位比较一致率 4/4(本次未观察到位置偏差)」
📚 ECS 实测 judge_bias.py 实验一二(2026-08,deepseek-chat,temperature=0)✓ 已核验 2026-08
「3 对「信息量相同、长度不同」的答案双向比较:长版在 6 轮中获胜 5 轮,显示长度偏差」
📚 同上实验三✓ 已核验 2026-08
智图软件的赞赏码
都看到这了,打个赏呗!
接下来 · ap5.4
幻觉率测量:把最难量的东西量出来
继续读下一节 →