小林是明理法律事务所新来的实习助理。他记性好、语速快,客户问什么都能立刻答上,但合伙人老周发现一个危险信号:小林遇到记忆模糊的问题时,要么含糊带过,要么非常自信地背出一段“法条”——而那法条要么根本不存在,要么张冠李戴。对法律咨询来说,这正是最怕的“幻觉”:回答流畅得像真的,内容却经不起查证。老周给小林立了规矩:凡是答复客户,必须先翻原始档案,再起草回答,最后让复核员逐字核对引用的法规是否真实、是否适用。这套“先查档、再起草、最后复核”的流程,正是今天要讲的问答系统幻觉治理与法规引用校验。本文通过小林的故事,拆解幻觉从哪来,以及如何用检索增强生成(RAG)和法规校验机制,让每条法条都有据可查、有源可溯。

岗位关联

掌握幻觉治理与法规引用校验,是进入法律科技领域的核心能力,它直接决定问答系统能否在法律咨询、司法辅助等严肃场景中真正落地。

目录
  1. 可视化演示
  2. 1. 幻觉成因:记忆里的“假法条”
  3. 2. 引用增强RAG:先查档案再开口
  4. 3. 检索优化:不能只靠关键词翻档案
  5. 4. 法规校验:复核员一字一句核对
  6. 5. 系统架构:从受理到回复的完整流水线
  7. 6. 评估指标:怎么判断小林是否合格
  8. 7. 实践应用场景:小林正式上岗
  9. 8. 落地挑战:新法实施与责任边界
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

本节配有交互动效(进入视口后自动加载,约 3KB)。

RAG检索增强生成流程 ——法律问答防幻觉架构 检索:向量相似度从法规库召回Top-K 生成:LLM基于检索结果生成回答 校验:多层引用验证防止编造 幻觉:无RAG时LLM编造法条 Answer = LLM(Query + Retrieved_Context), 引用可追溯

1. 幻觉成因:记忆里的“假法条”

小林第一次独立值班,客户问:“试用期怀孕被辞退合法吗?”小林脱口而出:“根据《劳动法》第30条……”老周听完眉头一皱,因为这条根本不存在。小林不是想骗人,而是脑子里同时闪过好几个相似条文,他选了一个听起来最顺口的。这正是大模型幻觉的起点:模型根据概率分布预测下一个词,在“不确定”的区域里,它依然会勤勤恳恳地继续写下去,把编造的内容包装得无比自然。

从技术上看,诱发幻觉的因素有很多:训练数据本身包含噪声或错误,模型把这些错误当成“标准答案”记住;训练语料存在知识截止时间,新颁布的法规它根本不知道;超长对话中上下文干扰,模型丢失了关键前提。这些因素共同导致模型在高不确定区域里“强行输出”。我们可以用信息熵来量化这种不确定程度:

小林的故事告诉我们:当模型“熵值很高”时,最该做的是放下记忆去查档案,而不是硬着头皮继续编。法律问答系统也一样,检测到不确定就该启动检索,用外部证据支撑回答。

H(X)=−∑i=1np(xi)log⁡2p(xi)\displaystyle H(X) = -\sum_{i=1}^{n} p(x_i) \log_2 p(x_i)
熵越高,说明模型对候选内容越没把握,越容易用编造来填补空白。
  1. 随机变量 X把模型可能输出的候选内容看作一个随机变量,它代表“下一处回答可能是什么”。
    X={x1,x2,…,xn}\displaystyle X = \{x_1, x_2, \dots, x_n\}
  2. 候选概率每个候选内容被选中的概率总和为 1,概率越集中说明模型越肯定。
    p(xi)∈[0,1],∑i=1np(xi)=1\displaystyle p(x_i) \in [0, 1], \quad \sum_{i=1}^{n} p(x_i) = 1
  3. 单点信息量某个候选出现带来的信息量用负对数表示,概率越小,信息量越大。
    I(xi)=−log⁡2p(xi)\displaystyle I(x_i) = -\log_2 p(x_i)
  4. 期望求和对所有候选按概率加权平均,得到整体不确定程度,也就是熵。
    H(X)=∑i=1np(xi)I(xi)\displaystyle H(X) = \sum_{i=1}^{n} p(x_i) I(x_i)

