SAR LLM vs 模板对照评测 — LLM 必须打败基线才配上线
SAR LLM vs 模板对照评测 — LLM 必须打败基线才配上线
日期: 2026-08-26 阶段: Phase 3 - AML 调查 Copilot 标签: #sar-eval #faithfulness-fluency-tradeoff #paired-comparison #ci-gate
核心问题
Day 71 把规则模板钉成确定性基线,Day 72 把 LLM 接上闭世界引用防护。今天回答一个会决定"LLM 到底配不配上线"的硬问题:怎么严格证明 LLM SAR 比模板基线好,而不是只是"看起来更流畅"?
这个问题藏着一个陷阱。LLM SAR 几乎必然在可读性上碾压模板——模板是 if/else 拼接的官腔,LLM 写得通顺得多。如果只看可读性,LLM 永远赢。但 SAR 是法律文书,可读性赢了不等于该上线:如果 LLM 用"把数字编漂亮"换来流畅,它在事实忠实度上反而可能输给从不犯错的模板。今天的评测设计就是要把这个权衡量化、定边界、进 CI gate。
三件事讲透:
- ≥100 金标上的三维对照评测:完整性、事实忠实、可读性三个轴分别量化 LLM vs 模板。
- LLM 必须打败规则基线:不是"差不多就行",而是设硬门——LLM 在任一合规关键维度低于基线即拒绝上线。
- evals 日跑绿灯:把对照评测接进 CI,每日跑,LLM 退化即红灯。
关键内容
A. 三维对照评测:完整性 / 事实忠实 / 可读性各走各的量法
把 SAR 质量拆成三个正交的轴,每个轴用最适配的量法(不能一个 LLM-judge 全包,因为不同维度的确定性程度不同):
| 维度 | 测什么 | 量法 | 确定性? |
|---|---|---|---|
| 完整性 (completeness) | 5W1H 六槽位是否齐、要素是否漏 | 结构校验(复用 Day 71 assertSarStructure) | 确定性 |
| 事实忠实 (faithfulness) | 每个数字/对手/日期是否对得上证据 | 闭世界锚点验证(复用 Day 72 verifyAnchors) | 确定性 |
| 可读性 (readability) | 流畅、连贯、调查员可用 | LLM judge(Day 17 已校准 κ≥0.6) | 非确定性 |
设计要害:前两维用确定性量法、第三维才用 LLM judge。原因——完整性和事实忠实在 SAR 是合规硬指标,不能交给一个会幻觉的评测器;它们恰好可以确定性地算(槽位非空、锚点对得上)。可读性是软指标、无确定性算法,才动用 LLM judge——而且这个 judge 已经在 Day 17 用 Cohen's κ 对人工校准过(κ≥0.6 才准入),不是裸信。
完整性与事实忠实的量法直接继承前两天的确定性工具,三维评分算法:
function evalSar(draft, case, judge) → {completeness, faithfulness, readability}:
# 维度1 完整性(确定性,复用 Day 71)
struct ← assertSarStructure(draft, case)
completeness ← struct.filledSlots / 6 # ∈[0,1],六槽位非空比
# 维度2 事实忠实(确定性,复用 Day 72)
anchorCheck ← verifyAnchors(draft, case)
faithfulness ← 1 - anchorCheck.violations.length / totalClaims(draft)
# 锚点全对=1.0;每个 phantom/mismatch 扣权
# 维度3 可读性(LLM judge,二元刻度,Day 16 四段式 prompt)
readability ← judge.score(draft, rubric='可读性:流畅+连贯+调查员可直接用')
# ∈{0,1},judge κ≥0.6 才计入
return {completeness, faithfulness, readability}
事实忠实里 totalClaims 是段落里所有挂锚点的原子断言数(Day 72 的 (txId,field,claim));忠实度 = 通过验证的 claim 比例。注意忠实度对模板基线恒为 1.0(Day 71/72 已证:模板的引用结构上不可能 phantom)——这把模板的事实忠实定成了 LLM 必须够到的天花板=地板=1.0。
B. 反直觉核心:LLM 可读性更好,但事实忠实可能更差
这是今天最重要的洞察,也是评测设计的全部理由。学术界 2025 已有明确证据:忠实度与表达力(expressiveness/fluency)存在权衡——Yang, Si & Lin(Breaking the Trade-Off Between Faithfulness and Expressiveness for LLMs, arXiv:2508.18651, 2025)的核心观察:"更顺滑、更自然的输出往往以牺牲对源材料的准确性为代价"(more polished, natural-sounding outputs often sacrifice accuracy to source documents)。多篇 2026 综述印证:LLM 可能产出"流畅却误导"(fluent yet misleading)的内容——语言连贯不代表事实对齐。
把这条搬到 SAR:
可读性 ▲
│ ● 裸 LLM(流畅但偶发幻觉)
LLM+验证 ● │ ↙ 可读性高,但若不验证,忠实度 <1.0
│
│
───────────────┼──────────────────────►
│ ● 模板基线 事实忠实
│ 可读性低 (SAR 合规硬轴)
│ 但忠实度 = 1.0 ↑
│
反直觉洞察①(LLM SAR 可读性更好,但事实忠实可能更差):产品直觉是"LLM 写得顺,全方位吊打模板"。错。可读性是 LLM 的主场,但事实忠实是模板的主场——模板从结构上不可能编造(每个数字直接来自
assessment),而 LLM 即便接了闭世界验证,验证前的原始输出仍可能有 1.9% 量级幻觉(Day 72 引 ServiceNow 数据)。SAR 是法律文书,事实忠实的权重必须压过可读性。一个"可读性 0.95、忠实度 0.97"的 LLM SAR,在合规上输给"可读性 0.6、忠实度 1.0"的模板。把这两维加权平均成一个总分是危险的——会让可读性的高分掩盖忠实度的致命缺陷。
这条洞察直接决定了 C 节的门禁设计:不能用加权总分,必须分维度设硬门。
C. LLM 必须打败基线:分维度硬门 + 配对显著性检验 + 日跑 gate
评测出三维分数后,怎么判"LLM 配不配上线"?错误做法是 0.4·完整性+0.2·忠实+0.4·可读 > 模板总分——加权会让可读性赎买忠实度。正确做法是分维度硬门(lexicographic / 字典序门禁):
function llmGate(llmScores, baselineScores) → {pass, reason}:
# 硬门①:事实忠实不得低于基线(基线=1.0,即 LLM 必须也 =1.0)
if llmScores.faithfulness < baselineScores.faithfulness:
return {pass:false, reason:'忠实度低于基线——禁止上线(合规红线)'}
# 硬门②:完整性不得低于基线
if llmScores.completeness < baselineScores.completeness:
return {pass:false, reason:'完整性退步——漏 5W1H 要素'}
# 软门③:可读性须显著高于基线,否则 LLM 无增值理由(白付 token+幻觉风险)
delta ← perExampleDelta(llmScores.readability, baselineScores.readability) # 配对
sig ← welchPairedTest(delta) # 配对显著性检验
if not (mean(delta) > 0 and sig.pValue < 0.05):
return {pass:false, reason:'可读性未显著超基线——LLM 不值得上线'}
return {pass:true, reason:'忠实≥基线 ∧ 完整≥基线 ∧ 可读显著>基线'}
三道门的逻辑顺序是字典序、不可互换:先卡合规硬轴(忠实、完整),任一不达基线直接拒绝,可读性再高也不看;只有两个合规轴都不输基线,才看可读性是否值回 token 成本。
可读性这道软门为什么要做配对显著性检验而非裸均值比较?因为可读性是 LLM judge 打的、有采样方差。在 ≥100 金标上做**配对(同一案件,LLM 输出 vs 模板输出,同一 judge 打分)**比较,用 Welch 配对检验(2026 A/B 评测 playbook:matched pairs + per-example delta 给最大统计功效)。配对消掉"案件本身难易"的混杂——只剩"LLM 相对模板的净提升"。
反直觉洞察②(≥100 金标 + 配对,才能区分"真提升"与"采样噪声"):团队常拿 LLM 和模板各跑一遍、比平均可读性,"LLM 高 0.05 分,赢了"。但 judge 有方差,0.05 可能纯属噪声。配对设计(同案件对比)+ 显著性检验才能回答"这 0.05 是 LLM 的真本事还是这批样本恰好偏向 LLM"。这与 Day 71 的零方差基线形成对照:完整性/忠实度因确定性无需检验,可读性因有方差必须检验——评测方法要随维度的确定性程度切换。样本量也是合规要求:FinCEN 的 SAR 是高风险产出,≥100 案才有足够功效检测到合规相关的退化。
三维评测在 CI 日跑(接 P1 的 CI gate),红灯条件:
| 维度 | 日跑断言 | 红灯 → 动作 |
|---|---|---|
| 完整性 | LLM ≥ 基线(=1.0 满槽位) | 阻断 merge |
| 事实忠实 | LLM = 基线(=1.0,零 violation) | 阻断 merge + 触发 Day 72 降级回模板 |
| 可读性 | LLM 配对 delta 显著 >0 | 不阻断,但记录"LLM 无增值"告警 |
注意忠实度红灯不只是阻断 merge——它直接联动 Day 72 的降级状态机:生产中某案 LLM 忠实度 <1.0,立即降级回模板出文,绝不让带幻觉的 SAR 草稿流到调查员面前。
LLM vs 模板三维对照(评测产出的决策表样态):
| 完整性 | 事实忠实 | 可读性 | 门禁判定 | |
|---|---|---|---|---|
| 模板基线 | 1.0 | 1.0 | 0.62 | 基准 |
| LLM(理想) | 1.0 | 1.0 | 0.91(显著>) | ✅ 上线 |
| LLM(可读高但漏要素) | 0.83 | 1.0 | 0.93 | ❌ 完整性退步 |
| LLM(流畅但有幻觉) | 1.0 | 0.97 | 0.95 | ❌ 忠实度<基线,合规红线 |
| LLM(忠实完整但不够顺) | 1.0 | 1.0 | 0.66(不显著) | ❌ 无增值,不值 token |
第三、四行正是反直觉洞察①的具象:可读性最高的两个 LLM 变体,恰恰因为合规硬轴退步而被拒。
设计要点/决策表
| 要点 | 决策 | 理由 |
|---|---|---|
| 评测维度 | 完整性/事实忠实/可读性三轴正交 | 不同维度确定性程度不同,量法各异 |
| 量法分配 | 前两维确定性算法,可读性才用 LLM judge | 合规硬指标不交给会幻觉的评测器 |
| judge 准入 | 仅 Day 17 校准过(κ≥0.6)的 judge 计入 | 评测器本身也要被评测 |
| 门禁结构 | 字典序硬门,禁止加权总分 | 防可读性高分赎买忠实度缺陷 |
| 忠实/完整门 | LLM 不得低于基线(=1.0) | SAR 合规红线,1 份幻觉即事故 |
| 可读性门 | 配对显著性检验 delta>0 且 p<0.05 | 区分真提升与 judge 采样噪声 |
| 样本量 | ≥100 金标,配对设计 | 高风险产出需足够功效检测退化 |
| 忠实红灯联动 | 触发 Day 72 降级回模板 | 带幻觉草稿绝不到调查员面前 |
对本项目的落地
- 新建
src/aml/sarEval.ts:实现 A 节evalSar(draft, case, judge)三维评分——完整性调 Day 71assertSarStructure、忠实度调 Day 72verifyAnchors、可读性调已校准 judge。导出llmGate(llmScores, baselineScores)(C 节字典序硬门)与perExampleDelta/welchPairedTest(配对显著性)。 - 新建
src/aml/__tests__/sarLlmVsTemplate.test.ts:在金标案件上对每案同时跑draftSar()(模板)与draftSarLlm()(Day 72 fixture)→evalSar三维 →llmGate。断言:忠实/完整 LLM≥基线方可 pass;可读性 fixture 构造"显著高""不显著"两组验证软门。诚实标注:金标当前 66 案,"≥100"为 v1 目标,W3 扩样到 ≥100 后回填功效;judge 为占位(无生产 LLM key),用 fixture 模拟"已校准 judge"的二元打分。 - 接 CI gate:三维评测进
vitest套件,与 Day 71 基线 eval、P1 类型学 eval 并列为"三组 evals 日跑"。忠实度<基线的红灯在测试里直接 fail(阻断 merge);生产联动 Day 72 降级状态机(后续构建,不谎称已上生产)。 - 复用而非重造:完整性/忠实度评分不写新逻辑,直接调 Day 71/72 的确定性工具——保证"评测用的量法"和"生成时的验证"是同一套代码,杜绝评测与生成口径漂移(呼应 P1 attributeMap 的"独立映射层防漂移"思路)。
- 诚实标注:本日落三维评分函数、字典序门禁、配对检验、对照测试骨架;真实 LLM 跑分、≥100 案功效、生产降级联动为后续构建。表中分数为设计样例,非实测。
参考资料
- Chenxu Yang, Qingyi Si, Zheng Lin — Breaking the Trade-Off Between Faithfulness and Expressiveness for LLMs (arXiv:2508.18651):更顺滑/自然的输出常以牺牲对源材料准确性为代价;忠实-表达力权衡非必然但需专门方法破解 (2025)
- A review of faithfulness metrics for hallucination assessment in LLMs (arXiv:2501.00269) / UniSumEval (arXiv:2409.19898):faithfulness=全/部分/不支持;completeness=是否含全部相关信息;readability=fluency+coherence;NLI [0,1] 蕴含分 (2025)
- FutureAGI — A/B Testing LLM Prompts: The Statistical Playbook (2026):matched pairs + per-example delta + Welch 配对检验 + bootstrap CI 给两臂决策最大功效;MDE/样本量 (2026)
- 2026 hallucination 综述(arXiv:2510.06265 / PMC12518350):LLM 可产"流畅却误导"内容,语言连贯≠事实对齐 (2026)
- 本仓库
src/aml/sarDraft.ts(模板基线,忠实度=1.0)、src/aml/sarCitation.ts(Day 72 verifyAnchors)、docs/aipa/day71-sar-rule-baseline.md(assertSarStructure/确定性基线)、docs/aipa/day17-judge-calibration.md(judge κ≥0.6 准入)、docs/aipa/day16-*(四段式二元 judge)(2026-06)
SOTA 检查 (2026-06-11)
- "多维分维度评测 + 确定性硬指标 + LLM-judge 软指标"是 2026-06 文本生成评测主流:UniSumEval(2025)的细粒度多维评测、FutureAGI A/B playbook(2026)的配对显著性、各家 faithfulness 综述共同确立"不同维度用不同量法、合规硬指标走确定性、软指标才用 judge"。本项目三维设计即此范式在 SAR 域落地。
- 忠实-流畅权衡是 live 的研究前沿:Yang/Si/Lin(2025)等正试图"破解"权衡(让流畅不牺牲忠实)。但截至 2026-06,受监管文本场景不能赌"权衡已被破解"——必须假设 LLM 可能用流畅换忠实,故本项目坚持字典序硬门(忠实优先于可读),不采加权总分。这是反直觉洞察①的工程兑现。
- 是否仍是 SOTA:✅ 是。FIS+Anthropic Financial Crimes Agent(2026-05-04)的 SAR 叙述生成、Fiserv agentOS(2026-05-14)的 AML Triage 均强调人工复核与可溯源——无任何监管认可的"LLM SAR 免对照直接上线"。LLM 必须证明净增益(且不输合规硬轴)才配部署,与本笔记门禁一致。
- 判分方法升级监测:部分团队用 NLI 蕴含模型([0,1] 忠实分)或 G-Eval+ 替代裸 judge 提升与人工一致性;本项目忠实度用确定性锚点验证(比 NLI 更硬、对 SAR 更合适),可读性用已校准 judge,暂不需 NLI;若 coverage 做成序数维度,评估引入 NLI 作第二判官,回填本笔记。
- 过时认知警示:"LLM 写得顺就该上线"是过时产品直觉——2026 受监管场景的铁律是"可读性赢不能赎买忠实度输";加权总分掩盖合规缺陷是踩坑点,本笔记 C 节字典序门禁即解。
- 待跟踪:W3 扩样到 ≥100 金标后实测三维分数与配对显著性;若 LLM 在忠实度反复触红灯,回看 Day 72 闭世界验证是否需加 NLI 级语义核对;监测 EU AI Act Article 50(2026-08-02 生效)对 LLM SAR 草稿的标记要求,Day 74 审计轨迹落地。