第2章 RAG:检索增强生成的诞生与发展

20 阅读18分钟

在第1章中,我们系统分析了大语言模型的四大局限——知识截止、幻觉、数据孤岛和成本困境。这些问题的核心根源在于:大模型的知识被“锁定”在其参数中,无法动态地访问外部世界。那么,如果我们能让大模型在生成回答之前,先从一个可靠的外部知识库中检索相关信息,然后基于这些信息来生成回答呢?

这正是检索增强生成(Retrieval-Augmented Generation, RAG)的核心思想。本章将从RAG的定义出发,回溯其从2020年原始论文到今天的发展历程,梳理其技术演进路线,并探讨RAG为何成为大模型落地的首选方案、以及它与其他大模型技术的关系。

2.1 RAG的定义与核心思想

2.1.1 RAG的学术定义

RAG(Retrieval-Augmented Generation,检索增强生成)的学术定义最早由Meta AI(原Facebook AI Research)团队在2020年的奠基性论文中提出。Lewis等人将RAG定义为一种结合预训练参数化记忆(seq2seq模型)和非参数化记忆(如Wikipedia的密集向量索引)的通用微调方案。简单来说,RAG的核心思想是:不再仅依赖模型内部的参数化知识来生成回答,而是先从外部知识库中检索相关信息,再将检索到的信息作为上下文输入模型来生成回答。

[1] Lewis et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 2020. arXiv:2005.11401

2.1.2 RAG的核心架构

RAG系统的核心架构由三大组件构成:检索器(Retriever)、生成器(Generator)和融合机制(Augmentation)。

检索器(Retriever): 负责根据用户查询从外部知识库中检索相关文档。典型的检索器包括稀疏检索(如BM25)和密集检索(如基于嵌入模型的向量检索)。检索器的质量直接决定了RAG系统的上限——如果检索不到相关文档,即使生成器再强大也无法产生准确的回答。

生成器(Generator): 负责基于检索到的上下文和用户查询生成最终回答。通常使用大语言模型(如GPT、Claude、LLaMA等)作为生成器。生成器需要能够理解检索到的上下文,并基于这些上下文生成准确、有据的回答。

融合机制(Augmentation): 负责将检索到的文档与用户查询进行融合,构建输入给生成器的提示词。融合策略的好坏直接影响生成质量。常见的融合方式包括直接拼接、摘要压缩、重排序后截取等。

[2] LangChain. Retrieval augmented generation (RAG) -- Conceptual Guide. python.langchain.com/docs/concep…

[3] Gao et al. Retrieval-Augmented Generation for Large Language Models: A Survey. 2024. arXiv:2312.10997

2.1.3 RAG的工作流程

RAG系统的工作流程可以概括为以下四个步骤:

步骤1:接收用户查询。 用户提出问题,例如“我们公司的年假政策是什么?”

步骤2:检索相关文档。 检索器将用户查询转化为向量,在知识库中搜索最相关的文档片段。例如,检索到《2024年员工手册》中关于年假政策的章节。

步骤3:融合上下文。 将检索到的文档片段与用户查询拼接,构建输入给大模型的提示词。

步骤4:生成回答。 大模型基于检索到的上下文生成回答,并可选地提供引用来源。

[2] LangChain. RAG Conceptual Guide. python.langchain.com/docs/concep…

[4] LlamaIndex. Introduction to RAG. docs.llamaindex.ai/en/stable/u…

2.1.4 RAG与传统信息检索的本质区别

RAG与传统信息检索(Information Retrieval, IR)的本质区别在于:传统IR系统仅返回文档列表或片段,用户需要自行阅读和提取信息;而RAG在检索基础上增加了LLM生成组件,能够理解检索内容的语义并生成自然语言答案。

此外,传统IR关注召回率和精确率,RAG还需关注生成质量(事实性、连贯性、相关性)。RAG将检索视为中间步骤而非最终目标,检索结果作为生成器的上下文输入。

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

2.2 RAG的起源:从检索增强思想到RAG范式

2.2.1 检索增强思想的萃芽

RAG并非突然出现的,而是检索增强思想长期演进的结果。早在2020年之前,研究者就开始探索如何将信息检索与语言模型结合。三篇重要的先驱工作奠定了RAG范式的基础:

REALM(2020年2月): Google Research团队提出的REALM(Retrieval-Augmented Language Model Pre-Training)是检索增强思想的重要里程碑。REALM的核心洞察是:既然预训练语言模型从海量文本中学习知识,为什么不把检索也变成预训练的一部分?REALM首次展示了如何以无监督方式预训练知识检索器,在三个开放域QA基准上以4-16%的绝对准确率优势超越了所有先前方法。

