能确定性判定的(字段、数值、格式、路由)用契约与门禁守;会随模型波动的(语义、完整性、口径)用 Eval 加判官守。这是质量体系的全部策略。
本文件定义验收时如何给一条回复打分并判 PASS/FAIL:多维评分表、硬(veto)/软/忽略三档、显式"不判"清单、即时失败条件单列、规则分与 AI 分取严、以及最终通过判据。它是判官(人或 LLM)和确定性校验器共用的统一裁决口径,让验收结果可预测、可复现。
领域智能体的验收有两种引擎:确定性验证器(代码,逐字/重算可判)与 LLM 判官(语义评分)。用错引擎会失败——把数值算数交给 LLM 会算错,把语义相关性写成逐字断言会脆断。本文件给出明确的分工判据、两者取严合并的规则、以及"把 must-not-say 编成确定性短语目录"和"数值不交 LLM 算"两条硬规则。
本文件规定单条 Eval 用例怎么写:字段规范、确定性断言与判官维度的分工、多轮上下文、以及"动态锚点发现"这一关键手法。目标是让任何工程师都能写出可复现、判据明确、不脆断的用例,并与 schemas/eval-case.schema.json 严格对齐。
本文件定义领域智能体的 Eval 总策略:如何用最低成本得到可信的质量信号、用例集如何从零长到能守住生产、以及「哪些判据交给确定性契约、哪些交给 Eval」的分工。它是 quality-system 的入口,下游文件各自展开细节:
本文件定义领域智能体的失败分类法:把每一个失败 case 先归到八个粗桶之一(对应架构责任层),据此决定「先查哪里、修哪一层、修到什么目标」;并规定每修完一个 case 必须产出一条失败分类记录(责任层 / 根因 / 预防 / 回归测试 / 残余风险),因为这条记录比「原始通过率涨了几个点」更有价值——它揭示失败在哪一层聚集。最终用失败原子数(failure atoms)而不是裸通过数来度量进展。
LLM 判官(LLM-as-Judge)不是一个「装上就可信」的组件。它本身是一个概率系统,会漂移、会有偏见、会被自己的措辞锚定。判官在被信任之前必须先被考核;被信任之后必须被持续抽查。 本文给出一套「先考核再上岗、上岗后持续校准」的操作方法,让判官分数可以作为验收信号,而不是又一个需要人去复核的黑盒。
发布不是质量的终点。领域智能体上线后仍会因为真实流量的分布、上游数据的漂移、模型的抖动而在生产里持续产生失效。本文件定义生产质量监控:如何让系统对自己的每一条回复做运行时自我复审并落 ledger、用一套巡检规则捕捉宏观失效信号、把每一次生产失效闭环回 Eval 资产,以及用什么指标衡量这个闭环转得快不快。
领域智能体接了真实数据源、真实权限、真实工具。功能对了不等于安全对了:它可能越权取数、把内部字段泄给用户、被用户话术注入而改变行为、或在没验证过的情况下声称「数据不可用」。安全与权限边界是可测项,不是上线后再看的运气。 本文把安全约束编成红队与安全 eval 用例:越权、数据泄露、提示注入、诚实性、负例/对抗话术,配即时失败条件,并把 AGENTS 红线直接编成 eval。
修复一个 case 只证明了那个 case 变好,没证明其他 case 没被弄坏。领域智能体里,SSOT/分类器/渲染层是共享的,一处修改会跨 case 传播——每次修复后必须跑全量批而非只跑被修的 case,并逐轮 diff 找出新失败。 本文给出回归的收敛环、停止条件、合并期的三路失败归因,以及 golden/baseline 的防盲改棘轮。
本文件定义领域智能体从代码改动到可上线之间的质量门(quality gates):哪些检查是确定性硬门(必须真实 exit 0)、哪些是概率性 Eval 门(统计阈值)、它们在 push / merge / nightly 三级 CI 上如何分层触发、Prompt 漂移如何用「前后分差门」保护,以及最终发布判据如何组织。
领域智能体的验收信号里混着两层随机:模型输出随机(同一输入,两次回答不同)与判官随机(同一回答,两次判分不同)。一个「单次通过」的结果,可能只是这两层噪声凑巧对齐的一次侥幸。本文给出:如何把噪声拆开度量、用稳定复跑作为验收信号、以及用三态判定让不确定的 case 不阻塞流程。
本文件定义领域智能体的 UAT(用户验收测试)策略。UAT 与 Eval 的分工是:Eval 是开发内环 + 回归外环的机器信号(多档成本、可反复跑);UAT 是面向交付验收的、贴近真实用户使用形态的一轮闭卷检验——它必须走用户实际会走的前端渲染/流式/多轮链路,用每条用例自己的验收标准逐条判定,并且产出可交付、可复议的验收结论。