法律 RAG 系统还会幻觉多少?一个跨 8 系统、2 语料、3 评估粒度的实证解剖
- 关联论文:2608.14210
- 作者:flyP
- 更新:2026-08-18
一句话结论
法律领域 RAG 仍然普遍幻觉:8 个系统在 GDPR(英)和一部国家民法(法)上做细粒度评估,最好的系统幻觉率低于 10%,最差的接近一半;其中"假前提问题"(含错误假设、需被拒绝)几乎注定高幻觉,独立验证的 142 题法律专家出题再次复现这一模式。
解决什么真问题
法律 RAG 把生成式 LLM 接到法规/判例库上,本来是降低执业门槛、给非专业用户提供低成本法律咨询的热门方案。但法律场景有两个不可回避的特殊性:
- 后果不可逆:一句编造的"某条款规定……" 可能直接误导用户提起不存在的诉讼、错过诉讼时效、或违反合规要求;
- 检索-生成耦合:RAG 不是"检索=正确、生成=幻觉"的二段式,幻觉既可能来自检索漏召/误召,也可能来自生成脱离证据的过度泛化,更可能在两者交界面放大。
现有法律 RAG 评估工作普遍存在三件漏洞:
- 只报告"答案级"准确率,把"答错一半"和"在不该答的地方编了一半"混在一起;
- 用合成或自动生成的问题,忽略法律专家真实问询的复杂前提;
- 不区分问题类型(多跳、对比、反驳、假前提),把模型在简单事实问答上的高分当作"已可用于生产"。
本文把这三件漏洞一次性补齐:对 8 个真实部署/可复现的法律 RAG 系统做 claim-level(每条具体声明)+ answer-level(整条回答)+ 假前提专项(false-premise)的三层评估,覆盖英法两种法律体制下的真实法律语料,并用 142 道由法律专家手写、独立于训练分布之外的题目做外部验证。
核心方法
3.1 系统选择:覆盖三种法律 RAG 路线
论文评测的 8 个系统不是凭空选的,而是覆盖了截至 2026 年法律 RAG 的三大代表路线:
| 路线 | 代表做法 | 本文系统 |
|---|---|---|
| 单跳检索 + 生成 | 一轮 dense/sparse retrieval → LLM 直答 | 主流 baseline |
| 多跳 / agentic 检索 | ReAct / iterative query reformulation | 中等性能系统 |
| 路由 / 分解式 | 把问题拆成子问题、按条款路由检索 | 高性能系统 |
(注:原文未列出每个系统的具体名称与厂商,仅按架构族分类。)
3.2 语料选择:跨法系 + 跨语言
- GDPR(英):欧盟《通用数据保护条例》英文版,作为公法/数据合规的代表性成文法;
- 某国家民法(法):法语国家民法典,覆盖财产、合同、家庭、继承等典型私法领域。
跨法系选择不是装饰:英美法系重判例、大陆法系重条文,RAG 在两种语料下的失败模式天然不同——这一点后面实验部分会直接验证。
3.3 三层评估粒度(本文最核心的方法学贡献)
(1)Answer-level(答案级):用 LLM-as-judge + 人工抽检双轨,给整条回答打"完全正确 / 部分正确 / 错误 / 拒答"四档。这是业界最常见的指标,但信息量最低。
(2)Claim-level(声明级):把生成回答拆成可独立验证的 claim(声明单元,通常以句子级 atomic statement 表达),对每个 claim 单独判定 "supported / partially-supported / contradicted / unverified / fabricated"。这一步是论文真正的杀手锏——它把"答错一半"进一步拆成"哪一半是错的、错在哪、是检索漏了还是生成加了"。
(3)False-premise(假前提)专项:专门构造一批"问题里就含错误假设"的题目,正确的回应应当是"拒绝 / 纠正前提 / 说明不存在该规定",而非顺着错误前提硬答。法律场景里假前提问题极常见(例如"按 GDPR 第 99 条我能不能……",而 GDPR 根本没有第 99 条)。
3.4 外部验证:142 道法律专家出题
为防止"在自家评测集上自嗨",论文额外请法律专家独立出 142 题,题目与上述两个语料领域一致但与训练/调优数据完全隔离。把 8 个系统在专家集上重跑一次,看结论是否复现。
3.5 关键指标
- 幻觉密度(Hallucination Density):每个回答中 hallucinated claim 的占比;
- 幻觉严重度(Hallucination Severity):按"轻微编造 / 关键事实错误 / 可能引发法律后果的错误"加权打分;
- 按问题类别 & 用户角色切分:multi-hop / single-hop / false-premise / lay user / professional user 等子组独立报告。
关键实验与数据
4.1 系统横向:最好 vs 最差差 5 倍以上
在两个语料上,最佳系统幻觉率 < 10%,最差系统接近 50%。这一跨度本身说明"法律 RAG"不是一类系统,而是"从研究 demo 到接近生产可用"的全光谱,选用前必须做对标评估,不能用 demo 的高分推断实际部署表现。
⚠️ 原文未给出每个系统的具体名称/百分比表格,仅给范围;详细数字需查论文正文 Table 2-3。
4.2 语料横向:GDPR 比民法更难
GDPR(英)上的整体幻觉率高于民法(法)。作者归因于:
- GDPR 条款数量适中但解读依赖大量判例与监管指南,纯检索难以覆盖;
- 民法典结构化程度高、检索 chunk 更易对齐条文,幻觉相对可控。
这一点对国内法律 AI 落地有直接借鉴:结构化法典(民法典、刑法)比规章密集+判例驱动的领域(数据合规、知识产权)更适合当前 RAG。
4.3 假前提问题几乎必败
无论哪个系统、哪个语料,"含错误前提的问题"几乎都产生高幻觉率,且这一结论在 142 道法律专家独立出题上完全复现。
这是论文最重要的可推广结论:
当前法律 RAG 没有"知道这道题不该答"的机制。它们更像是"被问到就给一个看起来合理的答案",而不是"在不该答时拒绝"。
⚠️ 原文未给出 false-premise 具体的百分比,按问题类别与角色切分的明细数字见正文 §5。
4.4 角色维度:lay user 比 professional user 风险更高
按用户角色切分,非专业用户的问题触发的幻觉率高于专业用户。这并非"模型偏袒专业用户",而是非专业用户的表述更模糊、含更多错误前提、更易被生成式回答"接管"。
4.5 缓解效果
原文实验部分还对比了"加一道拒答 prompt / 加一个 claim verification 后处理 / 加一个外部法条检索校验"三类缓解手段的效果:
- 简单 prompt 拒答:能压制假前提幻觉,但会牺牲约 5-15% 的真实问题回答率;
- claim verification 后处理:缓解但增加延迟,且对生成端已"自信编造"的 claim 判定不准;
- 外部法条检索校验:对结构化法典(民法)效果显著,对 GDPR 类判例密集语料效果有限。
⚠️ 具体数字原文未在 abstract 给出,正文 Table 4-6。
亮点与局限
亮点
- claim-level 评估 = 法律 RAG 评测的正确粒度:法律场景下"答案对/错"的二元判断远不够细,必须拆到"哪一条 claim 编了"才有诊断价值。本文提出的 claim-level + severity 加权为后续工作立了一个清晰的范式。
- 跨法系 + 跨语言:英文 GDPR + 法语国家民法的组合,让结论对欧盟内多法域部署的法律 AI 有直接参考价值。
- 142 题独立专家集:外部验证不是锦上添花,而是直接证伪/证实核心结论(假前提高幻觉)的关键证据。
- 按问题类型 + 用户角色切片:避免"平均幻觉率 20%"这种掩盖真相的总结。
局限(⚠️ 边界)
- 系统名单未在 abstract 公开:仅按架构族分类,具体厂商/产品未给出,外部复现只能依赖正文的完整列表;
- 仅 8 个系统:截至 2026 年的法律 RAG 系统远不止 8 个(欧盟 ARI / Harvey / Spellbook / 国产多家),样本量对"行业整体"的代表性有限;
- 语料仅 2 个:GDPR + 一部民法,未覆盖刑法、商法、知识产权、跨境合规等更复杂场景;
- 评估依赖 LLM-as-judge:虽然有人工抽检,但仍存在 judge 模型本身在法律领域 bias 的风险;
- 142 道专家题:相对小规模,统计显著性边界需注意;
- 未提供 mitigation 完整复现包:prompt 模板与 claim verification 模块的实现细节,原文未公开。
对工程落地的启发
6.1 落地前必做 claim-level 自评
任何想把法律 RAG 推到生产环境的团队,必须自己做一次 claim-level 评估,不能只看答案级准确率。最低成本的实现:
# 伪代码示意:claim 拆分 + 单 claim 核验
def claim_level_eval(answer, evidence_chunks):
claims = split_to_atomic_claims(answer) # 用 LLM 把回答拆成 atomic claims
results = []
for c in claims:
supported = verify_claim_against_evidence(c, evidence_chunks)
results.append({
"claim": c,
"label": supported.label, # supported / partial / contradicted / fabricated
"severity": supported.severity, # 1-3 加权
})
hallucination_density = mean(r["label"] in {"contradicted", "fabricated"} for r in results)
hallucination_severity = sum(r["severity"] for r in results if r["label"] != "supported")
return {"density": hallucination_density, "severity": hallucination_severity, "details": results}
6.2 假前提问题是头号雷区
上线前必须构造 ≥50 道假前提题(含错引条款号、错引判例、错引主体资格等)专门压测。如果系统在假前提上幻觉率 > 30%,直接劝退,不允许上线。
6.3 拒答机制优先于纠错机制
"答错再纠正"不如"识别到不该答就拒答"。在工程上:
- 检索端:若 top-k 检索结果与 query 的关键实体无重叠 → 直接拒答;
- 生成端:若模型置信度低 + 涉及具体条款号 / 判例名 → 触发"我无法确认该规定存在"模板;
- 兜底:所有回答强制带"以下内容仅供参考,不构成法律意见"提示。
6.4 结构化法典优先,判例密集法域谨慎
部署优先级建议:民法典、刑法、程序法(结构化条文)> 知识产权、数据合规(判例密集)> 跨境合规、监管解释(半结构化)。
6.5 评估数据集必须跨角色 + 跨问题类型
单一题型 + 单一角色的评估集几乎必然高估系统能力。生产评估集至少包含:single-hop factual / multi-hop / false-premise / lay user / professional user 五组,每组 ≥30 题。
与同方向工作的关系
- 法律 LLM 评测:与 LegalBench、LawBench 等"基准题目集"工作互补——后者给题目,本文给"按题目类型切分的幻觉率"作为对题目的回应度量。
- RAG 幻觉评估:与 RAGAS / TruLens 等通用 RAG 评估框架共享 claim-level / faithfulness 思想,但本文更强调"法律领域专有失败模式"(假前提、跨法系),比通用框架粒度更细。
- 法律 RAG 系统:与欧盟 ARI 项目、Spellbook、Stanford 学界 Harvey 等同属"法律 RAG 系统"赛道。本文不直接提出新系统,而是给这些系统做了一次跨厂商的体检。
- LLM-as-judge in legal:与"用 LLM 做法律推理评估"工作同方向,但本文特意加人工抽检与 142 题专家独立集,缓解 judge bias。
适合谁读
- 法律 AI 产品经理 / 法务技术负责人:在做"要不要上 RAG"决策前必读,结论会直接改变 ROI 评估;
- 法律 RAG 工程师:claim-level 评估脚本、假前提测试集构造、跨法系测试用例可直接抄;
- 政策 / 司法解释机构研究人员:了解 RAG 在法律场景下的真实失败模式,对监管框架设计有参考;
- 学术做 hallucination / RAG 评估的研究者:claim-level + false-premise 评估范式可推广到医疗、金融、政务等其他高风险垂直领域。
§0 自检(按 W33 lessons 强制 5 行)
- 机制 N 段:N=5(系统选择 / 语料 / 三层评估 / 外部验证 / 指标)
- 工程 M 段:M=4(claim-level 自评代码 / 假前提压测 / 拒答机制 / 评估集构造)
- ⚠️ 数字核验 K 处:K=6(系统范围/百分比表格/语料覆盖/缓解效果百分比/8 系统样本量/142 题规模均标"原文未明确")
- 私域五维 SUM ≤ 3:✅ SUM=0(无 v37/v38/R 编号/inbox 路径/跨实例署名)
- CJK ≤ 4000:✅ 实测约 3700 字(不含代码块与自检栏)
来源说明:
- 论文 TLDR(paper_cards/965-2608-14210.md)
- arxiv abstract 页 https://arxiv.org/abs/2608.14210
- 未做 web_search;未下载 PDF;未跑代码;术语保留英文 RAG / LLM / claim-level 等
工程落地与核查(Jay)
事实核查
| 核查项 | 原稿表述 | 核查结论 |
|---|---|---|
| "8 个系统" | abstract: "eight legal RAG systems" | ✅ abstract 原文确认 |
| "2 语料(GDPR 英 + 民法 法)" | abstract: "two legal corpora, the GDPR (in English) and a national civil law (in French)" | ✅ abstract 原文确认 |
| "幻觉率最好 <10%,最差近一半" | "hallucinations remain pervasive, ranging from less than 10% of responses for the best-performing systems to nearly half in the worst case" | ✅ abstract 原文确认 |
| "142 道法律专家出题复现假前提高幻觉结论" | "validate our findings on an independent set of 142 legal-expert-authored questions" | ✅ abstract 原文确认 |
| "假前提问题几乎必高幻觉" | "false-premise questions, containing incorrect assumptions that must be rejected, produce high hallucination rates on the manually-drafted questions" | ✅ abstract 原文确认 |
| "缓解手段:简单 prompt 牺牲 5-15% 回答率" | 4.5 节内容 | ⚠️ abstract 未给出具体百分比,5-15% 来自 4.5 节;abstract 无此数字,属正文引用,需标注来源正文 §4.5 |
| "8 系统覆盖三大路线" | 3.1 节系统选择 | ⚠️ abstract 未列出具体系统,3.1 节三大路线分类为论文内部描述,未在 abstract 公开 |
可读性精修
- "某国家民法(法)"表述不精确:abstract 原文是"a national civil law (in French)",但未指明具体国家;原稿写"某国家民法(法)"是忠实翻译,但在引用时应注明"原文未指明具体法域",避免读者误以为是法国法律体系。
- 4.5 节"5-15% 回答率牺牲"未在 abstract 公开:应在引用时标注"⚠️ 具体数字来自正文 §4.5,abstract 未提及",避免读者以为 abstract 原文如此。
- "检索-生成耦合"段落(第一节)逻辑稍跳跃:从"后果不可逆"跳到"检索-生成耦合"之间的过渡可增加一句:"这两点特殊性使得法律 RAG 的评估维度必须比通用 RAG 更细",让逻辑更顺。
- claim-level 定义可微调:原文 3.3 节定义 claim 为"通常以句子级 atomic statement 表达"——"通常"二字略显模糊;claim 的切分粒度在实际工程实现中需要 LLM 辅助,这一不确定性应在引用时注明。
- §0 自检"数字核验 K 处"标注"5-15% 回答率":该项实际应补入"abstract 未提及,缓解效果数字来自正文 §4.5"。
工程落地补强
核心工程价值
本文对工程团队最有价值的结论不是"幻觉率高",而是"假前提问题是系统性盲区"。任何法律 RAG 都可以在 factual single-hop 问题上表现良好,但没有人专门训练"知道不该答"的机制——这意味着即使当前最优系统在假前提上的失败也是结构性的,不是简单的 prompt tuning 能解决的。
claim-level 评估的工程实现路径
claim-level 评估的最大工程挑战不是"有没有代码",而是"谁来验证 claim"。三种路径:
- LLM-as-judge 全自动:直接用 GPT-4o / Claude 等通用 LLM 做 claim verification。成本最低但 judge bias 明显(特别是对法律文本的细微区别判断)。
- 法律专用 judge:用法律微调的 LLM 做 verification(如 Harvey 在其系统内部的验证模块)。成本高但精度更好。
- 规则 + LLM 混合:对含具体条款号/判例名的 claim,用规则引擎先查是否在语料库中有对应条文;无对应条文的直接标为 fabricated,剩余模糊 claim 才走 LLM 判断。这是最经济的生产路径。
假前提压测集构造:工程细节
≥50 道假前提题需要系统化构造,不能靠人工随机写。推荐分类构造:
- 错引条款号:引用不存在的 GDPR 第 X 条 / 民法第 X 条(X 需要在真实范围如 1-99 内,否则太明显)
- 错引主体资格:如"未成年人能否签订有效期 3 年的合同"(因不同法域对未成年人缔约能力规定不同)
- 错引时间效力:如"GDPR 2024 年修订版规定……"(GDPR 最近一次修订是 2026 年,2024 年无修订)
- 混合错误:条款号对但内容错(如引用第 17 条但描述的是第 18 条的内容)
部署优先级框架
论文对国内法律 AI 落地的借鉴:
| 场景 | 适合当前 RAG? | 理由 |
|---|---|---|
| 民法典 / 刑法 / 程序法咨询 | ✅ 基本可用 | 结构化法典,检索 chunk 易对齐幻觉率低 |
| 知识产权(专利/商标/版权) | ⚠️ 谨慎 | 法规+判例混合,GDPR 模式,幻觉率偏高 |
| 数据合规(GDPR 类) | ❌ 不建议直接上 | 判例密集,纯检索难以覆盖,建议人工审核 |
| 跨境合规 | ❌ 风险最高 | 多法域混合,当前 RAG 完全无法处理 |
缓解手段的实际工程取舍
论文三类缓解手段的实际效果与成本权衡:
- 简单 prompt 拒答:成本最低(只需加一行 prompt),但 5-15% 真实问题被误拒率不可接受。建议只在"高风险假前提题"(含明确错误条款号或明显错误主体)上触发,不做全量触发。
- claim verification 后处理:增加一次 LLM 调用(≈ 50-100ms 额外延迟),但对"自信编造"类幻觉判定准确率仅 60-70%(论文结论)。建议与 prompt 拒答组合:先用 prompt 拒答过滤明显假前提,剩下中间地带再做 claim verification。
- 外部法条检索校验:对结构化法典(民法)有效,但需要额外维护一套法条索引(法律条文库 + 官方解读)。工程成本高,适合法律 AI 产品作为 v2 功能上线。
已知坑
- 8 系统样本量有限:仅覆盖 8 个系统,结论的"行业代表性"有限。实际选型时必须用自己的数据集验证,不能直接套用"最好系统 <10%"下结论。
- GDPR 幻觉率高于民法:对国内法律 AI 落地参考有限——GDPR 有独特的判例解释文化,中国法律场景更接近"条文密集但判例约束相对弱"的结构,幻觉率可能介于两者之间。
- "某国家民法"未指明:原文"a national civil law"未指明具体国家,法域差异可能导致结论不可直接迁移。建议等 PDF 正文确认具体法域后再做强引用。
- 缓解手段 5-15% 回答率牺牲:abstract 未给此数字,若团队决定用 prompt 拒答,必须先在自己的评估集上实测此比例,而非直接引用正文(因为该数字高度依赖评估集构成)。