DPR(2020年4月): Meta AI和Princeton大学团队提出的DPR(Dense Passage Retrieval)证明了开放域QA中的检索可以仅使用密集表示实现。通过简单的双编码器框架,DPR在Top-20段落检索准确率上以9-19%的绝对优势超越了强大的Lucene-BM25系统。DPR成为后续RAG系统中检索器的标准组件。

[5] Guu et al. REALM: Retrieval-Augmented Language Model Pre-Training. ICML 2020. arXiv:2002.08909

[6] Karpukhin et al. Dense Passage Retrieval for Open-Domain Question Answering. EMNLP 2020. arXiv:2004.04906

2.2.2 RETRO:检索增强的进一步探索

2021年底,DeepMind团队发布了RETRO(Retrieval-Enhanced Transformer),将检索增强思想推向了新的高度。RETRO通过条件化从大型语料库(2万亿token)中检索的文档块来增强自回归语言模型。关键的是,RETRO在Pile基准上取得了与GPT-3和Jurassic-1相当的性能,但参数量仅为后者的1/25。这强有力地证明了检索增强的效率优势:通过检索外部知识,可以用更小的模型达到同等的性能。

[7] Borgeaud et al. Improving language models by retrieving from trillions of tokens (RETRO). NeurIPS 2022. arXiv:2112.04426

2.2.3 RAG范式的正式确立

2020年5月,Meta AI团队的Lewis等人发表了奠基性论文《Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks》,正式提出了RAG范式。这篇发表于NeurIPS 2020的论文做出了以下核心贡献:

提出两种RAG模型变体: RAG-Sequence(整个生成序列使用相同检索段落)和RAG-Token(每个token可使用不同段落)。

在多个开放域QA任务上取得SOTA: 证明了RAG范式的有效性。

证明生成质量的显著提升: RAG模型生成的语言比纯参数化seq2seq基线更具体、更多样、更事实性。

提供决策来源(Provenance): 支持知识更新,用户可以追溯回答的信息来源。

这篇论文的发表标志着RAG作为一种独立的技术范式正式确立。Hugging Face很快在Transformers库中提供了RAG模型的官方实现,包括facebook/rag-token和facebook/rag-sequence预训练模型,推动了RAG技术的普及。

[1] Lewis et al. Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. NeurIPS 2020. arXiv:2005.11401

[8] Hugging Face Transformers -- RAG Model Implementation. github.com/huggingface…

2.2.4 RAG范式的推广与成熟

RAG范式的推广经历了三个阶段:

学术探索期(2020-2022): RAG主要在学术界探索,研究者们围绕检索器优化、生成策略改进等方向进行研究。RETRO、WebGPT等工作进一步扩展了检索增强思想的边界。

工业化期(2023-2024): 随着ChatGPT爆火和大模型浪潮的兴起,RAG从学术研究迅速转向工业应用。LangChain、LlamaIndex等开源框架的出现极大地降低了RAG系统的构建门槛,使得开发者可以在几小时内搭建一个工作的RAG系统。

深度优化期(2024年至今): RAG技术进入快速迭代期,Graph RAG、Agentic RAG、多模态RAG等新方向不断涌现,RAG从一个简单的“检索-生成”流水线演变为一个复杂的、模块化的技术体系。

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

2.3 RAG的技术演进路线图

复旦大学Gao等人在其综述论文中首次系统提出了RAG技术的三阶段演进框架:Naive RAG、Advanced RAG和Modular RAG。这一分类已成为学术界和工业界最广泛引用的RAG技术分类框架。

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

2.3.1 Naive RAG:朴素RAG

Naive RAG是最基础的RAG实现,遵循“索引-检索-生成”的直线流程。其工作方式非常简单:将文档切分为固定大小的文本块,通过嵌入模型转化为向量,存储在向量数据库中;收到用户查询后,将查询转化为向量进行相似度搜索,取Top-K个结果拼接到提示词中,最后用大模型生成回答。

Naive RAG的优势是结构简单、易于实现,适合快速原型验证。但它存在以下主要局限:

检索质量不足: 简单的向量检索可能遗漏关键信息或引入噪声,尤其当用户查询表达不清晰或需要多步推理时。

生成质量受限: 当检索结果与查询的相关性不够精确时,生成质量会显著下降。

增强过程粗糙: 直接拼接检索结果和查询,缺乏精细的上下文融合机制。

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

2.3.2 Advanced RAG:高级RAG

Advanced RAG在Naive RAG基础上对每个环节进行了系统性优化,是当前主流的RAG架构。其核心改进包括三个方面:

检索前优化(Pre-retrieval Optimization): 对用户查询进行优化处理,提高检索的准确性。主要技术包括:查询重写(Query Rewriting)——重新表达用户问题使其更适合检索;查询扩展(Query Expansion)——扩展查询的语义覆盖范围;查询分解(Query Decomposition)——将复杂问题拆解为多个子问题;假设性文档嵌入(HyDE)——先生成一个假设性的答案文档,再用它来检索。

