大语言模型(LLM,Large Language Model)很强,但有两个老问题:知识有截止日期,以及容易「一本正经地胡说」——也就是幻觉(hallucination)。 检索增强生成(RAG,Retrieval-Augmented Generation)的思路很直接:回答之前,先去知识库里找相关材料,再让模型「开卷作答」。
而 Agentic RAG(代理式 RAG)又往前走了一步:不再固定「检索一次 → 生成一次」,而是让 AI Agent(智能体)自己决定要不要检索、检索几次、从哪检索、结果够不够好。 这篇文章按「能落地」的视角,把 Agent RAG 系统讲清楚。
一、RAG 是什么:三件套
经典 RAG 管道可以拆成三个环节(Lewis 等人 2020 年 NeurIPS 论文奠定了这一范式):
- 检索(Retrieval):把用户问题转成查询,从向量库、搜索引擎或数据库里找出相关文档片段。
- 增强(Augmentation):把检索到的片段拼进 Prompt,作为模型回答的上下文。
- 生成(Generation):LLM 基于上下文生成最终回答,并尽量引用来源。
一句话:RAG = 让 LLM 先查资料再说话,而不是只靠训练权重里的「记忆」。
二、传统 RAG 够用的场景,以及三个瓶颈
对于「公司年假几天」「某 API 的默认端口是多少」这类单点事实查询,传统 RAG 往往够用:一次向量检索 + 一次生成,延迟 1~3 秒,成本也可控。
但 Gao 等人 2024 年的 RAG 综述指出,固定管线在复杂场景会遇到结构性上限:
- 单次检索的信息瓶颈:复杂问题需要跨多份文档综合,top-k 检索只能覆盖一部分。
- 检索策略僵化:简单问题和多跳推理用同一套参数,无法自适应。
- 缺少自我修正:检索结果差或互相矛盾时,系统仍会把劣质上下文塞给 LLM。
根因在于:传统 RAG 把检索当成无状态的单步操作,而人类研究员面对难题时会规划 → 多轮查阅 → 交叉验证 → 再查缺口。
三、Agentic RAG:把检索交给智能体编排
Agentic RAG 将 AI Agent 的自主决策能力嵌入 RAG 流程。Anthropic 在《Building Effective Agents》中归纳了 Agent 的三个特征: 自主性(Autonomy)、工具使用(Tool Use)、反思与调整(Reflection)。 当这三点进入 RAG,检索不再是固定步骤,而是由 Agent 动态编排的认知过程。
用户提问
│
▼
[查询分析与规划] ── 判断复杂度,拆分子问题
│
▼
[动态检索] ── 选数据源、改写 query、多轮检索
│
▼
[结果评估与反思] ── 相关吗?够吗?有矛盾吗?
│ │
│ 不充分 ──→ 回到动态检索
▼
[知识整合与生成] ── LLM 基于高质量上下文作答
│
▼
[回答质量验证] ── 是否有据、是否完整
Asai 等人在 ICLR 2024 的 Self-RAG 工作中证明:让模型学会「何时检索、如何评价检索结果」,在多个知识密集型基准上显著优于传统 RAG。LangChain、LlamaIndex 等框架随后把这一思路工程化。
四、Agent RAG 的四大核心能力
4.1 动态检索(Dynamic Retrieval)
Agent 在运行时选择检索策略:时间敏感问题优先新文档;要精确数字就查 SQL;模糊探索则用更宽的语义搜索。 若第一轮结果不够,Agent 会改写 query、换数据源、扩大或缩小范围,迭代直到信息充分——这被称为迭代式精化(Iterative Refinement)。
4.2 查询规划(Query Planning)
面对复合问题,Agent 先做查询分解(Query Decomposition),拆成多个可独立检索的子问题,并分析子问题之间的依赖顺序。 例如「比较 A、B 两家供应商的 ESG 评分及采购占比」需要先列出供应商清单,再分别查 ESG 与采购数据,最后综合——传统单次检索很难完成这种多跳推理。
4.3 自我反思(Self-Reflection)
Self-RAG 把反思分为三层:
- 检索质量:片段是否相关、是否带来新信息?
- 信息充分性:离完整回答还缺什么?
- 回答一致性:生成内容是否与证据一致、有无无依据陈述?
4.4 工具使用(Tool Use)
Agent 不局限于向量库,还可调用:
- SQL / Text-to-SQL:查结构化业务数据;
- 知识图谱:做实体关系与多跳推理(GraphRAG);
- HTTP API:ERP、CRM、实时行情;
- 代码解释器:精确计算与统计分析;
- 网络搜索:补全知识库未覆盖的时效信息。
五、架构演进:从 Naïve RAG 到 Agentic RAG
业界常按复杂度划分 RAG 形态(参见 Agentic RAG Survey, arXiv:2501.09136):
- Naïve RAG:BM25 / TF-IDF + 单次生成,实现简单,语义理解弱。
- Advanced RAG:密集向量检索、重排序(Rerank)、多跳检索。
- Modular RAG:检索、生成、工具拆成可组合模块,支持混合检索(Hybrid Search = 向量 + BM25)。
- Graph RAG:引入知识图谱,擅长关系推理与全局性问题(Microsoft GraphRAG)。
- Agentic RAG:Agent 控制回路 + 上述能力的动态组合。
企业实践里,混合检索 + Cross-Encoder 重排往往是性价比最高的第一步:Recall 不够时换 embedding 没用,加上 BM25 往往立刻见效;重排则把「捞到了但排第 50」的文档推到 LLM 真正会读的前几位。
六、企业级 Agent RAG 怎么搭
6.1 多 Agent 协作
复杂系统常用角色分工:
- 路由 Agent:判断问题复杂度,简单题走轻量 RAG,复杂题走完整 Agent 流程;
- 规划 Agent:分解子问题、排依赖;
- 检索 Agent 池:向量、SQL、图谱、Web 各管一路;
- 评估 Agent:去重、冲突检测、充分性判断;
- 生成 Agent:整合上下文、标注引用来源。
6.2 记忆分层
- 工作记忆:当前查询的中间状态、已检索内容、推理路径;
- 对话记忆:同一会话内的指代与上下文;
- 长期记忆:用户偏好、历史 query 模式,用于持续优化检索策略。
6.3 框架选型(2025–2026 常见路线)
- LlamaIndex:RAG 抽象成熟,SubQuestionQueryEngine、RouterQueryEngine 开箱即用;
- LangGraph:StateGraph 定义循环、分支、人机协同,适合复杂工作流;
- 自建:金融、政务等对数据边界要求极高时,完全掌控数据流与安全策略。
务实建议:先用框架做 POC 验证业务价值,再决定是否自建。
七、传统 RAG vs Agentic RAG 对比
- 检索:单次 top-k → 多轮动态检索;
- 查询:原样搜索 → 分解、改写、扩展;
- 数据源:通常单向量库 → 向量 + SQL + 图谱 + API + Web;
- 质量控制:无 → 每层反思与验证;
- 延迟:1~3 秒 → 3~15 秒(视复杂度);
- 成本:约 1 次 LLM 调用 → 3~10 次(规划 + 评估 + 生成)。
因此 Agentic RAG 不是全面替代传统 RAG,而是复杂场景的增强方案——务必加一层 Query Router,简单题别走多 Agent 全流程。
八、落地时要注意什么
8.1 延迟与成本
- 查询分级:简单 / 中等 / 复杂,分别走不同管线;
- 子问题并行检索,避免串行叠加延迟;
- 限制最大迭代轮次(建议 3~5 轮);
- 分级模型:分类与评估用小模型,最终生成用大模型,可省 50% 以上 token 成本。
8.2 数据与评测
RAG 质量是管线乘数效应:解析 → 切片(Chunking)→ 检索 → 重排 → 生成 → Grounding 验证,任何一环偷懒都会反映到答案上。上线后持续追踪 Recall@K、引用准确率、幻觉率与用户满意度,而不是「部署即完工」。
8.3 安全与合规
- 检索层嵌入 ACL,Agent 只能访问用户有权看的文档;
- 全链路审计:每次工具调用、检索决策都要可追溯;
- 输出护栏:过滤敏感信息外泄与误导性内容。
九、小结
RAG 解决「模型不知道你的私有知识」;Agent RAG 解决「复杂问题需要像研究员一样多轮查、想、改」。构建 Agent RAG 系统,核心不是堆更多 Agent,而是:路由分流、混合检索、迭代反思、可观测评测四件事做扎实。
若你的场景里超过三成查询需要跨文档综合或多步推理,Agentic RAG 值得认真评估;若主要是 FAQ 级问答,先把传统 RAG 的切片与混合检索做好,往往更划算。
参考资料
- Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks, NeurIPS 2020
- Gao et al., RAG for LLMs: A Survey, arXiv:2312.10997
- Asai et al., Self-RAG, ICLR 2024
- Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG, arXiv:2501.09136
- Anthropic, Building Effective Agents
- Microsoft, GraphRAG Research Blog