2. 引用增强RAG:先查档案再开口

老周给小林的第二条规矩是:禁止凭记忆回答。他给小林配了一个“档案室”,里面按问题自动调出相关原始文件,让小林看完文件再答复客户。这个“先查档、后起草”的流程,在 AI 里就是引用增强生成。

RAG 的思想非常朴素:不强迫大模型记住所有法条,而是把专业数据库拆成小块,对用户问题做向量检索,召回最相关的条文,再用重排序提升精度,最后让模型基于这些条文生成回答并附上引用。从概率角度,这相当于把“直接生成”变成“基于证据的条件生成”:

对小林来说,档案室就是“外脑”;对系统来说,法规库就是“外脑”。有了 RAG,模型回答时能引用真实条文,但老周也提醒:查了档案不等于不会看错,还需要复核员把关。

P(y∣x)=∑z∈ZP(z∣x) P(y∣x,z)\displaystyle P(y \mid x) = \sum_{z \in Z} P(z \mid x) \, P(y \mid x, z)
回答不再是模型孤军奋战,而是先从候选中挑出可用证据,再结合证据生成答案。
  1. 候选证据集合Z 是从法规库中检索出的候选条文集合,它是生成回答的证据池。
    Z={z1,z2,…,zk}\displaystyle Z = \{z_1, z_2, \dots, z_k\}
  2. 检索概率在给定问题 x 时,模型判断某条文 z 与问题相关的概率。
    P(z∣x)\displaystyle P(z \mid x)
  3. 生成概率在问题 x 和某条文 z 共同作用下,模型生成最终答案 y 的概率。
    P(y∣x,z)\displaystyle P(y \mid x, z)
  4. 加权求和把所有候选条文的贡献按检索概率加权,得到最终回答概率。
    P(y∣x)=∑z∈ZP(z∣x)P(y∣x,z)\displaystyle P(y \mid x) = \sum_{z \in Z} P(z \mid x) P(y \mid x, z)

3. 检索优化:不能只靠关键词翻档案

小林在档案室找文件时,客户问“我被公司辞退了,怎么办?”他只搜索“辞退”两个字,结果漏掉了写着“严重违反规章制度”的关键文件。老周说:你要是只按字面找,必然漏掉真正相关的法条。

AI 里的检索也面临同样问题。关键词检索精确但僵硬,向量检索能理解语义但容易混淆相近概念。法律场景需要“混合检索”:既保留关键词的精确性,又引入向量检索的语义理解。两者得分可以融合,最终用余弦相似度衡量语义匹配程度:

检索优化还有两个关键动作:一是给重要段落更高权重,避免长篇大论稀释关键信息;二是做时效过滤,比如新法实施后,旧法条即使语义相似也不能再引用。这就像小林查档案时,不仅要会找,还要确认文件是不是最新版本。

sim(q,d)=q⋅d∥q∥∥d∥\displaystyle \text{sim}(\mathbf{q}, \mathbf{d}) = \frac{\mathbf{q} \cdot \mathbf{d}}{\|\mathbf{q}\| \|\mathbf{d}\|}
余弦相似度衡量的是两个向量的方向是否一致,方向越接近,语义越相关。
  1. 问题向量把用户问题通过模型编码成向量 q,它是问题语义的数值表达。
    q=(q1,q2,…,qn)\displaystyle \mathbf{q} = (q_1, q_2, \dots, q_n)
  2. 文档向量把候选法条段落编码成向量 d,与问题向量处于同一语义空间。
    d=(d1,d2,…,dn)\displaystyle \mathbf{d} = (d_1, d_2, \dots, d_n)
  3. 点积计算两个向量的对应分量乘积之和,衡量同一方向上的匹配程度。
    q⋅d=∑i=1nqidi\displaystyle \mathbf{q} \cdot \mathbf{d} = \sum_{i=1}^{n} q_i d_i
  4. 归一化除以两个向量的长度,消除文本长度带来的偏差。
    q⋅d∥q∥∥d∥\displaystyle \frac{\mathbf{q} \cdot \mathbf{d}}{\|\mathbf{q}\| \|\mathbf{d}\|}

4. 法规校验:复核员一字一句核对

