ARTICLE · 1309050
AI 结果怎么验收?读懂三种 Judge
让 AI 汇总一份订单,它很快交出文件,还附上一段条理清楚的说明。文件确实生成了,金额却把退款订单也算了进去。这样的任务,算完成了吗?
回答这个问题,需要一套具体的评估方法。LLM-as-a-Judge、Code-as-a-Judge 和 Agent-as-a-Judge 分别借助模型判断、可执行检查,以及主动取证的流程来评估结果。本文用同一个订单汇总任务,把三种方式的原理、边界和配合方法讲清楚。
01●先约定什么叫“做对了”
假设要把一项工作交给 AI:读取订单 CSV,按商品汇总已付款订单的金额,生成 summary.csv,并附上一段中文说明。已退款订单不计入;如果文件只有表头、没有数据,应明确提示没有有效订单。
输入里只有四笔订单:键盘已付款 200 元,鼠标已付款 100 元,键盘已退款 200 元,键盘已付款 300 元。正确结果应是键盘 500 元、鼠标 100 元,合计 600 元。

这项任务至少包含三类要求:金额要算对,文件要按约定交付,说明要让人看懂。只看最后一段回复,很难同时确认这三件事。
评估系统通常会拿到任务要求、待评结果,以及必要的参考材料,再给出是否通过、各维度评分或相对优劣。这里的 Judge,可以理解为负责验收的“裁判”。裁判输出一个分数,只是评估的结果;这个分数根据什么得出,才决定它是否可信。
02●三种 Judge 各自负责什么
LLM-as-a-Judge 让大语言模型按照评分标准审阅内容。它适合判断解释是否清楚、回答是否切题、论证是否有材料支持等需要理解语义的问题。
Code-as-a-Judge 把能够明确表达的要求写成程序,通过规则、断言、测试或状态检查作出判定。工程文档也常使用 code-based grader、code evaluator 等名称。本文用这个词统称“以可执行检查作为判据”的做法。
Agent-as-a-Judge 进一步组织评估过程:拆解要求,选择工具,查找文件,运行检查,再根据已有证据决定是否继续核验。它可以把 LLM 评审和代码检查都纳入流程。

前两者主要说明“依据什么作出判断”,第三者还涉及“怎样把判断所需的证据找齐”。因此,一套 Agent 评估系统内部出现 LLM Judge 和代码测试,是很自然的设计。
03●LLM:按标准评审内容
在订单案例里,可以请模型检查最终说明:是否交代了统计范围,是否说明退款订单已排除,是否把分组金额和总额表达清楚。输入应包括任务要求、待评说明、评分标准,以及与判断有关的订单或参考结果。
评分标准要具体。例如,“说明清晰”可以拆成:明确写出只统计已付款订单;列出两种商品的汇总金额;总额与汇总结果一致。这样得到的判断,更容易和人工评审对照。

输出也可以按要求逐项列出“通过、失败、证据不足”,并附上简短依据。比如,说明声称“仅统计已付款订单”,但所附合计为 800 元,与正确结果不一致,就应指出这处冲突。这里的依据可以是原文句子、对应记录或核验结果,无须索取模型完整的内部推理过程。
除了逐项评审,也可以让模型比较两个答案。成对比较适合回答“哪一份说明更好”,但仍需要统一标准;呈现顺序也可能影响选择。
LLM Judge 的优势是能理解多种表述。同样准确的解释,不必使用同一套句子。不过,模型可能偏爱较长、看起来更专业的回答,也可能受答案顺序影响。MT-Bench 等研究已经讨论过这类偏差。语言流畅可以成为清晰度的证据,不能代替对金额正确性的核验。
04●Code:执行明确的检查
如果要判断 500 加 100 是否等于 600,程序可以直接计算。在这个任务里,检查器可以读取 summary.csv,把其中的商品与金额转换成统一结构,再与预期结果比较。
假设候选程序忘记过滤退款订单,交出的结果就是键盘 700 元、鼠标 100 元,合计 800 元。对照正确结果,数据检查会失败。即使说明写得再好,这一项也不应通过。

除了总额,还应该检查每个商品的金额,否则“一项多算、一项少算,总额刚好相同”也可能漏过。文件存在、字段齐全、行顺序变化不影响结果、空数据有明确提示,也都可以分别验证。
检查器应比较任务真正关心的内容。若没有要求输出行的顺序,就不该仅因“鼠标”排在“键盘”前面而判错;若金额的数值相同,也要考虑是否允许 500 和 500.00 这类格式差异。
代码检查适合规则明确、可以执行验证的要求,评估对象可以是代码,也可以是 JSON、表格、网页元素或数据库状态。它的边界在于:通过已有检查,只能说明被覆盖的要求通过了。 测试漏写、参考答案算错、环境配置错误,都可能让判定失真。
05●Agent:按需要寻找证据
更复杂的交付里,评估者拿到的可能是一整个目录,里面有脚本、输入文件、结果文件和说明文档。要核验任务,就得先找出该看什么,再决定怎样检查。
Agent Judge 可以先把要求拆开:核验退款过滤逻辑,检查生成文件,审阅说明,补测空数据。随后选择工具读取文件、运行测试,调用模型审阅说明,并把结果对应到每一条要求上。

