
流水线里有一类活确定性代码判不了这段讲解讲得对不对、这个说法有没有依据、这份内容是不是偷偷降低了难度。于是很自然想到让另一个模型来判。这一步是整条流水线里最诱人的——便宜、能规模化、还能给出看起来很专业的分数。它也是最容易自欺的一步。我们做过一版然后推倒重写。下面是重写时定下的纪律。一、旧版错在哪第一版给的是「七个要素里满足了六到七个」这种聚合分判据写在提示词的散文里。两个问题聚合分掩盖缺口。七分之六看着不错但缺的是「没有出处」还是「没有反例」接下来要做的事完全不同前者补一句引用后者整段重写。一个总分把这两种情况压成了同一个数字。它只覆盖了「齐不齐」。要素写满不等于讲对了更不等于认知强度够。齐全是最容易达标也最没有信息量的那一维。所以重写的第一件事不是换模型是把散文标准拆成逐条可判的表。二、四条纪律1判产物不判声称只看内容本身有没有。生成器在别的地方说自己做了不作数。这条听起来是废话实际上最常被破坏。生成流程往往会自己输出一段「我已经检查过出处」评审看到这句话就倾向于给过——它判的是那句自我保证不是那份产物。这条写死在评审的提示词里并且有测试钉着不是写在文档里靠人记得。2每条独立算看逐条通过率不看总分每一条判据独立给零或一报告刻意不输出聚合分。不输出是关键。只要那个数存在人就会去看它、拿它跟上周比、把它当 KPI。而它恰恰是最没有行动价值的那个数。3条件不满足就跳过不进分母有些判据只在特定条件下适用。条件不满足时算失败会污染通过率——你会看到一个持续偏低的数字然后花时间去查一个不存在的问题。4评审漏答一条算失败不是跳过这条最反直觉。评审没给某一条判断看起来像是它出了故障应该跳过。但实际情况通常相反它漏答往往正是因为产物里没有那部分内容。它找不到可判的东西于是就不说了。按跳过处理等于系统性地把真实缺口从统计里抹掉。不过要区分两种「没答」情况处置为什么评审答了但少答某一条算失败进分母少答往往正因为产物里没有那部分内容评审整份没回网络中断、输出截断、不是合法格式排除不进分母单独报数基础设施故障不是关于内容的证据把这两种混在一起你的通过率会随着网络状况波动。三、最贵的那个教训证据不给到它会编评审只看得到你交给它的东西。判据要判的东西证据必须一并交过去——否则它不会说「我不知道」它会编一个听起来合理的理由。具体事故是这样的。有一条判据写成「有可信来源并且正文与来源一致」。实现的时候我们只把来源的标注字符串交了过去没有交来源的原文。评审于是断言出处标注的是某本教材某一页但那一页的内容并不是这个主题。这句话看起来非常专业——具体、可核对、像是真的发现了问题。它是编的。评审手里从来没有那一页。而这条假理由混在一堆真实的失败里「无出处」「缺版本名」都是真的如果不是有人去核对它会被当成真问题去修。修法是把这条判据拆成两条出处标注得具体到可以复核—— 这个信息产物里就有无条件判。正文与来源一致—— 只在真的取到了来源原文的时候才计分取不到就跳过。一句话没有证据就不判不猜。这个教训的适用面远超评审这一件事。任何时候你让模型做判断都要问一句做这个判断所需的证据是不是真的在它手里不在的话你拿到的不是判断是一段合理的编造——而且它比明显的错误更难发现因为它读起来完全正确。四、能机检的不给模型判有几条判据是纯形式的要素够不够实、有没有外泄内部术语、有没有出现生成器的自白。这些用确定性代码判——又准又免费而且不受模型自评偏宽的影响。它们不进评审的提示词。同一条判据上机检结果优先。这是一条通用的省钱原则也是一条准确性原则先用确定性手段判掉能判的剩下判不了的才交给模型。反过来做——把所有判据一股脑丢给模型让它连「有没有这个字段」都判一遍——既贵又不如代码准。五、还有两条工程上的规矩空跑的占位判定一律判失败不判通过。验管线时不真调模型用占位结果跑一遍。这时候如果占位是「通过」管线坏了你也看不出来还会以为内容已经合格。判失败坏了立刻显形。跨类别比较必须分层取样。默认取最近的若干条而同一批生成的内容挤在一起类别分布是偏的。拿它比较不同类别会读出根本不存在的差异。小结用 AI 检查 AI 不是不能做是不能随便做。把它做成可用的检查需要的不是更强的模型是四条纪律和一条底线判产物不判声称逐条独立不看总分条件不满足跳过漏答算失败。底线是——证据不交到它手里就不要让它判那一条。本文首发于「我会了 AI 导师」实践笔记https://yyzzll.cc/notes/judge-the-artifact-not-the-claim同系列还有《一步错后面全废》《别让模型自报状态》等六篇 → https://yyzzll.cc/notes