什么是 RAG:定义、动机与适用边界
本文基于模型知识整理(生成时未联网核对),关键结论建议对照经典文献复核。
一句话定义
RAG(Retrieval-Augmented Generation,检索增强生成)是一种"先从外部知识库检索相关内容、再把检索结果放进上下文让 LLM 生成答案"的架构,用可随时更新的检索系统弥补模型参数化知识的冻结、有限与不可溯源。
为什么重要
LLM 的知识有三个结构性缺陷:过时(训练截止后的事一无所知)、私有(企业内部文档从未见过)、不可溯源(无法指出答案出处,幻觉难以治理)。RAG 用"外挂知识库"同时缓解三者,且成本远低于微调——这使它成为 2023 年以来企业级 LLM 应用的事实标准架构。理解 RAG 的动机,才能判断"这个问题到底该不该用 RAG"。
前置知识
LLM 的上下文窗口概念、生成模型的基本工作方式。
核心概念
- 参数化知识 vs 非参数化知识:前者存在模型权重里(训练后冻结),后者存在外部可检索的存储里(随时更新)。RAG 论文(Lewis et al., 2020)的核心思想就是把两者结合。
- 知识库(corpus):被检索的文档集合(内部 wiki、合同、工单、网页),需先做索引。
- 生成条件化:LLM 不再"凭记忆"回答,而是"基于给定上下文"回答——这个转变是治理幻觉的杠杆点。
- RAG ≠ 微调:微调改的是"模型会什么"(风格、格式、技能),RAG 改的是"模型知道什么"(事实、时效)。知识更新用 RAG,能力塑造用微调。
原理与机制
RAG 有效的三个机制:① 知识外置——事实存储从"十亿参数的模糊记忆"换成"可精确更新的文档库",更新知识=更新文档,不用重新训练;② 上下文条件化——答案被约束在检索到的证据上,模型的任务从"回忆"降级为"阅读理解 + 归纳",出错面大幅缩小且可核查;③ 可溯源——每个答案可以附带检索命中的文档引用,便于人审与审计。
适用边界同样重要。适合 RAG 的:事实问答、企业知识库、文档摘要对话、时效性强的资讯。不适合的:纯推理/数学(检索帮不上忙)、需要风格或格式内化的任务(用微调)、知识高度结构化的事务查询(用 Text-to-SQL 或图数据库直接查,见 kp-022)、上下文小到直接全文塞进去就够的场景(别过度设计)。
图示
用户问题 ──► 检索器(在知识库中找 top-k 相关片段) ──► 拼装 Prompt
│
LLM(阅读理解+归纳) ◄────────────┘
│
答案 + 引用来源
直观类比
闭卷考试 vs 开卷考试:裸 LLM 是闭卷(全凭记忆,记错没人知道),RAG 是开卷(先翻书再作答,答案有页码可查)。微调则是"给考生报培训班"——提升的是做题能力,不是知识储备。
实例或案例
- 企业内部知识助手:接入 Confluence/共享盘,员工问"年假怎么算"直接命中 HR 政策文档。
- 客服工单助手:检索历史工单与产品手册作答,引用工单号。
- 医疗/法律文献助手:检索指南与判例,答案附条款出处——溯源是刚需的领域 RAG 是默认选项。
常见误区
- 误区一:"RAG 能让 LLM 不产生幻觉"。它显著降低幻觉但不能消除——检索不到(召回失败)或模型不忠实于上下文(faithfulness 失败)时照样编造,需评测与防护(kp-016、kp-015)。
- 误区二:"有了长上下文模型就不需要 RAG 了"。长上下文解决"塞得下",不解决"找得准、可溯源、低成本、可更新",两者是互补关系(详见 kp-033)。
- 误区三:"RAG 就是调个向量库"。检索质量只是链路一环,分块、重排、上下文组装、评测任何一环掉链子都会让最终效果崩塌(见 kp-017 调优方法论)。
与其他知识点的关系
自测题
- RAG 与微调分别解决什么问题?
答:RAG 解决"知道什么"(事实、时效、溯源),微调解决"会什么"(风格、格式、任务技能);知识频繁更新选 RAG,能力塑造选微调。
- 为什么说 RAG 的答案可溯源?
答:答案基于检索到的具体文档片段生成,每个片段有出处(文件、位置),可以把引用随答案一起返回供核查。
- 举一个不该用 RAG 的场景并说明理由。
答:如"解一道微积分题"——纯推理任务没有外部事实可检索,检索只会引入噪音;应依赖模型推理能力或专用工具。
延伸阅读
- Patrick Lewis 等, "Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks"(NeurIPS 2020)。
- Gao 等, "Retrieval-Augmented Generation for Large Language Models: A Survey"(2023 综述)。
- Martin Fowler 博客 RAG 架构词条。