跳到正文

RAG 怎么减少幻觉?

从外部知识引入到事实准确性提升,3 个维度解析机制

原题:检索增强生成(RAG)如何通过引入外部知识来提升大语言模型的生成质量?请从减少幻觉、提高事实准确性、增强上下文相关性等方面,系统阐述其作用机制与实际价值,并结合应用场景说明其对生成结果的优化效果。

评估与监控 · 淘天真题

回答与解析

RAG的核心架构

RAG = 检索模块 + 生成模块的协同:

  • 检索:将查询向量化,从外部知识库召回Top-K相关文档
  • 增强:将检索结果与原始查询拼接,构建增强上下文
  • 生成:LLM基于增强上下文生成回答,实现"开卷考试"

三大核心价值的实现机制

1. 减少幻觉(Hallucination Reduction)

问题根源 RAG解法
参数化知识边界模糊,模型"自信编造" 检索提供显式证据,约束生成空间
训练数据截止,知识过时 接入实时/私有知识库,动态更新

关键:生成时能看到"参考答案",大幅降低无依据编造

2. 提升事实准确性

  • Grounding机制:每个陈述可追溯至检索片段
  • 多源交叉验证:Top-K检索结果可相互印证
  • 置信度校准:检索为空时可触发"我不知道"而非硬编

3. 增强上下文相关性

  • 动态适配:同一问题,不同用户/场景检索不同知识
  • 长尾覆盖:冷门问题靠检索补全,不依赖参数记忆
  • 领域专精:通用模型 + 垂直知识库 = 专业回答

淘天场景的典型价值

场景 优化效果
智能客服 商品参数、售后政策实时检索,避免"货不对板"
商品文案生成 结合SKU属性库,生成准确规格描述
商家问答 平台规则动态更新,确保政策解读时效性

本质价值:将LLM从"闭卷考试"转为"开卷考试",用显式检索弥补隐式记忆的不可靠性。

学习建议

建议先掌握RAG基本流程,理解检索与生成的协同机制,结合实例分析其在减少幻觉和提升准确率中的作用,多练习实际场景的应用解释。

口语版讲法(约4分钟)

  • 一句话定位:RAG本质是给LLM开卷考
  • 减少幻觉:显式证据约束生成
  • 事实准确:可追溯+多源交叉
  • 上下文相关:动态适配+长尾覆盖
  • 落地风险与工程取舍

这道题问的是RAG怎么提升生成质量,其实本质就一句话:把大模型从闭卷考试变成开卷考试。模型原来靠参数记忆回答问题,遇到知识边界模糊或过时就容易编造。RAG的思路是,生成前先检索外部知识库,把相关文档拼到上下文里,让模型基于证据作答。

具体怎么起作用?我重点讲三个方面。

先说减少幻觉。幻觉的根源是模型在参数里找不到答案时,会自信地编一个。RAG的解法是给它显式证据,每个生成步骤都有检索片段做参考,相当于旁边放着参考答案。模型看到文档里明确写了什么,就不太会跑偏。而且知识库可以实时更新,比如电商平台的售后政策变了,不用重新训练模型,更新文档就行。但这里有个前提:检索质量必须够高。如果召回来的文档不相关,反而会误导模型,产生更严重的幻觉。所以上线我会特别关注召回率和相关性,常用Hybrid Search,就是关键词加向量两条路一起走,再配合Rerank筛一遍。

再一个,提升事实准确性。RAG的生成结果可以追溯到具体的检索片段,这叫Grounding机制。用户追问时,你能说出是参考了哪份文档的哪句话。另外Top-K检索能拿到多个相关片段,它们可以交叉验证。比如两个文档都说同一个参数,那可信度就高;如果互相矛盾,模型需要判断或触发质疑。这里有个常见失败场景:检索为空或质量太差时,模型可能硬编。我会在检索结果置信度低于阈值时,明确让模型回答'我不知道'或建议用户换种问法,而不是强行输出。

第三,增强上下文相关性。同一问题在不同场景下,检索到的知识可以完全不同。比如问'这个商品能退吗',如果是普通商品,查售后规则;如果是生鲜,查特殊退换政策。这种动态适配靠检索实现,不需要为每个场景单独微调。还有长尾问题,像冷门商品的规格,模型参数里可能没有,但文档里写了,检索就能补全。

举个例子,电商智能客服场景。用户问'满减优惠能叠加吗',如果模型凭记忆回答,可能给出过时的政策。RAG会实时从知识库检索最新的满减规则文档,生成答案时附上引用。用户追问'那和店铺券呢',再检索店铺券规则。整个过程完全动态,而且每个回答都有出处,客服复核也方便。

不过落地RAG不是简单的'配个向量库就行'。有几个风险我特别关注。一是文档切分策略,Chunk太大包含无关信息,太小丢失上下文,我倾向用语义切分配合重叠窗口。二是检索延迟,大规模知识库下,ANN检索可能变慢,需要做索引优化,比如用HNSW或IVF-PQ。三是生成质量,检索到的信息可能冗余或冲突,需要Prompt设计或Rerank来整理。

另外,单纯RAG处理多跳推理问题比较吃力。比如问'2023年双十一满减规则和去年比有什么变化',需要先检索2023年规则,再检索2022年规则,然后对比。这时候我会考虑Agentic RAG,让模型自主决定检索步骤,或者用ReAct框架把推理和检索交替进行。

所以整体上,我会把RAG看成一种低成本、可迭代的知识注入方式,适合知识频繁更新或需要高可信度的场景。但它的天花板在于检索质量,如果知识库本身混乱或检索策略粗糙,效果反而比纯模型更差。我更倾向先用混合检索加Rerank打好基础,再根据业务需求决定是否引入Agent或微调。

关键一句:RAG处理多跳推理吃力,可考虑Agentic RAG或ReAct框架让模型自主规划检索步骤。

面试官还可能这样问

  1. 问法 1 · 场景切入

    假设你在做电商客服,用户问‘这个手机续航怎么样’,你直接调大模型回答,它可能瞎编一个电池容量。现在你要引入外部知识库,怎么设计才能让回答既准确又不编造?

  2. 问法 2 · 层层追问

    大模型生成回答时为什么会胡说八道?……那怎么让它基于真实信息来回答呢?……如果给一段检索结果,具体怎么融合到生成中才能减少幻觉?

  3. 问法 3 · 直球架构

    RAG通过检索外部知识来提升生成质量,从减少幻觉、提高事实准确性、增强上下文相关性三个角度,讲讲它的工作机制和实际效果。

同模块相关题目