RAG 系统如何规避大模型幻觉?
从“检索质量门控”到“答案逐条溯源”的生产级方案一、为什么做了 RAG 还会幻觉很多人以为 RAG 把知识库内容塞进 Prompt模型就不会乱说。这个理解只对了一半。RAG 的确能降低幻觉但不能自动消灭幻觉。因为系统里有两件事都可能出错一是检索没有找到正确资料二是资料找到了但模型没有老老实实照着资料说。核心判断RAG 幻觉不是一个问题而是“检索层错误”和“生成层错误”两类问题。前者要靠检索质量门控拦截后者要靠 Prompt、引用和生成后核查压住。检索层幻觉最危险因为模型看到的是空上下文或错误上下文却仍然会给出一个看起来很像真的答案。生成层幻觉更隐蔽因为资料确实召回了用户也会看到系统“有引用”但答案里可能混入了原文没有的推断。二、RAG 防幻觉的四层防线规避幻觉不能只靠一句“请根据资料回答”。生产系统里更稳的做法是把防线拆成四层生成前约束、检索前后门控、生成后核查、结构化溯源。越往后越严格成本和延迟也越高。三、第一层Prompt 强约束先让模型知道边界Prompt 不是万能药但它是成本最低、必须先做的一步。关键不是写一句“根据资料回答”而是明确告诉模型只能使用参考资料资料没有就拒答每个结论都要标来源不允许自己推断。一个可直接落地的 System Prompt 可以这样写system_prompt.txt 你是企业知识库问答助手。请严格遵守以下规则 1. 只能使用【参考资料】中的信息回答问题。 2. 如果参考资料不足必须回答“根据现有资料无法确认。” 3. 不得引入资料外的常识、经验、猜测或补充说明。 4. 回答中的每个关键结论都要标注来源编号例如[1]、[2]。 5. 如果多个资料冲突要说明冲突点不要自行选择看起来更合理的一方。 【参考资料】 {context} 【用户问题】 {question}这段 Prompt 的价值不是让模型“更聪明”而是让模型“更守规矩”。它给了模型一个合法出口资料不足时可以说不知道。高风险系统里允许拒答非常重要。四、第二层检索质量门控低置信度直接拒答如果检索召回的 chunk 本身就不相关再强的 Prompt 也很难救回来。所以第二层要做的是质量门控先召回 Top-K再用 Rerank 模型打相关性分数。如果最高分低于阈值直接拒答或转人工不让模型在低质量上下文上硬生成。Rerank 分数低于阈值时系统应该拒答而不是强行编答案阈值不能拍脑袋。更稳的做法是准备两批测试集一批问题的答案确实在知识库里一批问题的答案不在知识库里。跑完 Rerank 后看两类样本的分数分布再找一个能把二者尽量分开的切点。python def answer_with_retrieval_gate(question: str) - dict: candidates retriever.search(question, top_k20) reranked reranker.score(question, candidates) best_score reranked[0].score if reranked else 0.0 useful_chunks [x for x in reranked if x.score 0.55] if best_score 0.55 or not useful_chunks: return { “answer”: “根据现有知识库资料无法确认该问题。”, “confidence”: “low”, “action”: “reject_or_handoff” } return generator.answer( questionquestion, contextuseful_chunks, require_citationTrue )这一步看起来会让系统“变笨”但它能显著降低一本正经胡说的概率。对客服、金融、合规系统来说答错比不答更危险。五、第三层生成后核查像编辑审稿一样逐条检查Prompt 和门控都属于生成前防控。问题是模型还是可能漏掉约束生成出没有证据支撑的句子。因此还需要生成后核查先把答案拆成多个 claim再检查每个 claim 是否能从召回的 chunk 中推出。python def verify_claims(answer: str, chunks: list[dict]) - list[dict]: claims claim_extractor.extract(answer) verified [] for claim in claims: evidence evidence_matcher.find_supporting_chunks( claimclaim, chunkschunks ) if evidence.supported: verified.append({ “claim”: claim, “status”: “supported”, “source_ids”: evidence.source_ids }) else: verified.append({ “claim”: claim, “status”: “unsupported”, “source_ids”: [] }) return verified生成后核查会多一次模型调用或 NLI/匹配调用成本和延迟都会增加。因此一般不建议所有场景都默认开启。对医疗、法律、合规、合同审查这类高风险场景可以用它换可靠性。六、第四层结构化输出强制每条结论带来源只让模型在自然语言里写“参考资料 1、2”还不够因为程序不好校验。更稳的方式是让模型输出结构化 JSON每个 claim 都必须带 source_ids。这样人能看系统也能自动验证。json { “answer”: “根据资料企业版支持离线部署并提供私有化部署文档。”, “statements”: [ { “claim”: “企业版支持离线部署”, “source_ids”: [2] }, { “claim”: “企业版提供私有化部署文档”, “source_ids”: [5] } ], “confidence”: “high” }拿到 JSON 后系统可以继续做三件事source_ids 是否真实存在claim 和对应 chunk 是否语义匹配如果 confidence 低是否触发降级、追问或人工处理。七、别只看答案要拆开评估检索器和生成器RAG 系统是否容易幻觉不能只看最终答案“像不像对的”。要把检索器和生成器拆开看。检索器负责把证据找回来生成器负责忠实使用证据。RAGAS 的 Faithfulness 指标就是衡量回答是否与检索上下文事实一致一个回答只有当它的所有声明都能被上下文支持时才算 faithful。建议在线上保留这些日志用户问题、召回 chunk、Rerank 分数、最终引用 source_ids、生成答案、核查结果、用户反馈。没有日志就无法定位幻觉到底来自检索漏召回、召回噪声、生成乱发挥还是知识库本身过期。八、生产级方案把防幻觉做成流水线真正上线的系统不应该把所有希望都压在 Prompt 上。更合理的流水线是Query 改写提升召回多路检索扩大覆盖Rerank 门控控制质量生成阶段强制引用生成后再做 claim 核查最后输出带来源的答案。其中最基础、最值得优先落地的是“Prompt 强约束 Rerank 门控”。这两个成本低、收益快。等业务风险变高再逐步加结构化溯源和生成后核查。九、不同场景怎么组合没有一种方案适合所有业务。普通知识库问答追求响应速度金融法律追求可追溯医疗合规追求低错误率。系统设计时要先确认业务风险再决定防线开到几层。十、落地清单上线前至少检查这 12 项☑ 是否区分了检索层幻觉和生成层幻觉☑ System Prompt 是否明确禁止使用资料外知识☑ 资料不足时是否允许模型回答“无法确认”☑ 是否记录了每次召回的 Top-K chunk 和 Rerank 分数☑ 是否设置了最低相关性阈值低于阈值直接拒答☑ 是否要求答案标注来源编号☑ 是否能校验 source_ids 真实存在☑ 是否能发现 claim 与 source 不匹配的情况☑ 是否保留了线上错答样本用于调阈值和改索引☑ 是否有知识库过期、权限不一致、重复文档的治理机制☑ 高风险场景是否开启生成后核查☑ 是否有转人工、追问、低置信度提示等兜底路径一句话总结RAG 防幻觉不是“让模型别乱说”而是用系统机制让它“没证据就不能说有证据也必须标出来”。这里给大家精心整理了一份全面的AI大模型学习资源包括AI大模型全套学习路线图从入门到实战、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等资料免费分享扫码免费领取全部内容1. 成长路线图学习规划要学习一门新的技术作为新手一定要先学习成长路线图方向不对努力白费。这里我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。2. 大模型经典PDF书籍书籍和学习文档资料是学习大模型过程中必不可少的我们精选了一系列深入探讨大模型技术的书籍和学习文档它们由领域内的顶尖专家撰写内容全面、深入、详尽为你学习大模型提供坚实的理论基础。书籍含电子版PDF3. 大模型视频教程对于很多自学或者没有基础的同学来说书籍这些纯文字类的学习教材会觉得比较晦涩难以理解因此我们提供了丰富的大模型视频教程以动态、形象的方式展示技术概念帮助你更快、更轻松地掌握核心知识。4. 2026行业报告行业分析主要包括对不同行业的现状、趋势、问题、机会等进行系统地调研和评估以了解哪些行业更适合引入大模型的技术和应用以及在哪些方面可以发挥大模型的优势。5. 大模型项目实战学以致用当你的理论知识积累到一定程度就需要通过项目实战在实际操作中检验和巩固你所学到的知识同时为你找工作和职业发展打下坚实的基础。6. 大模型面试题面试不仅是技术的较量更需要充分的准备。在你已经掌握了大模型技术之后就需要开始准备面试我们将提供精心整理的大模型面试题库涵盖当前面试中可能遇到的各种技术问题让你在面试中游刃有余。7. 资料领取全套内容免费抱走学 AI 不用再找第二份不管你是 0 基础想入门 AI 大模型还是有基础想冲刺大厂、了解行业趋势这份资料都能满足你现在只需按照提示操作就能免费领取扫码免费领取全部内容