即便小林从档案室找出了条文,老周依然不放心,因为小林可能把“第34条”背成“第43条”,或者把条号背对但内容张冠李戴。于是老周安排资深复核员,专门核对小林的回答:条号是否存在、条文内容是否与原文一致、当前是否仍有效、引用是否适用于问题。

这个复核环节就是“法规校验”。校验逻辑通常由三部分组成:条号的精确匹配、条文文本的语义相似度、以及置信度阈值。综合得分只有超过阈值,回答才允许放出:

对于高风险回答,校验层还会把结果转给人工复核。技术校验解决“引文是否真实”,人工复核解决“引文是否适用于当前案情”。两者配合,法条才能从“看起来对”变成“真的对”。

V(c)=λ1M(c)+λ2S(c),V(c)≥θ\displaystyle V(c) = \lambda_1 M(c) + \lambda_2 S(c), \quad V(c) \ge \theta
M 负责“有没有引错”,S 负责“引的是不是同一段话”,λ 是两者权重,θ 是放行门槛。
  1. 条号匹配M(c) 表示回答中引用的条号与法规库原文是否存在完全匹配。
    M(c)∈{0,1}\displaystyle M(c) \in \{0, 1\}
  2. 语义相似S(c) 表示引用文本与原文片段的语义相似度,防止条号对但内容错。
    S(c)∈[0,1]\displaystyle S(c) \in [0, 1]
  3. 权重融合用 λ₁ 和 λ₂ 平衡精确匹配与语义匹配的重要性。
    V(c)=λ1M(c)+λ2S(c)\displaystyle V(c) = \lambda_1 M(c) + \lambda_2 S(c)
  4. 阈值判断只有 V(c) 达到阈值 θ 时,系统才确认这条引用可以通过。
    V(c)≥θ\displaystyle V(c) \ge \theta

5. 系统架构:从受理到回复的完整流水线

小林的工作台终于完整了:前台接待记录问题,档案员检索材料,小林起草回复,复核员检查法条。老周把这四个岗位串成一条流水线,每一站都有明确职责。放到系统中,这就是“预处理层 → 检索层 → 生成层 → 校验层”的四层架构。

预处理层负责清洗问题、识别关键词和法律实体;检索层负责召回候选法条;生成层负责结合问题与法条写答案;校验层负责确认引用真实有效。整条流水线可以看作一个复合函数:

这个架构最大的优点是“责任可拆”:哪一层出错,就修哪一层。检索不准就优化检索,校验不严就加强校验,而不是把所有问题都丢给大模型“再训一次”。

A(q)=Validate(Generate(Retrieve(q,D),q),D)\displaystyle A(q) = \mathrm{Validate}\Big(\mathrm{Generate}\big(\mathrm{Retrieve}(q, \mathcal{D}), q\big), \mathcal{D}\Big)
回答不是某一层独立完成的,而是“查档案、写草稿、核引用”的组合动作。
  1. 检索函数从法规库 D 中找出与问题 q 相关的候选条文。
    Retrieve(q,D)={d1,d2,…,dk}\displaystyle \mathrm{Retrieve}(q, \mathcal{D}) = \{d_1, d_2, \dots, d_k\}
  2. 生成函数把问题与候选条文一起交给语言模型,得到一版带引用的草稿。
    g=Generate({d1,d2,…,dk},q)\displaystyle g = \mathrm{Generate}(\{d_1, d_2, \dots, d_k\}, q)
  3. 校验函数用原始法规库核对草稿中的条号和条文,不通过则打回重写。
    Validate(g,D)\displaystyle \mathrm{Validate}(g, \mathcal{D})
  4. 最终输出整体管道把检索、生成、校验三个步骤嵌套执行,得到可交付的回答。
    A(q)=Validate(Generate(Retrieve(q,D),q),D)\displaystyle A(q) = \mathrm{Validate}(\mathrm{Generate}(\mathrm{Retrieve}(q, \mathcal{D}), q), \mathcal{D})

6. 评估指标:怎么判断小林是否合格

为了让小林不重蹈覆辙,老周每月抽查回答质量。他看的不只是“客户满不满意”,而是更硬的三件事:回答是否准确、引用是否真实、观点是否有源可溯。在法律场景,一个回答可以听起来很有道理,但引用却是编的,这种回答必须判为零分。

