RAG 是什么、企业为什么需要它
这一章讲三件事: 大模型缺什么(它没读过你公司的数据);RAG 怎么补这个缺口、它和微调那条路的分界在哪; 以及企业里 RAG 真正被用来做的那些事。这章是全书的地基:后面十三章讲的全是「把这件事做得更好」的各种办法。
1. 先看缺口:模型再大,也没见过你公司的事
大语言模型(以后简称 LLM)是从海量公开文字里训练出来的。它读过维基百科,读过网上能爬到的网页—— 但它没读过你公司的合同、你客户的账单、你们内部的工艺文档。
这不是小事。一家公司最有价值的数据,恰恰是这些从来没公开过的东西。作者把这个矛盾说得很直白: 现代 LLM 令人印象深刻,但「它们从未见过你公司的私有数据」1。你买最新、最大的模型也没用—— 只要训练时没见过这份材料,模型对它就是无知的。
RAG(全称叫作检索增强生成,Retrieval-Augmented Generation)就是冲着这个缺口来的: 把 LLM 的语言能力, 和你自己数据库里的知识,接到一起。作者称它是「将新数据提供给 LLM 的最流行范式」2。
2. RAG 怎么工作:三个阶段
RAG 的机制一句话就能说完:回答问题之前,先去你的数据里把相关材料找出来,连同问题一起交给 LLM。
拆开看是三个阶段,这三个名字后面每一章都会反复出现:
| 阶段 | 什么时候发生 | 做什么 |
|---|---|---|
| 索引(indexing) | 用户提问之前,通常提前做好 | 把你的数据切好块、转成可搜索的格式、存进专门的数据库 |
| 检索(retrieval) | 用户提问时 | 拿用户的问题去数据里找最相关的几块材料 |
| 生成(generation) | 检索之后 | 把「问题 + 找到的材料」一起交给 LLM,让它照着材料回答 |
书里给出了一个标准提示词模板——提示词即发给模型的指令文字,模板即留了空位的版本——的原文,值得看一眼,因为它说明了生成阶段的本质—— LLM 被明确告知「照着给你的材料答,答不出就说不知道」3:
You are a helpful assistant for question-answering tasks. … If you don't know the answer based on the information provided, just say you don't know.
注意三个阶段的时机不同。 索引是提前做的准备工作;检索和生成发生在用户提问的那一瞬间。 这个区分在第二章的代码里能直接看出来4。
3. RAG 的好处,和它的代价
五条好处
作者列了五条,每条都值得记住,因为后面章节都在兑现它们5:
- 更准、更相关——回答基于你提供的最新数据,而不是模型的旧记忆;
- 可定制——接哪个数据库,它就懂哪个领域;
- 灵活——结构化的表格、非结构化(即没有固定表格格式)的文档、网页都能接;
- 扩展训练之外的知识——不用重新训练模型就能让它「懂」新东西;
- 减少幻觉——幻觉(hallucination,指 LLM 一本正经地编造事实)在纯 LLM 里几乎没法消除; RAG 系统因为 有真实数据在手,可以用数据去校验、拦住胡说的回答6。
六条代价
作者同样不讳言代价,其中三条最要紧7:
- 数据质量决定上限。 数据科学圈的老话:garbage in, garbage out——喂垃圾,吐垃圾。检索库里的数据过时、有偏见、有错,RAG 的输出就带着同样的毛病。
- 更慢、更贵。 一次 LLM 调用本身就要一秒到几秒;RAG 在它前面又加了检索、处理、可能还有多次 LLM 调用,叠加起来延迟显著增加。
- 系统更复杂。 同一份数据从此有多个形态(原文一份、向量一份、存在专门的向量数据库——专门用来存向量、并支持按「远近」快速检索的数据库——里),每一处连接都要维护。
判断(我们的,不是书里的): 这五条好处和六条代价,其实预告了全书的章节结构—— 索引与向量方法(第 04 章)、检索(第 05 章)、评测(第 06 章)、成本与缓存(第 11 章)、幻觉与安全(第 03 章)。 这本书后面的所有技术,几乎都是在缓解这六条代价中的某一条。 如果错,会错在: 如果某项技术(比如语义缓存)其实是为了别的目的而生,这个「代价→技术」的映射——即一一对应关系——就过于整齐了; 但读完后你会发现它基本对得上。
4. 三条路:直接用 LLM、微调、RAG
直接用 LLM ≠ RAG
书里专门回答了一个新手常见疑问:「我在公司里用 ChatGPT 答问题,算不算已经在用 RAG?」 答案是不算。 两者都是生成式(即凭空产出新内容)AI,但直接用 LLM 时,它只能靠训练时学到的东西回答; RAG 多了「先查你自己的数据」这一步8。
微调是另一条路,分工不同
给模型补上你的领域知识,有两条路。微调(fine-tuning) 是拿你的数据继续训练模型, 直接改动模型内部定义它「智能」的那些权重;RAG 不改模型,把知识放在输入里9。
为什么不全部用微调?书里给了一个很好记的解释10:
- 微调像人的长期记忆。 你背过一篇长文,几个月后再回忆,大意还在,细节已经丢了—— 模型微调后也是如此,它擅长学会「怎么做一件事」(比如用律师的口吻说话),不擅长精确记住事实。
- RAG 像人的短期记忆。 材料就摆在眼前,字句、顺序、细节都清清楚楚——要精确回忆事实,摆在眼前比背下来可靠。
还有一个现实差异:上下文窗口(context window,指模型一次能读进来的文字量上限)有限。 早期 GPT-3.5 只有 4,096 个 token——大约 5 页纸;如今最大已到千万 token 级别,折合上万页11。 但窗口变大没有消灭 RAG,原因有二:窗口按 token 计费,什么都塞进去账单惊人; 而且模型在超长文本中间容易漏看关键信息——这个问题有个名字,叫 lost in the middle(迷失在中间), 书里建议把最关键的信息放在提示词的开头或结尾来缓解12。
顺带钉死一个单位:token 是模型处理文字的最小单位,不等于词。 像 ice cream 这样的复合词, 主流模型会切成两个 token;而且上下文窗口是输入加输出共享的,要给回答留出空间13。
| 微调 | RAG | |
|---|---|---|
| 改什么 | 模型内部的权重(永久改变) | 输入的内容(模型不动) |
| 擅长 | 教任务、教口吻、教风格 | 精确的事实回忆、私有可能变化的数据 |
| 成本 | 高(虽有 LoRA——只调一小部分参数的低成本微调法——等降本手段) | 相对低 |
| 知识更新 | 要重新微调 | 更新数据库即可 |
书里的结论一句话:RAG 管事实,微调管任务与领域口吻;两者还能叠加——先用你的领域语料微调出一个「更懂行」的模型,再给它接 RAG14。
5. 企业里 RAG 在做什么
原书第三章把应用场景扫了一遍。挑几个有画面感的:
- 客服与技术支持。 银行的例子最具体:客户问「我的信用卡利率是多少」,这个数据埋在数据库、PDF 和安全层后面, 人工客服都难查;RAG 聊天机器人能在验证身份后直接回答「你的利率是 21.9%」,还能补一句 「你至今只付过两次利息」,并且接着聊房贷、跨账户比较利率——全程记得对话上下文15。
- 个性化电商。 常买环保产品的顾客 Rylee 浏览商品时,商品描述被动态生成,强调可持续性; 关注马拉松训练的她看跑鞋时,描述强调缓震与耐久16。另一位顾客 Aubri 在看登山靴, 系统顺手推荐袜子、背包、登山杖——凑成一次多件购买17。
- 自动化报告。 定期报告先自动生成,报告的数据和底层数据都接进 RAG—— 决策者看完报告可以直接追问数据本身,不用再排队等数据分析师跑数18。
- 员工培训。 按岗位、经验、学习历史定制学习路径,还能按需即查(just-in-time learning), 代替冗长的正式培训19。
一个横跨所有场景的共性需求是给出处:涉及法律文档、科研论文的回答,必须能引用来源—— 这既是可信度问题,也是合规问题。书里用一个小代码实验演示了怎么把出处带上(见第 02 章第 4 节)20。
6. 边界与局限
- 书中列出的模型与数字有时效性(如上下文窗口表截至 2025 年 10 月),机制不过时,数字会过时。
- 「RAG 减少幻觉」是相对纯 LLM 而言的;幻觉仍是 RAG 最大的挑战之一——检索本身也可能失败, 书里明确说幻觉治理需要额外的逻辑层,而这些层本身又依赖 RAG 提供的数据21。第 03 章专门讲这个。
- 应用场景那一章偏「能做什么」的罗列,很少讲「做不好会怎样」——失败模式分散在后面各章(检索失灵、评测、缓存污染)。
7. 可带走的
- RAG 解决的问题只有一句话: LLM 没读过你公司的数据。
- 三阶段:索引(提前)→ 检索(提问时)→ 生成(照材料答)。 全书主线就是不断改造这三个阶段。
- RAG 与微调的分工:事实找 RAG,任务口吻找微调;长期记忆/短期记忆这个类比好记。
- 上下文窗口变大不等于 RAG 没用了——按 token 计费 + lost in the middle,两座大山还在。
- 「用 ChatGPT 不算用 RAG」——少了「先查你自己的数据」这一步。
- 企业场景的共同刚需是给出处——可核查、可追责。
- 幻觉在纯 LLM 里几乎无法消除,RAG 第一次让「用数据拦住胡说」成为可能——但只是可能,第 03 章讲怎么落地。
8. 原文地图
| 主题 | 原书章 | 原文位置 |
|---|---|---|
| LLM 没见过公司私有数据 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:55(搜「never seen your company」) |
| RAG 是最流行范式 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:61(搜「RAG is the most popular paradigm」) |
| 标准提示词模板 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:630(搜「helpful assistant for question-answering」) |
| 三阶段定义 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:604(搜「indexing」) · text/04-fm-what-is-retrieval-augmented-generation.txt:651(搜「Generation」) |
| 五条好处 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:74(搜「Improved accuracy and relevance」) |
| 幻觉既是对立又是挑战 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:86(搜「Removing hallucinations」) · text/04-fm-what-is-retrieval-augmented-generation.txt:115(搜「Hallucinations」) |
| 代价:垃圾进垃圾出/延迟/复杂 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:100(搜「garbage in, garbage out」) · text/04-fm-what-is-retrieval-augmented-generation.txt:106(搜「Computational overhead」) · text/04-fm-what-is-retrieval-augmented-generation.txt:109(搜「Data storage explosion」) |
| 直接用 ChatGPT 不算 RAG | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:519(搜「does that mean my company is using RAG already」) |
| 微调 vs 输入,长期/短期记忆类比 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:550(搜「Fine-tuning」) · text/04-fm-what-is-retrieval-augmented-generation.txt:560(搜「long-term memory」) |
| 上下文窗口 4096≈5 页、千万级窗口 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:563(搜「4,096 token」) |
| lost in the middle 与对策 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:566(搜「lost in the middle」) |
| token≠词、窗口含输出 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:573(搜「ice cream」) |
| RAG 管事实、微调管任务;可叠加 | What Is Retrieval-Augmented Generation? | text/04-fm-what-is-retrieval-augmented-generation.txt:445(搜「fine-tuned model understands your data」) · text/04-fm-what-is-retrieval-augmented-generation.txt:581(搜「RAG is generally superior」) |
| 银行利率例子(21.9%) | Practical Applications of RAG | text/06-fm-practical-applications-of-rag.txt:85(搜「21.9%」) |
| 电商个性化(Rylee/Aubri) | Practical Applications of RAG | text/06-fm-practical-applications-of-rag.txt:151(搜「Rylee」) · text/06-fm-practical-applications-of-rag.txt:169(搜「Aubri」) |
| 自动化报告+追问数据 | Practical Applications of RAG | text/06-fm-practical-applications-of-rag.txt:109(搜「automated reports a part of a larger RAG system」) |
| JIT 学习 | Practical Applications of RAG | text/06-fm-practical-applications-of-rag.txt:259(搜「just-in-time」) |
| 引用出处的需求 | Practical Applications of RAG | text/06-fm-practical-applications-of-rag.txt:268(搜「cite the sources」) |