很多人用过 RAG 后会有这种感觉:系统”差不多”能回答问题,但总在关键时刻掉链子——要么检索错了方向,要么返回的内容太宽泛,根本解决不了具体问题。
问题往往不在于大模型不够强,而在于检索那一层太死板。
今天我们就来聊聊:传统 RAG 和 Agentic RAG 到底有什么本质区别,什么时候该用哪种。
先说传统 RAG:一条单向流水线
想象你去图书馆查资料。传统 RAG 的工作方式是这样的:
- 你问一个问题
- 系统把问题变成一串数字(向量 embedding)
- 去数据库里找”长得像”的文档
- 把找到的文档和问题一起塞给大模型
- 模型生成答案,完事
整个过程一步到位,问完就答。像工厂流水线,原料进去,成品出来,高效但不会拐弯。
这种方式有几个明显的局限:
- 不会判断检索结果好不好:找到什么就用什么,哪怕内容跑偏了
- 一个问题只能查一次:如果第一次没查到对的文档,对不起,只能认栽
- 处理不了复杂问题:多跳问题(比如”A和B公司的政策有什么不同”)基本没法做
- 静态、死板:整个流程是写死的,无法根据问题动态调整
这在简单问答场景下完全够用——FAQ 查询、简单的事实性问题。但一旦需求复杂一点,比如”帮我分析这份合同里的所有风险点,并和公司最新政策做对比”,传统 RAG 就力不从心了。
Agentic RAG:加了一个”会思考的大脑”
Agentic RAG 的核心区别,就是在检索和生成之间加了一个 AI Agent(智能体)。这个 Agent 不是被动等待任务,而是会主动做决策。
还是用图书馆的例子。Agentic RAG 相当于给你配了一个研究助理:
- 你说想查某个主题
- 助理先理解你的真实意图,不是字面匹配
- 助理决定去哪个数据库/知识库查,还是两个都查
- 查回来的结果,助理会先评估:这些够不够回答问题?
- 如果不够,他会调整查询策略,换个关键词,或者查别的来源
- 直到信息足够,才整理成答案给你
这个过程不再是单向流水线,而是一个循环决策的过程——查 → 评估 → 判断 → 决定下一步行动 → 再查 → 再评估,直到满意为止。
四个关键维度,看懂两者差异
1. 主动性:被动响应 vs 主动决策
传统 RAG 是被动的:你问什么,它就查什么。
Agentic RAG 是主动的:Agent 会自己判断”查得对不对""还缺什么""要不要换个方法”。
2. 流程结构:单程 vs 循环
传统 RAG 是:查询 → 检索 → 生成 → 结束
Agentic RAG 是:查询 → 检索 → 评估 → 决策 → (重新查询) → ... → 生成
这个循环是 Agentic RAG 最重要的特征,也是它能处理复杂问题的根本原因。
3. 工具使用:只查数据库 vs 调用多种工具
传统 RAG 一般只查向量数据库。
Agentic RAG 可以让 Agent 调用多种工具:向量搜索、Web 搜索、SQL 数据库查询、API 调用……由 Agent 根据问题决定用哪个工具。
比如用户问:“这个产品的最新用户评价怎么样?” Agent 可能会先调 API 拿最新评分,再调向量数据库查详细评论文本,最后综合给出回答。
4. 多步推理:做不了 vs 原生支持
复杂问题往往需要多步推理(Multi-hop Reasoning)。比如”这家公司去年第四季度的营收增长,是因为什么业务线带动的?”
传统 RAG 一次检索很难同时找到营收数据+业务线数据+时间范围,往往答非所问。
Agentic RAG 可以把问题拆解:先查营收数据,再基于结果查业务线数据,最后综合——整个过程由 Agent 控制和调整。
ReAct:最经典的 Agentic RAG 模式
说到 Agentic RAG,不得不提 ReAct(Reasoning + Acting)。
这是现在最流行的框架之一,核心理念很简单:大模型在每一步都要同时做两件事——推理(Reason)和行动(Acting)。
具体来说,ReAct 的循环是这样的:
- 推理:基于当前信息,思考”我还需要知道什么?”
- 行动:调用工具去获取这个信息
- 观察:看看拿到的结果
- 重复:直到推理认为”够了,可以回答了”
每一步都有”我为什么这么做”的内在逻辑,这让 Agent 的行为更可解释,也更容易调试。
什么时候选哪种?
这个问题没有标准答案,取决于具体场景:
| 场景 | 推荐方案 |
|---|---|
| FAQ 查询、产品说明查询 | 传统 RAG |
| 固定格式的文档摘要 | 传统 RAG |
| 需要实时数据(股价、天气等) | Agentic RAG |
| 多文档综合分析 | Agentic RAG |
| 复杂问题多步推理 | Agentic RAG |
| 知识库来源多样,需要动态选择 | Agentic RAG |
| 对响应延迟要求极高 | 传统 RAG |
| 预算有限,简单场景 | 传统 RAG |
Agentic RAG 的代价
说了这么多 Agentic RAG 的好处,也要诚实地说它的局限:
- 延迟更高:多步循环意味着更多次检索和推理,响应时间会更长
- 成本更高:每次工具调用、每次 LLM 推理都要花钱
- 调试更复杂:循环逻辑下的 bug 比单步流程难排查
- 一致性更难保证:多次迭代可能导致输出风格不稳定
所以不要为了用而用。简单场景用传统 RAG 就够了,上 Agentic RAG 是为了解决真正需要动态决策和多步推理的问题。
一句话总结
传统 RAG 是一个按菜谱执行的厨师,你给什么他做,结果稳定但不会变通。
Agentic RAG 是一个会边做边尝、随时调整的大厨,他会主动判断火候、补充调料,直到做出一道满意的菜。
搞清楚你的问题”有多复杂”,就知道该选哪个了。