因此系统需要两个核心指标:幻觉率统计“没有依据的主张占全部主张的比例”,引用正确率统计“正确引用占全部引用的比例”。这两个指标一个盯内容,一个盯来源:

除了这两个指标,还要看“可追溯性”:系统能否让用户一键跳转到原始法条。老周常说:“不能追踪到原文的答案,再流利也是废纸。”这既是评估标准,也是产品底线。

Hallu=NunsupportedNclaims,CiteAcc=NcorrectNcitations\displaystyle \text{Hallu} = \frac{N_{\text{unsupported}}}{N_{\text{claims}}}, \qquad \text{CiteAcc} = \frac{N_{\text{correct}}}{N_{\text{citations}}}
幻觉率越低越好,引用正确率越高越好。两者分开看,才能发现“内容正确但引用错误”的隐蔽问题。
  1. 主张总数N_claims 表示系统回答中所有事实性主张的数量,如“试用期辞退违法”。
    Nclaims\displaystyle N_{\text{claims}}
  2. 无依据主张N_unsupported 表示无法在法规原文中找到依据的主张数量。
    Nunsupported\displaystyle N_{\text{unsupported}}
  3. 引用总数N_citations 表示回答中出现引用标记的总次数。
    Ncitations\displaystyle N_{\text{citations}}
  4. 正确引用数N_correct 表示经过校验后真实、一致且仍然有效的引用数量。
    Ncorrect\displaystyle N_{\text{correct}}

7. 实践应用场景:小林正式上岗

经过一个月考核,小林终于可以参与真实业务。他第一次被派去线上法律咨询窗口,第二周又被调去协助起草诉状,月底还帮企业法务做合规问答。三个岗位看似不同,内核却一致:用 RAG 召回权威资料,用校验层保证引用安全。

在在线咨询场景,系统需要快速回答“离婚冷静期是多久”这类高频问题;在文书辅助场景,系统要自动检查起诉状里引用法条是否真实;在企业合规场景,系统要判断新规是否影响旧有制度。衡量这些场景价值时,常用 F1 分数综合评估准确率与召回率:

小林上岗后发现自己不是“替代律师”,而是“律师的放大器”:系统处理大量重复咨询,律师聚焦复杂案件。这既提高了服务效率,也守住了专业质量。

F1=2×Precision×RecallPrecision+Recall\displaystyle F_1 = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}
F1 是精确率与召回率的调和平均,防止系统靠“少答”或“滥答”刷分。
  1. 精确率系统召回的答案中真正正确的比例,强调“答得准”。
    Precision=TPTP+FP\displaystyle \text{Precision} = \frac{TP}{TP + FP}
  2. 召回率所有应被正确回答的问题中被找到的比例,强调“答得全”。
    Recall=TPTP+FN\displaystyle \text{Recall} = \frac{TP}{TP + FN}
  3. 调和平均把两者放入同一个分数,避免单一指标掩盖短板。
    F1=2×Precision×RecallPrecision+Recall\displaystyle F_1 = \frac{2 \times \text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}

8. 落地挑战:新法实施与责任边界

小林上岗三个月后,遇到一件棘手事:他引用了一份旧条例,可客户所在省份已经实施了新办法。老周叹口气:“法条会变,系统如果跟不上,知识库越全越危险。”这正是法律问答系统落地时最常见的挑战——法规更新。

应对法规更新,系统要给法条打上时间戳,并引入时间衰减权重,让越久远的条文在检索和引用时权重越低:

除了法规更新,还有多法域冲突:同一个问题在不同省份可能有不同适用规则;技术校验通过后,法律责任的边界仍需人类承担;人机协同要求系统遇到高风险问题时主动转人工。老周对小林说:“你做得再好,也只能辅助;最终拍板的,必须是有执业资格的人。”

w(t)=e−λ(tnow−tlaw)\displaystyle w(t) = e^{-\lambda (t_{\text{now}} - t_{\text{law}})}
权重随时间指数衰减,法条越旧,自动降权越明显;新法实施时还能触发缓存清理。
  1. 当前时间t_now 表示系统回答问题的当前时间。
    tnow\displaystyle t_{\text{now}}
  2. 法条时间t_law 表示该法条发布或最后一次修订的时间。
    tlaw\displaystyle t_{\text{law}}
  3. 时间差Δt 表示当前时间与法条更新时间之间的间隔。
    Δt=tnow−tlaw\displaystyle \Delta t = t_{\text{now}} - t_{\text{law}}
  4. 指数衰减λ 越大,旧法条被降权越快,系统更倾向使用新规。
    w(t)=e−λΔt\displaystyle w(t) = e^{-\lambda \Delta t}

