一句话定义
检索增强生成是一种模式,它从模型学习参数之外的来源中检索相关信息,并在模型生成答案之前将其作为上下文提供 [1]。
快速回答
RAG是一种在生成时使用外部检索信息来回答AI问题的方法,无论这些信息是否出现在模型的训练数据中。系统首先搜索文档存储,提取相关段落,将这些段落添加到提示或上下文中,然后让模型根据这些信息进行回答。
这可以使AI系统对公司政策、产品文档、支持知识库、研究笔记和内部程序更有用。它还可以通过将答案基于提供的材料来减少一些幻觉风险。但它不能保证正确性。系统可能会检索到错误的段落,错过正确的文档,使用过时的内容,暴露用户不应看到的数据,或被检索到的文档中隐藏的指令所操纵。
为什么重要
许多有用的AI任务依赖于模型训练数据中没有的信息,或者经常变化的信息。支持策略发生了变化。学校手册更新了。产品有一个新的设置步骤。合同模板有本地例外。RAG为开发者提供了一种实用的方法,可以将模型与选定的知识连接起来,而无需每次重新训练模型。
Lewis及其同事的原始RAG论文将检索与生成结合用于知识密集型NLP任务,将该架构作为研究模式展示,而不是保证真相 [1]。AWS的供应商指南对于实际实施选择(如检索选项和架构权衡)很有用,但应视为实施指南,而不是该概念的唯一中立权威 [2]。
对于组织来说,RAG具有吸引力,因为知识源可以与模型分开管理。团队可以更新文档、删除过时的页面、改进分块并更改权限,而无需训练新的基础模型。这使RAG变得实用,但也意味着答案的质量取决于普通的信息管理任务:干净的文档、清晰的所有权、当前的政策和经过测试的检索。
如何工作
一个基本的RAG系统有三个部分。首先是检索。系统接收用户的问题并搜索文档或结构化记录,通常使用关键词搜索、向量嵌入、元数据过滤器、结构化查询或这些方法的组合。第二是增强,通常更好地描述为上下文组装。系统将检索到的材料添加到模型提示中,通常附带使用它的说明。第三是生成。语言模型使用用户的问题、说明和检索到的上下文来编写答案。
一个RAG答案可能包含引用或来源标签,但只有在准确时,出处才有用。一个引用可能指向一个检索到的文档,但并不支持确切的句子。一段文字可能与主题相关,但与声明无关。模型也可能混合检索到的文本和不支持的语言。这就是为什么源验证仍然是工作流程的一部分。
RAG也会引发安全和治理问题。NIST将生成式AI系统视为在其整个生命周期内进行风险管理的系统,而不是孤立的模型调用[3]。OWASP 2025年针对LLM和生成式AI应用的十大风险包括敏感信息泄露、过度自主性、向量和嵌入弱点以及虚假信息[4]。其提示注入指南还描述了间接攻击,其中恶意指令隐藏在AI系统处理的外部内容中[5]。检索到的文档是这种风险可能出现的地方。
一个构建者应该分别测试每个部分。检索测试询问是否找到了正确的段落。验证测试询问答案是否停留在这些段落内。引用测试询问每个来源标记是否支持其旁边的句子。权限测试询问用户是否被允许检索该材料。端到端测试询问整个系统是否能处理真实用户的问题和失败情况。
端到端示例
想象一个软件公司的客户支持助手。客户问:“如果产品从未激活,45天后可以退款吗?” RAG系统将问题转化为搜索,从退款政策和激活故障排除指南中检索出片段,并将这些段落添加到模型上下文中。
然后模型生成一个回答:“政策规定退款通常在30天内可用,但未能激活的情况可以升级进行审查。请向客户询问激活错误和订单ID。”一个良好的界面应显示用于该答案的政策段落。人工支持人员仍应检查检索到的政策是否最新,客户账户是否有正确的购买日期,并且答案不会暴露内部专用备注。
常见误解
最大的误解是RAG可以消除幻觉。RAG可以降低一些风险,因为模型有相关上下文可供参考。它还可以使失败更容易检查,因为用户可以查看检索到的段落。但系统仍可能在生成前、生成中或生成后失败。
另一个误解是来源链接意味着答案已被证实。检索到的来源必须确实支持该说法。如果答案说“45天后可以退款”,但来源说“通常在30天内可以退款”,那么引用是不够的。
风险和限制
检索失败是主要风险之一。系统可能会检索到一个流行但不相关页面,错过一个罕见的例外,或选择一个缺乏所需上下文的块。过时或缺失的文档是另一个风险。对过时政策的完美搜索仍然会产生过时的基础。
访问控制也很重要。RAG系统不应为没有权限查看的用户检索薪资文件、客户记录、法律笔记或内部安全程序。检索到的文档中的提示注入是另一个风险:恶意或受损的文档可能包含试图覆盖系统任务、泄露数据或更改答案的指令。RAG需要文档卫生、权限、监控和人工审查,以用于高风险用途。
另一个限制是评估。一个演示可能在几个精心挑选的问题上看起来很强,而实际系统在边缘情况、同义词、长文档、冲突政策或缺失信息上失败。一个有用的RAG系统需要好答案、坏检索、无答案情况、过时文档和权限边界的示例。团队还应决定当检索结果较弱、冲突或缺失时产品如何表现:以不确定性回答、提出后续问题、转给人员或拒绝从弱证据回答。
实用判断检查表
在信任RAG答案之前,请问:是否检索到了正确的文档?它们是最新的吗?答案是否仅限于来源支持的内容?引用是否附在支持确切主张的段落上?是否有任何检索到的文档包含敌对指令?用户是否有权限查看每个检索到的来源?如果检索不到任何内容,该怎么办?
对于低风险的起草,RAG答案可以是一个强有力的起点。对于政策、安全、客户、法律、金融、医疗或雇佣决策,需要来源审查和明确的批准负责人。RAG通过将证据更接近模型来减少一些风险,但它不能替代验证。好的系统会在实际使用和审查过程中显式展示不确定性,而不是隐藏它。