检索优化(Retrieval Optimization): 改进检索过程本身。主要技术包括:混合检索(Hybrid Retrieval)——结合稀疏检索(BM25)和密集检索的优势;重排序(Reranking)——对检索结果进行二次精细排序,提升相关性。

检索后优化(Post-retrieval Optimization): 对检索结果进行处理后再输入生成器。主要技术包括:上下文压缩(Context Compression)——去除检索结果中的冗余信息;去重与过滤——删除重复或不相关的内容。

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

2.3.3 Modular RAG:模块化RAG

Modular RAG是RAG架构演进的最高阶段,将RAG系统分解为可替换、可组合的模块,提供最大的灵活性。其核心思想是:

模块化设计: 每个功能(检索、路由、重排、生成等)都是独立模块,可以根据具体任务需求自由组合。

标准化接口: 模块之间通过标准化接口连接,支持灵活的插拔和替换。

可扩展性: 支持插入新模块,如知识图谱检索、多模态检索、外部搜索等。

Modular RAG代表了RAG架构设计的高级阶段,支持路由、分支、循环等复杂拓扑结构,是构建企业级RAG系统的首选架构。

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

2.3.4 三种架构的演进关系

三种RAG架构不是替代关系,而是复杂度和灵活度的递进关系:

架构核心特点优势局限
Naive RAG直线流程:索引-检索-生成简单易实现,适合原型验证检索质量不足,增强粗糙
Advanced RAG对每个环节进行优化性能优异,实现难度适中流程仍较固定,扩展性有限
Modular RAG模块化设计,自由组合最大灵活性,可扩展性强设计和调试复杂度高

 

Naive RAG提供了基础框架,Advanced RAG在此基础上对每个环节进行优化,Modular RAG则打破了直线流程的限制,允许模块的自由组合与替换。对于个人开发者,可以从Naive RAG开始,逐步向Advanced RAG过渡;对于企业级应用,Modular RAG是推荐的架构选择。

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

2.3.5 RAG技术发展的关键里程碑

以下是RAG技术发展的关键时间线:

时间事件意义
2020年2月REALM (Guu et al.)首次将检索引入LM预训练阶段
2020年4月DPR (Karpukhin et al.)证明密集检索可替代BM25
2020年5月RAG (Lewis et al.)Meta AI正式提出RAG范式 (NeurIPS 2020)
2021年12月RETRO (Borgeaud et al.)DeepMind检索增强Transformer,2万亿token规模
2022年WebGPT、LaMDA等检索增强思想的多方向扩展
2023年ChatGPT爆火RAG成为企业落地首选方案
2023年12月Gao et al. 综述系统提出Naive/Advanced/Modular三分法
2024年Graph RAG、Agentic RAG等新方向不断涌现,RAG进入快速迭代期

 

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

[9] Wang et al. Searching for Best Practices in Retrieval-Augmented Generation. 2024. arXiv:2407.01219

2.4 RAG为什么成为大模型落地的首选方案

2.4.1 企业级AI采用率的飞速增长

RAG技术的价值已经被市场充分验证。McKinsey 2025年全球AI调研报告显示,88%的受访组织已在至少一个业务功能中常规使用AI,较上年的78%大幅增长。其中,知识管理(Knowledge Management)已成为AI使用最广泛的业务功能之一,而RAG正是知识管理场景的核心技术。

McKinsey 2024年初的报告进一步指出,生成式AI的采用率从2023年的约33%飙升至65%,知识捕获与信息处理是最常见的AI用例之一。这些数据充分证明,RAG作为连接企业数据与大模型能力的桥梁,已经成为企业AI落地的核心基础设施。

[10] McKinsey. The state of AI in 2025: Agents, innovation, and transformation. 2025.

[11] McKinsey. The state of AI in early 2024: Gen AI adoption spikes. 2024.

2.4.2 RAG的四大核心优势

LangChain官方文档明确指出RAG的四大优势:

信息时效性(Up-to-date Information): RAG可以访问最新的数据,无需重新训练模型。只需更新知识库,模型就能自动获取最新知识,彻底解决知识截止问题。

领域专业知识(Domain-specific Expertise): 通过领域知识库,RAG可以为特定领域提供专业级别的回答。无论是法律、金融、医疗还是制造业,都可以通过构建领域知识库来实现。

减少幻觉(Reduced Hallucination): 基于检索到的真实文档生成回答,为模型提供了事实基础,显著减少虚假信息的生成。RAG原始论文已经实验证明了这一点。

成本效益(Cost-effective Knowledge Integration): 相比昂贵的模型微调或重新训练,RAG是更高效的知识整合方案。只需构建和维护知识库,无需大规模的计算投入。

