Phase 4 前 6 篇讲的是固定 RAG——一条写死的「检索→生成」链。这一篇是 Phase 4 收束,讲它的进阶:Agentic RAG。
固定 RAG 有个问题:不管什么问题都检索。但有些问题不需要检索(常识),有些要检索好几次(要综合多份资料),有些检索一次不够要换个角度再查。固定 RAG 做不到这些「判断」——它就是无脑检索。Agentic RAG 就是把「检索」交给 Agent 判断。
固定 RAG 的局限
固定 RAG 的流程是写死的:问题来了 → 检索 → 拼进 prompt → 模型答。每一步都执行,不判断。
这在简单问答场景够用。但遇到下面情况就不行:
- 不需要检索的问题:「1+1 等于几」这种常识,检索反而塞进无关资料干扰
- 要多次检索的问题:复杂问题要先查 A,根据 A 再查 B,固定流程只查一次
- 要改写查询的问题:第一次查的不好,要换个说法再查,固定流程不会改写
Agentic RAG:把检索变成工具
Agentic RAG 的思路:把「检索」做成一个工具,交给 Agent 决定调不调、调几次。
回忆 Phase 3——Agent 能调用工具。如果把 retriever 包成一个工具,Agent 就能:
- 判断这个问题要不要查(不查直接答)
- 决定查什么(自己构造查询)
- 查完看结果够不够,不够再查(循环)
- 综合多次查询的结果回答
这其实就是 Phase 3 的 Agent + 一个「检索工具」。Agent 的核心 loop(第 18 篇)负责判断,检索工具负责查。Agent 决定何时用这个工具。
一个例子:复杂问题的多轮检索
假设用户问「对比 LangGraph 和 AutoGen 在多 Agent 上的差异」。
固定 RAG 会怎么做:把整个问题作为查询检索一次,可能只命中其中一部分(比如只命中 LangGraph 的),回答不完整。
Agentic RAG 会怎么做:
- Agent 判断:这是个对比问题,要分别查 → 调检索工具查「LangGraph 多 Agent」
- 看结果,再查「AutoGen 多 Agent」
- 两份都有了,综合对比生成回答
Agent 通过多次调用检索工具,逐步补齐信息——这是固定 RAG 一次检索做不到的。
实现:用 Phase 3 的 create_agent
Agentic RAG 的实现,本质就是 Phase 3 那套:
# retriever 包成工具
@tool
def search_knowledge(query: str):
"""检索知识库"""
return retriever.invoke(query)
# 用 create_agent,把这个工具给它
agent = create_agent(model=model, tools=[search_knowledge])
Agent 自动获得「判断要不要检索、检索什么、检索几次」的能力——这些不是你写的,是 Agent 的核心 loop(ReAct)自带的。你只管把检索包成工具。
这也是为什么 Phase 3 要先讲 Agent——Agentic RAG 就是 Agent 的一个应用。掌握了 Agent,Agentic RAG 是水到渠成的。
固定 RAG vs Agentic RAG:怎么选
| 维度 | 固定 RAG | Agentic RAG |
|---|---|---|
| 检索决策 | 每次都查 | Agent 判断 |
| 查询次数 | 固定一次 | 按需多次 |
| 复杂度 | 简单、可控 | 复杂、消耗多 |
| 延迟 | 低(固定流程) | 高(多轮判断) |
| 适合 | 明确的问答 | 复杂、需多步检索 |
一个判断:如果用户问题大多是一次检索能答清的,用固定 RAG(简单快);如果问题常需要多步检索、综合分析,用 Agentic RAG。Agentic RAG 更强但更贵更慢,不是所有场景都需要。
收束:Phase 4 完成
这一篇讲完,Phase 4(RAG 检索)就完成了。回顾这 7 篇:
- 25 RAG 全景:五段流水线
- 26 Loaders:读进来
- 27 Splitters:切分(比 embedding 重要)
- 28 Embeddings:向量化
- 29 Vector Stores:存储与可替换性
- 30 Retrievers:检索与进阶策略
- 31 Agentic RAG:让 Agent 决定检索
到这里,你已经能搭出从简单到 Agentic 的各种 RAG。下一篇开始 Phase 5——Tools / MCP / 记忆:讲 Agent 的「手」(工具与 MCP 协议)和「脑」(记忆模型)。
关于十三Tech
我是十三,All in AI Agent 方向的架构师,专注 AI 工程实践。我相信 AI 是程序员的最佳搭档。
如果你想跟完这套「图解 LangChain」,欢迎关注公众号 「十三Tech」。全系列 42 篇,会按认识基础、LangGraph 状态机、Agent 与 middleware、RAG 检索、Tools/MCP/记忆、生产化收束这条线更新。