AI 应用场景

场景一:在线法律咨询客服

阶段:检索增强生成 + 法规校验

解决的问题:传统人工坐席响应慢、夜间覆盖不足;纯大模型回答又容易出现编造法条的风险。AI 先检索权威法规库,再生成带引用的回答,最后由校验层核对条号与条文,确保“答得快”和“答得准”同时成立。

具体案例:某互联网法律平台上线智能咨询助手。用户问“离婚冷静期是多久”,系统自动检索《民法典》第1077条,生成回答:“自婚姻登记机关收到离婚登记申请之日起三十日内,任何一方不愿意离婚的,可以向婚姻登记机关撤回离婚登记申请。”回答下方附原文链接和条文编号,校验层实时核对通过后才推送给用户。

场景二:诉状文书辅助审查

阶段:语义检索 + 多级校验

解决的问题:基层法律工作者撰写起诉状或答辩状时,容易引用已失效法条或条号笔误。系统自动抽取文书中的法条引用,与最新法规库比对,并检查引用内容是否真实支持该主张,减少“目录里找得到、正文里没有”的尴尬错误。

具体案例:某法院引入文书预检工具,助理法官上传起诉状后,系统在 3 秒内标出两处引用异常:一处是条号笔误,一处是已废止司法解释。系统同时推荐替代法条,帮助起草人快速修正。

场景三:企业合规问答机器人

阶段:混合检索 + 时效过滤 + 人工复核

解决的问题:大型企业员工众多,咨询劳动合同、数据合规、广告法等问题时,希望得到内部统一且合规的答案。但法规更新频繁,如果系统沿用旧知识,很容易给出错误建议。通过时间衰减权重和人工复核兜底,实现“常规问题自动答,高风险问题转人工”。

具体案例:某集团法务部部署合规机器人,员工询问“个人敏感信息可以跨境传输吗”,系统先按内部合规文档与时新法规双重检索,再自动标注法条效力,超过风险阈值时转人工法务审核,最终生成带审批记录的合规答复。

Python 演示

python71 行
# -*- coding: utf-8 -*-"""法律咨询问答幻觉防护的最小演示: 检索 -> 生成 -> 校验"""import mathimport re  class LawQA:    def __init__(self):        self.documents = []        self.doc_ids = []     def load_laws(self, laws):        self.documents = []        self.doc_ids = []        for law_id, text in laws:            self.documents.append(text)            self.doc_ids.append(law_id)     def _terms(self, text):        # 简单按连续中文片段切分, 模拟中文分词        return set(re.findall(r'[\u4e00-\u9fa5]{2,4}', text))     def retrieve(self, question, top_k=2):        q_terms = self._terms(question)        scores = []        for i, doc in enumerate(self.documents):            d_terms = self._terms(doc)            overlap = len(q_terms & d_terms) + 1e-9            score = overlap / math.sqrt(len(q_terms) + 1)            scores.append((score, i))        scores.sort(reverse=True)        return [(self.doc_ids[i], self.documents[i], s) for s, i in scores[:top_k]]     def generate(self, question, hits):        if not hits:            return "您好, 我没有检索到相关法条, 建议咨询专业律师.", []        law_ids = []        parts = []        for law_id, text, score in hits:            law_ids.append(law_id)            parts.append("根据《" + law_id + "》, 相关规定如下: " + text)        answer = "\n".join(parts)        return answer, law_ids     def validate(self, answer, law_ids, docs):        for law_id in law_ids:            if law_id not in self.doc_ids:                return False, "引用了不存在的法条: " + law_id            idx = self.doc_ids.index(law_id)            snippet = docs[idx]            if law_id not in answer or snippet[:8] not in answer:                return False, "引用内容与原文不一致: " + law_id        return True, "所有引用均通过校验"     def ask(self, question):        hits = self.retrieve(question)        answer, law_ids = self.generate(question, hits)        ok, msg = self.validate(answer, law_ids, self.documents)        return {"answer": answer, "ok": ok, "msg": msg}  if __name__ == "__main__":    laws = [        ("民法典第1077条", "自婚姻登记机关收到离婚登记申请之日起三十日内, 任何一方不愿意离婚的, 可以向婚姻登记机关撤回离婚登记申请."),        ("劳动合同法第39条", "劳动者严重违反用人单位的规章制度的, 用人单位可以解除劳动合同."),    ]    qa = LawQA()    qa.load_laws(laws)    result = qa.ask("离婚冷静期是多久?")    print(result["msg"])    print(result["answer"])
目的:演示一个极简的“检索 → 生成 → 校验”法律问答系统,防止模型直接背诵导致幻觉。
  1. overlap = len(q_terms & d_terms) + 1e-9计算问题与法条之间的词条重合度,并加极小值避免除零。
  2. scores.sort(reverse=True)按相关度从高到低排序,模拟检索排序过程。
  3. return [(self.doc_ids[i], self.documents[i], s) for s, i in scores[:top_k]]只返回排名最靠前的候选法条,限制生成时的证据范围。
  4. parts.append("根据《" + law_id + "》, 相关规定如下: " + text)在答案中显式写清法条编号,让引用可追溯。
  5. if law_id not in self.doc_ids:校验环节第一步:检查被引法条是否真实存在于法规库。
  6. if law_id not in answer or snippet[:8] not in answer:校验环节第二步:确认法条编号和正文片段都出现在答案中,防止“引号对内容错”。
  7. ok, msg = self.validate(answer, law_ids, self.documents)把校验结果显式返回,只有 ok 为 True 的回答才应该展示给用户。

