← 返回题库
第 179 题 · RAG · 困难

为什么用了 RAG 仍会产生幻觉,如何治理?

核心必会 这代表什么?
✓ 资料核验 来源说明:公开真实面经整理;答案依据原论文原创整理
HallucinationFaithfulnessGrounding
评论与补充 ↓
口述训练

先用自己的话答,再看参考说法

60 秒是练习上限,不是必须凑满。原理题讲清因果,设计题讲清约束,项目题只讲真实证据。

别照着背。参考说法只用于对照;直接回答问题,简单题说清楚就收尾。项目题只用自己的经历和数字。

面试时怎么答

回答最好按故障来源拆开:没检索到、检索到了但上下文有噪声、证据彼此冲突、模型没有遵循证据,以及问题本身不可回答。这样比笼统说“优化 Prompt”更像做过排障。

治理措施要一一对应来源,包括召回与重排、证据去重和冲突标记、引用约束、可回答性判断与拒答。被追问指标时,区分答案正确率、Faithfulness、引用支持率和拒答质量。

可以这样答:

使用 RAG 仍会幻觉,因为问题可能出在多层:相关证据没被召回,召回内容含噪或冲突,上下文超预算,或者模型忽略证据继续凭参数记忆作答。治理要分层做,先提高召回和重排,再清理并标注冲突证据,要求结论绑定引用,对证据不足的问题允许拒答。评测也要拆成检索 Recall、答案正确率、Faithfulness、引用支持率和误拒率。

核心回答

RAG 只能降低部分事实错误,不能消除幻觉。证据可能没有召回、已过期、相互冲突或夹带噪声;即使上下文正确,生成器也可能忽略证据、错误推理,或把参数知识混入答案。治理要同时覆盖检索质量、上下文选择、基于证据的生成、无证据时拒答,以及逐陈述的引用和支持度评估。

展开说明

可以按故障层次归因:

  • Retrieval Miss:所需证据未进入候选集,优先修复解析、切块、Query 和召回。
  • Ranking / Context Noise:证据被无关或冲突片段挤出最终上下文,需要过滤、重排、去重和版本控制。
  • Context Misuse:证据已进入上下文但模型没有正确利用,应检查指令、上下文位置和生成模型能力。
  • Unsupported Generation:答案包含上下文没有支持的陈述,需要 Claim 级引用、支持度检查和拒答策略。

相似度阈值只能说明检索空间中的接近程度,不能单独证明“有足够证据”。“只根据上下文回答”的 Prompt 也不是安全保证;自动 Faithfulness 或 LLM Judge 是代理指标,应与人工标注校准。

工程实践

为答案拆出原子 Claim,检查每个 Claim 是否有明确证据 ID 支持;引用应由实际上下文元数据生成,而不是让模型自由编造链接。建立“无答案、冲突证据、过期文档、恶意文档”测试集,分别跟踪 Context Recall、Context Precision、答案正确率、Faithfulness、拒答精确率和拒答召回率。

常见追问

  1. Faithfulness 与答案正确性有什么区别? Faithfulness 判断陈述是否受到给定证据支持;答案正确性判断它是否符合真实事实,证据本身错误时两者可能一高一低。
  2. 为什么设置向量相似度阈值不能保证有答案? 相似度衡量表示空间接近程度,不等同于文档包含充分答案;不同查询的分数分布也不同,固定阈值难以统一校准。
  3. 如何区分检索失败和生成器没有利用证据? 先人工或用标注检查 Top-K 是否包含充分证据;有证据却回答错属于上下文利用问题,没有则继续查索引、查询和召回。

一句话复习

RAG 的幻觉治理要把“找到证据、选对证据、用好证据、逐条验证”分开处理。

参考资料

无需账号 · 原地交流

评论与补充

评论会直接显示在这道题下面。可以写自己的答法、继续追问或指出错误,不需要 GitHub 账号,也不会跳转到 Issue;内容会公开,请勿填写个人隐私、公司机密或受保密约束的材料。

正在加载评论…