开篇
如果你对 RAG 的认知还停留在"向量检索",那你的 RAG 架构可能已经落后了整整两个代际。
我最近看了两篇 RAG 领域教科书级的论文:
- 《Retrieval-Augmented Generation for Large Language Models: A Survey》——RAG 领域的开山综述,首次系统性地提出了 RAG 的三个演进范式
- 《AGENTIC RETRIEVAL-AUGMENTED GENERATION: A SURVEY ON AGENTIC RAG》——RAG 向 Agent 时代跨越的标志
结合这两篇论文,我给大家梳理 RAG 从 1.0 到 4.0 的演进史,还是通过一个智能客服的例子,说清楚这四个版本的迭代本质。
技术没有绝对的好坏,只有适不适合。要结合用户等待时间、问题复杂度分布以及团队内部的技术能力和预算综合评估。
一、第一代:Naive RAG(基础版)
现在时间回到 2020 年,你上线了第一代智能客服。它使用了第一代 RAG 技术,是典型的三段式架构:
第一步:建索引(把所有的 QA 文档、商品说明、售后政策进行切块,转化向量,存进数据库)
第二步:检索(当用户提问:"我买的手机支持以旧换新吗?"系统把用户的问题向量化,去数据库里找跟这个问题最相关的 5 段内容)
第三步:生成(把这 5 段内容和用户问题一起给到智能客服,让它生成回答)
问题来了
检索不精准
用户问"换新",系统可能会检索到"回收政策"这些看似相关、但其实无关的内容。因为向量检索是基于语义相似度——"换新"和"回收"在语义空间里是比较接近的。
信息不完整
完整的"以旧换新"政策往往分散在多份文档里:一份讲适用机型,一份讲折扣规则,一份讲操作流程。一次检索只找到其中一份,答案自然就不完整。
信息拼接混乱
不同时间的文档存在矛盾的信息:有的写"支持 iPhone 12 以上机型",有的写"限 iPhone 13 以上"。AI 把这些互相矛盾的信息硬拼在一起,最后用户看到的就是前后矛盾的答案。
问题主要出在两端:检索前问题不够清晰,检索后结果不精准。准确率约 60%。
二、第二代:Advanced RAG(高级版)
你发现第一代的问题主要出在两端:检索前问题不够清晰,检索结果不精准。于是你开始着手对系统进行升级改造。
检索前优化
查询改写
用户的提问往往很随意。"能换吗"、"支持吗"、"可以吗"——同一个问题问的五花八门。在检索之前,先让 AI 把用户的问题扩写、澄清,生成多个表述。
用这改写后的问题同时去检索,覆盖面一下子扩大了。
假设答案法(HyDE)
先让 AI 根据问题生成一段"假设性答案":"本平台支持以旧换新服务,符合条件的旧机型 blabla"
然后用这段假设答案去检索——因为答案的语义比问题更接近真实文档,检索效果往往更好。
更精细的索引策略
更精细的文档切块策略,切块后的数据添加元数据标签。
检索后优化
重排序(Reranking)
初步检索可能找到 50 个候选段落,但只有 top 5 个会被送给 AI。怎么确保这 5 个是最有用的?
用一个专门的"重排序模型",对这 50 个候选做精细打分,把最关键的排到最前面。
混合检索
向量检索擅长理解语义,但对专有名词不敏感。"iPhone 14 Pro Max"和"iPhone 14 Pro"在向量空间里很接近,但用户问的是 Pro Max,你给 Pro 的答案就是错的。
把向量检索和关键词检索结合起来。向量检索负责找"语义相关"的内容,关键词检索负责精准匹配专有名词,两者结果合并、去重、重排序。
经过这轮优化,智能客服的准确率从 60% 提升到了 80%。用户投诉明显减少。
三、第三代:Modular RAG(模块化版)
但新的问题又来了——用户问了一个多步骤、跨领域的复杂问题:
"我在北京,想给在上海的朋友买个手机当生日礼物,能直接发到上海吗?如果他不喜欢能退吗?退货运费谁出?"
这涉及:
- 异地配送政策
- 退货政策
- 运费承担规则
第二代 RAG 的固定流程傻眼了——一次检索,找什么?找配送?找退货?还是找运费?
模块化架构
第三代 Modular RAG 打破了固定流程,把 RAG 拆成一堆可以自由组合的功能模块:
路由模块
根据问题类型,智能决定查哪个数据源。
记忆模块
记住对话历史,理解"他"、"这个"这类指代词。
融合模块
对多个来源的结果去重、合并,避免重复信息。
检索模块
支持迭代检索、递归检索、自适应检索等多种方式。
灵活的检索方式
迭代检索
不是一次性检索,而是交替进行"检索→生成→再检索→再生成"。比如刚才那个问题:三个问题进行三轮检索。
递归检索
先检索目录,再检索内容。这个在电商场景用的不多,一些论文著作的检索用的比较多。
自适应检索
根据当前结果质量,动态决定是否继续检索。如果第一轮检索的结果已经足够回答问题,就直接生成答案,不浪费时间;如果不够,就继续查。
第三代 RAG 让智能客服真正具备了应对复杂咨询的能力。准确率提升到 85%,复杂问题的解决率翻倍。
四、GraphRAG:知识图谱增强
在讲第四代 RAG 还需要介绍一个概念——GraphRAG。
用户问:"我上个月买的那款你们跟某品牌联名的限量版手机,它的设计师之前还设计过哪些产品?"
这个问题需要理解多层关系:
商品 → 联名品牌 → 设计师 → 其他作品
传统向量检索完全懵了——它处理的是孤立的文本片段,不理解实体之间的关系。
微软的革命性方案
微软提出了一个革命性方案:用知识图谱重构 RAG。
建库阶段
不只是把文档切块存向量,而是:提取实体,以及实体的关系,把这些实体和关系连成一张网,建立图谱,再进行聚类索引。
查询阶段
不是在图谱上做推理:定位到商品 → 找到联名品牌 → 找到设计师 → 遍历设计师的所有作品。
GraphRAG 不算是第三代的升级,它补充了普通向量检索覆盖不到的多跳推理和全局分析的场景。但 GraphRAG 建图成本高,查询慢,考虑到成本问题,使用的公司不多。
五、第四代:Agentic RAG(智能体版)
Modular RAG 和 GraphRAG 分别从"管道灵活性"和"知识表示结构"两个维度大幅提升了 RAG 的能力,但它们都有一个共同的根本性限制:被动响应。
用户提问,系统响应,没有主动规划,没有自我反思,不会在发现答案不够好时主动补充检索,更不会把复杂任务拆解成多步执行计划。
Agentic RAG 的突破
这个限制催生了 RAG 的第四代演进:Agentic RAG。
用户问:"我想买个手机送给妈妈,她不太会用智能手机,你帮我推荐一下,顺便告诉我怎么教她用。"
这不是一个简单的 FAQ 查询,而是一个需要主动规划,多步执行,综合决策的复杂任务。
第四代的突破
将自主 AI 智能体(Agent)嵌入 RAG 管道。智能体不只是被动地执行检索-生成的固定步骤,而是能够规划任务,使用工具、评估结果、迭代优化,在整个回答生成过程中扮演主动决策者的角色。
比如刚才给母亲买手机的问题,客服会先制定方案:
分析需求
老年人,不太会用,需要推荐 + 教程
拆解任务
- 子任务 1:检索"适合老年人的手机"
- 子任务 2:检索"老年人手机使用教程"
- 子任务 3:整合推荐 + 教程
工具箱 + 评估迭代
智能客服能评估自己的输出:检索到的内容够好吗?生成的推荐真的符合需求吗?教程是否足够详细?不满意就自动重来,直到满意为止。
准确率提升到 90%+。真正具备了主动规划、多步执行、综合决策的能力,像人类顾问一样工作。
六、一张图看懂 RAG 的进化
| 代际 | 核心特征 | 客服能力 | 准确率 |
|---|---|---|---|
| 1.0 Naive RAG | 固定流程:切块→检索→生成 | 只能回答简单 FAQ | 60% |
| 2.0 Advanced RAG | 精细化优化:问题改写+重排序+混合检索 | 能回答大部分标准问题 | 80% |
| 3.0 Modular RAG | 模块化+自适应:灵活组合,迭代检索 | 能处理复杂多步骤咨询 | 85% |
| Graph GraphRAG | 知识图谱+关系推理 | 能理解实体关系,做多跳推理 | 特定场景 90%+ |
| 4.0 Agentic RAG | Agent 加持:规划+工具+反思+协作 | 主动解决问题,像人类顾问 | 90%+ |
七、如何选择适合你的 RAG 版本?
讲了这么多代际演进,你可能会问:是不是应该直接上最先进的 Agentic RAG?
不一定。技术没有绝对的好坏,只有适不适合。
成本考量
GraphRAG 成本是普通 RAG 的 10-20 倍,Agentic RAG 多轮检索延时也会影响用户体验。
场景适配
常规的电商客服能做到第二代就已经能解决 80% 的问题了。
要结合你的用户等待时间、问题复杂度的分布以及团队内部的技术能力和预算综合评估。
从简单的方案开始,只有在确实需要时才增加复杂度。
Retrieval-Augmented Generation for Large Language Models: A Survey
Gao et al., 2023
Agentic Retrieval-Augmented Generation: A Survey
Zheng et al., 2024