常见误区

误区只要给大模型配上 RAG 知识库,幻觉就消失了,回答可以直接上线。

正解RAG 只是把“凭空想象”变成“基于检索结果的生成”,但检索可能漏检、重排序可能排错、模型也可能忽视上下文继续编。就像小林查了档案,却可能看错页码;所以还需要法规校验层和人工抽检兜底。RAG 降低幻觉概率,但不能把概率降为零。

为何常见:RAG 叫“检索增强生成”,听起来像外挂,很多人误以为它天然等于事实正确。

误区只要系统引用的条文真实存在,答案就一定是可靠的法律建议。

正解法条真实,不代表它适用当前问题。比如客户问离婚冷静期,系统却引用了合同履行的法条,虽然法条真实,但答非所问。法规校验不仅要查“条号是否存在”,还要查“条文内容是否一致”“是否仍然有效”“是否适用于场景”。

为何常见:人容易把“来源权威”与“推理正确”混为一谈,看到真实法条就放松警惕。

误区向量检索能理解语义,所以不再需要关键词精确匹配。

正解法律文本讲究精确,条号、名称、日期等结构化信息用关键词匹配更可靠;语义向量擅长处理“意思相近但表述不同”的情况。两者各有优势,法律场景通常采用混合检索,否则容易把“相似但不同”的法条混为一谈。

为何常见:通用对话场景中语义搜索表现惊艳,让人误以为传统检索已经过时。

误区只要技术校验全部通过,AI 就可以全自动对咨询结果负责。

正解技术校验解决的是“引用是否真实、可溯源”,不替代执业律师对案情作出的专业判断。真正承担法律责任的是机构与执业人员,AI 只是辅助工具。系统设计上应当保留人工复核与责任归属机制,避免“算法背锅”。

为何常见:人们喜欢把 AI 拟人化,误以为它能像“数字律师”一样独立承担执业责任。

面试题

Q1. 法律咨询问答系统中最典型的“幻觉”表现是什么?

单选题 · easy

  • A.系统响应速度突然变慢
  • B.流畅引用不存在的法条← 正确答案
  • C.完全无法理解中文提问
  • D.对话记录无法导出保存

答案:B。幻觉的核心特征是“流畅但错误”,尤其表现为模型自信地引用编造或错误的法律条文。响应慢、无法理解中文、记录丢失都属于工程或交互问题,而非模型幻觉。

Q2. RAG 中的“R”指的是什么?

单选题 · easy

  • A.检索增强生成中的检索← 正确答案
  • B.递归神经网络的结构
  • C.强化学习奖励模型
  • D.随机梯度下降算法