[2] LangChain. RAG Conceptual Guide. python.langchain.com/docs/concep…

2.4.3 RAG成功案例

RAG技术已经在多个行业展现出显著的业务价值。例如,金融科技公司Klarna将基于RAG的智能问答用于客户服务,其AI助手在首月即处理了三分之二的客户服务对话,报告每年节省约1000万美元成本。微软在其实践报告中分享了将RAG与微调结合的法律领域实践:使用微调让模型学会法律文书的格式和引用规范,同时使用RAG从法律数据库中检索具体法条和判例,两者结合的效果远好于只用其中一种。

[12] Klarna. AI Assistant Press Release. 2024. www.klarna.com/internation…

[13] Microsoft. Azure OpenAI -- Use your data. learn.microsoft.com/en-us/azure…

2.5 RAG与其他大模型技术的关系

2.5.1 RAG与提示工程

RAG本质上是提示工程(Prompt Engineering)的增强和扩展。纯提示工程受限于模型的训练数据——无论提示词如何精心设计,模型都无法回答其训练数据之外的问题。RAG通过动态检索外部知识扩展了提示词的上下文窗口,使模型能够回答关于私有数据和最新信息的问题。

两者的协同关系可以概括为:提示工程定义了“如何向模型提问”,RAG则定义了“如何为模型提供回答所需的背景知识”。在实践中,优秀的RAG系统往往需要同时运用提示工程和RAG技术:用提示工程设计有效的提示词模板,用RAG确保提示词中包含准确的背景知识。

[2] LangChain. RAG Conceptual Guide. python.langchain.com/docs/concep…

2.5.2 RAG与Agent

RAG与AI Agent的关系是相互增强的。一方面,RAG可以作为Agent的工具之一(Tool),Agent在执行多步推理时调用RAG获取外部知识。另一方面,在Agentic RAG架构中,Agent自主决定何时检索、检索什么、如何利用检索结果,实现了从“人工编排RAG流程”到“模型自主RAG决策”的进化。

从架构层面看,LLM是“大脑”,RAG是“记忆”,Agent是“行动”。RAG作为Agent的知识工具,为Agent的决策和行动提供事实基础。McKinsey 2025年报告显示,AI Agent的使用最常出现在IT和知识管理领域,这进一步印证了RAG作为Agent数据底座的核心价值。

[10] McKinsey. The state of AI in 2025. 2025.

[2] LangChain. Retrieval Conceptual Guide. python.langchain.com/docs/concep…

2.5.3 RAG与微调

RAG与微调(Fine-tuning)是互补而非替代的关系。微调将知识“固化”到模型参数中,适合学习领域特定的表达风格、输出格式和行为模式;RAG通过检索动态提供外部知识,适合需要频繁更新知识、引用具体来源的场景。

业界已经形成了一个经典的总结:“Fine-tuning is for form, not facts”(微调适用于形式而非事实)。这句话源自Anyscale官方博客,已成为RAG与微调关系的经典概括。实验证据也支持这一观点:将Shakespeare文本中的“Romeo”替换为“Bob”进行微调,模型并未学会“Bob = Romeo”的新概念,证明微调难以将新知识注入模型。

最佳实践往往是两者结合:用微调学习领域语言风格,用RAG提供实时知识检索。微调使准确率提升超6个百分点,RAG在此基础上进一步提升了5个百分点,两者累计效果显著。

[14] Kadous & Hakhamaneshi. Fine-tuning is for form, not facts. Anyscale Blog, 2023. www.anyscale.com/blog/fine-t…

[15] Balaguer et al. RAG vs Fine-tuning: Pipelines, Tradeoffs, and a Case Study on Agriculture. 2024. arXiv:2401.08406

2.5.4 RAG在AI技术栈中的定位

RAG在AI技术栈中的定位可以从三个维度理解:

纵向层次: 提示工程是最基础的交互方式,定义了“如何向模型提问”;RAG在提示工程基础上增加了知识检索层;微调在更深层次改变模型行为;Agent在最高层实现自主决策和工具调用。

横向关系: RAG与微调是互补技术,与Agent是包含关系(Agent可以使用RAG作为工具),与提示工程是增强关系。

工程架构: RAG位于数据层(向量数据库、知识库)和应用层(LLM应用)之间,是连接企业数据与大模型能力的核心桥梁。

理解RAG与其他技术的关系,有助于我们在实际项目中做出正确的技术选型。在接下来的第3章中,我们将深入探讨RAG与微调、长上下文等技术的对比分析,帮助读者在不同场景下做出最优技术选择。

[3] Gao et al. RAG for Large Language Models: A Survey. 2024. arXiv:2312.10997

[16] Wolfe. A Practitioner's Guide to Retrieval Augmented Generation (RAG). 2024. cameronrwolfe.substack.com/p/a-practit…