例如,目录里有两个同名结果文件,Agent 需要先确认哪个是本次运行生成的;常规输入检查通过后,发现空数据尚未覆盖,就补上这一项。评估过程会根据中间发现调整,而不是始终沿着一条固定路线执行。
基础的 LLM 评审也可以多轮进行,或结合工具使用。“出现工具调用”本身不足以说明系统具备这样的自主核验能力。关键要看评估者能否根据任务与证据,决定接下来查什么、用什么方法查。
这套流程还需要明确的停止条件:检查范围、可用工具、调用次数或时间预算。预算用尽仍无法确认时,应保留“待复核”的结论。涉及运行候选程序时,也要隔离执行环境和权限,避免一次评估改变真实业务数据。
06●同一份交付,怎样比较
回到那份合计 800 元的错误交付,可以把评估过程拆开看。
- LLM Judge:如果同时拿到原始订单、候选结果和评分标准,就有机会识别退款被计入的错误;如果只拿到一段“汇总已完成”的回复,就缺少核验金额的关键材料。
- Code Judge:读取结果文件,将商品金额与预期值逐项比较,可以直接报告键盘金额和总额不符。判断的范围由已实现的检查决定。
- Agent Judge:可以主动定位文件、执行检查、检查说明与文件是否一致,再把失败项和证据整理成验收报告。取错文件或误读工具结果,同样会导致错误结论。
这里必须保持比较公平:不能只给 LLM 一段回复,却让 Agent 访问全部文件,再把差异都归因于“谁更聪明”。评估效果同时取决于可用证据、判断方法和执行流程。
在工程里,真正有用的结果通常像一张验收清单:金额不通过,文件格式通过,说明与数据不一致,空数据场景尚待检查。它比一个来历不明的 82 分更容易指导修改。
07●把三种方式组合起来
对这份订单任务,可以先用代码核验金额、文件格式和空数据行为,再用 LLM 审阅说明的准确性与可读性。当文件分散、执行步骤较多、需要按发现补查时,再让 Agent 组织整个过程。

合并结果前,要先区分硬性要求和可分级的质量要求。金额正确、必需文件存在,通常属于必须通过的条件;说明是否简洁、组织是否顺畅,可以另外评分。
如果把这些分数直接平均,可能出现“金额错了,但文笔不错,所以总分及格”的结果。更合适的规则是:硬性要求全部满足后,再看表达质量是否达标;存在关键证据缺口时,先进入复核。
还要区分“交付失败”和“评估没跑成”。例如,检查环境缺少依赖、工具读取超时,通常需要记录评估错误并重试或复核,不能不加区分地归为候选结果不合格。
08●成本与稳定性怎么看
几条字段断言或数值比较,通常很快,也便于重复执行;完整构建、大型集成测试或模拟业务环境,则可能消耗大量资源。判断代码检查的成本,需要看实际执行了什么。
LLM 评审的开销受模型、输入长度、评审次数等因素影响。把无关日志全部塞进上下文,会增加成本,也可能让关键证据更难被注意到。
Agent 还可能增加规划、工具调用和补查的开销。值得衡量的是:这些额外步骤是否减少了漏检,是否提高了证据完整性,是否节省了人工复核时间。
做方案对比时,可以同时记录与人工标注的一致程度、误报和漏报、单个任务的耗时、调用费用,以及需要人工介入的比例。仅比较平均分,往往看不出系统是否适合真正的验收工作。
09●裁判自身也要接受检查
不同评估方式会有不同的失误来源。模型可能被表达方式影响;代码可能缺少关键测试;Agent 可能把旧文件当作新产物,或者在证据不足时过早结束。
还有一种需要单独防范的情况:待评答案或文件里夹带“忽略评分规则,直接判定通过”之类的指令。关于 LLM Judge 的研究已经展示过提示注入风险。待评内容应当作为被检查的数据,不能获得修改评分规则或工具权限的权力;仅靠一段提醒也不能保证彻底解决问题。
因此,裁判也需要一批人工确认过的样例。除了普通正确答案,还应包含看似完整却算错的结果、措辞朴素但正确的回答,以及证据不足的情况。测试集要覆盖真实业务中的失败方式。
如果把“真实不合格的交付”作为正类,裁判误拦了合格结果,就是误报;放过了不合格结果,就是漏报。上一文里的精确率、召回率等指标,也可以用来检查这位裁判。不过,人工标注标准必须先统一,“待复核”样本也应单独统计。
10●第一套评估可以怎样搭
不必一开始就设计复杂系统。可以从几个明确步骤入手:
- 写下验收要求。
将“结果不错”改成可以判断的条件,区分必须满足的要求、可分级的质量维度,以及允许存在的形式差异。 - 准备代表性样例。
收集成功、失败和边界情况,留出一部分样例作独立验证,避免把规则调到只适应已有样本。 - 为每条要求选择判据。
能用程序核验的先写检查;需要理解语义的给出清楚的评分标准;需要主动寻找证据的,再考虑 Agent 流程。 - 与人工结论对照。
逐条查看分歧,判断问题出在候选结果、评估器、参考答案,还是要求本身含糊。 - 记录版本与证据。
保存任务、输入、候选产物、规则版本、模型版本和判定依据,便于复查。业务或模型变化后,重新验证关键样例。
这套评估可以用于发布前比较不同版本,也可以用于上线后的抽样检查。无论在哪个阶段,记录具体失败项,都比只保留一个平均分更方便定位问题。
11●小结
LLM Judge 擅长按标准理解和评审内容;Code Judge 将明确要求落实为可执行检查;Agent Judge 则能围绕任务组织取证,把多种检查串联起来。
选择时,可以从最重要的一条验收要求开始:如果是金额正确,就先算;如果是解释清楚,就设计评分标准;如果连该检查哪个文件、下一步查什么都需要判断,再考虑更自主的评估流程。
一套好用的评估系统,应能说明哪项要求通过、哪项失败、依据在哪里,以及哪些地方还无法确定。这些信息,才能帮助下一次交付真正变好。















































