答案:A。RAG 全称是 Retrieval-Augmented Generation,中文译为“检索增强生成”,其中 R 代表检索。它的核心是先召回外部证据,再让模型基于证据生成回答。

Q3. 为什么纯靠大模型记忆回答法律问题容易产生幻觉?

单选题 · easy

  • A.模型只是按概率模式续写
  • B.不确定时会编造合理内容← 正确答案
  • C.模型不擅长统计词频
  • D.模型不能访问外部文件

答案:B。大模型本质是根据上下文预测下一个词的概率模型。当它对某个法律知识不确定时,依然会按概率继续生成,把“最像的”补全成“合理但错误”的法条。这不只是外部文件问题,而是概率式生成的固有风险。

Q4. 法规校验层的核心目标是?

单选题 · mid

  • A.让回答语气更自然亲和
  • B.核对引用法条与原文是否一致← 正确答案
  • C.压缩回复长度以节省算力
  • D.自动改写用户提问方式

答案:B。法规校验层负责检查引用条号是否真实存在、条文内容是否与原文一致,以及引用是否仍然有效。它不管语气、长度或提问改写,这些属于自然语言处理与交互设计环节。

Q5. 在“检索优化”中,混合检索的意思是?

单选题 · mid

  • A.只用关键词做精确匹配
  • B.关键词与向量检索并用← 正确答案
  • C.只靠向量相似度匹配
  • D.对输出结果二次审核

答案:B。混合检索同时使用关键词检索和向量语义检索,兼顾精确匹配与语义理解。法律场景中既有条号这类精确信息,又有“严重违反规章制度”这类需要语义理解的表达,因此二者缺一不可。

Q6. 下列哪些措施能降低法律问答系统的幻觉?

多选题 · mid

  • A.引入引用增强生成RAG← 正确答案
  • B.增加法规校验与人工复核← 正确答案
  • C.使用混合检索召回权威法条← 正确答案
  • D.强制关闭所有日志记录

答案:ABC。RAG 让模型基于证据生成,校验层与人工复核确保引用真实,混合检索提升证据召回质量,三者都能降低幻觉。关闭日志记录与幻觉无关,反而会损害可追溯性。

Q7. 评估“引用正确率”时,最合理的口径是?

单选题 · hard

  • A.系统回复法条的总数
  • B.正确引用数除以引用总数← 正确答案
  • C.用户点赞数量多少
  • D.法条文本字符总长度

答案:B。引用正确率的核心是“正确引用数 ÷ 总引用数”,它衡量生成内容中真实、一致且有效引用的比例。系统回复法条总数、点赞数、文本长度都不能反映引用本身的真实性。

Q8. 为什么法律场景不能完全依赖向量相似度检索?

单选题 · hard

  • A.向量检索无法处理英文文本
  • B.相似向量可能指向不同法条← 正确答案
  • C.长文本会降低检索速度
  • D.数据库容量一定非常有限

答案:B。语义相似的表述可能对应完全不同的法律后果,例如“解除合同”和“撤销合同”在向量空间中距离很近,但适用法条不同。法律检索必须结合条号、名称等精确匹配,不能只看语义相似度。

Q9. 法规校验通过后,系统还需要关注哪些落地问题?

多选题 · hard

  • A.新法规实施导致知识过期← 正确答案
  • B.跨地区法条优先规则不同← 正确答案
  • C.AI 是否具备完全法律责任← 正确答案
  • D.法条原文字体是否好看

答案:ABC。新法实施会让旧知识过期,跨地区会带来法条优先顺序差异,AI 的法律责任边界也需要明确;这些都是校验层之后仍要面对的系统性问题。字体美观与法规准确性无关。

Q10. 关于法律问答系统的评估方法,下列说法正确的是?

多选题 · extreme

  • A.幻觉率统计无依据主张占比← 正确答案
  • B.引用正确率可以单独评价系统
  • C.可追溯性要求答案能回溯到原文← 正确答案
  • D.只要引用正确回答就一定正确

答案:AC。幻觉率确实统计无依据主张占全部主张的比例;可追溯性要求每个答案都能回溯到原始法条。但引用正确率不能单独评价系统,还必须结合回答准确率与适用性;引用正确也不等于回答最终正确,因为法条可能不适用于案情。