1. 课程导入
说实话,RAG 这个概念刚出来的时候,我第一反应是——这不就是给大模型配了个「外挂知识库」吗?后来真正在项目里跑了一遍,才发现事情没那么简单。
今天咱们就从 RAG 的来龙去脉讲起。我会结合自己踩过的坑,帮你把这个技术全景看清楚。
1.1 为什么需要 RAG?
大语言模型(LLM)很强,但有两个硬伤:
- 知识截止日期——模型训练完就定格了,新知识它不知道
- 幻觉问题——不懂的它也会编,而且编得跟真的一样
我在做第一个企业知识库项目时,老板问:「能不能让模型回答我们内部 SOP 的问题?」我试了直接微调,结果模型把两个不同版本的流程混在一起,输出了一份「四不像」的操作指南。嗯,那场面挺尴尬的。
RAG 的思路很简单:不把知识塞进模型脑子里,而是让模型在回答时去查资料。就像你考试时允许翻书,而不是把整本书背下来。
核心价值一句话:RAG = 检索(找到相关文档)+ 生成(基于文档回答问题)。它让 LLM 的回答有据可查,可溯源、可更新、可控制。
1.2 RAG 的发展历程
RAG 不是一天建成的。我把它分成三个阶段,每个阶段我都亲手做过,感受很深。
| 阶段 | 时间 | 核心思路 | 我的体验 |
|---|---|---|---|
| 1.0 朴素检索 | 2020-2022 | 向量检索 + 拼接 Prompt | 简单粗暴,但召回质量看天吃饭 |
| 2.0 增强管道 | 2022-2023 | 分块策略、重排序、查询改写 | 效果明显提升,但管道越来越长 |
| 3.0 智能体化 | 2023-至今 | 多步推理、工具调用、记忆管理 | 终于有点「智能」的样子了 |
1.0 阶段:把文档切块,向量化,用户提问时找最相似的几块,拼到 Prompt 里。我最早用 LangChain 搭过一个 demo,效果嘛……用户问「报销流程」,它返回了「报销单填写规范」和「差旅费标准」,但就是没告诉用户第一步该点哪个按钮。
2.0 阶段:大家发现,检索质量才是瓶颈。于是有了各种骚操作——分块策略(按段落、按语义、递归切分)、重排序(把向量相似度高的结果再排一遍)、查询改写(把用户的问题转成更适合检索的形式)。我在一个法律文档项目里试了查询改写,召回率从 62% 直接跳到 81%。
3.0 阶段:RAG 开始和智能体结合。模型不再只是「查一次、答一次」,而是可以多轮检索、调用外部工具、记住对话上下文。比如用户问「对比一下 A 和 B 两款产品的售后政策」,系统需要先分别查 A 和 B 的文档,再对比总结。这已经不是简单的检索+生成了,而是一个会思考的智能体。
我的建议:别一上来就追 3.0。先把 1.0 跑通,再逐步加 2.0 的增强策略。很多项目死在「想一步到位」上。
1.3 RAG 的核心架构
下面这张图是我自己项目里用的标准 RAG 流程。你看一眼,后面每节课都会围绕它展开。
你想想看,这个流程里每一步都有坑。比如分块大小——切太碎,上下文丢失;切太大,噪声太多。我有个项目试了 5 种分块策略,最后发现 512 个 token 配合 128 的 overlap 效果最好。但这没有标准答案,得根据你的文档类型来调。
1.4 RAG 与智能体的关系
很多人问我:「RAG 和智能体到底啥关系?」
我的理解是:RAG 是智能体的「记忆系统」,智能体是 RAG 的「决策大脑」。
- 纯 RAG:用户问一句,系统查一次,答一次。线性流程。
- RAG + 智能体:系统可以自己决定「要不要再查一次」「要不要换个方式查」「要不要调用计算器」。循环流程。
举个例子。用户问:「去年 Q3 的销售额是多少?和 Q2 比增长了多少?」
纯 RAG 的做法:查「去年 Q3 销售额」和「去年 Q2 销售额」,然后让 LLM 算差值。但如果文档里没有 Q2 的数据呢?它就傻眼了。
智能体化的 RAG 会怎么做?它会先查 Q3 数据,发现没有 Q2 数据,然后主动改写查询为「去年第二季度销售额」,再查一次。如果还查不到,它可能去调用数据库接口。这就是多步推理 + 工具调用。
注意:智能体化 RAG 虽然强大,但延迟和成本也上去了。我曾经在一个实时客服项目里试过,每次回答要调 3-5 次 LLM,用户等得直接关页面。后来加了缓存和预检索,才把响应时间压到 2 秒以内。
1.5 未来趋势:RAG 会走向哪里?
我个人判断,未来 1-2 年 RAG 会往这几个方向走:
- 多模态 RAG——不只是查文字,还能查图片、表格、视频。比如用户问「这张图的故障原因是什么」,系统能检索到相关图片并理解内容。
- 结构化数据融合——把数据库、API、知识图谱和文档检索结合起来。说白了,就是让 RAG 既能查非结构化文本,也能查结构化表格。
- 端到端训练——检索器和生成器一起训练,而不是分开调优。Google 的 REPLUG 和 Atlas 已经在试这条路了。
- 轻量化部署——小模型 + 高效检索,让 RAG 能在边缘设备上跑。我最近在试一个 7B 模型 + 本地向量库的方案,效果居然还不错。
我的经验:别被趋势带偏。先把基础 RAG 做扎实——数据清洗、分块策略、检索评估。这些基本功不过关,加再多 fancy 模块也是空中楼阁。
1.6 本章小结
这一章我们聊了:
- RAG 为什么诞生——解决 LLM 的知识截止和幻觉问题
- RAG 的三个发展阶段——从朴素检索到智能体化
- RAG 的核心流程——查询、检索、重排序、生成
- RAG 与智能体的关系——记忆系统 + 决策大脑
- 未来趋势——多模态、结构化、端到端、轻量化
说实话,RAG 这个领域变化太快了。我写这节课的时候,又有两篇新论文出来。但核心思想不会变:让模型学会「查资料」,而不是「背资料」。