三十九:Agentic RAG¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484508&idx=1&sn=6f6b09cee20c45d703e010de66cf0305&chksm=f01eb725c7693e33ba3d7a260b55d61b719393c7d01ceac63a98b4940ffb408bb9ff7323f10b#rd
1. 学习范围¶
本日主题是 Agentic RAG,重点是 RAG 发展历程。学习目标是把 Naive RAG、Advanced RAG、Modular RAG 和 Agentic RAG 放在同一条演进线上理解:RAG 从“单次检索 + 单次生成”的静态管线,逐步发展为能够规划、选择工具、迭代检索、验证和自我修正的智能检索系统。 本日覆盖: - RAG 的演进阶段和每一阶段解决的问题。
-
Agentic RAG 的定义、核心组件和典型流程。
-
Query planning、tool routing、multi-step retrieval、verification、reflection 在 RAG 中的作用。
-
Agentic RAG 与普通 RAG、GraphRAG、Long-context RAG、多智能体系统的关系。
-
Agentic RAG 的评估、风险和生产化取舍。
2. RAG 发展主线¶
RAG 的核心目标是把外部知识引入大模型生成过程。它的发展可以粗略分为四个阶段:
Naive RAG 使用固定流程:用户问题进入检索器,返回 top-k 文档,再把文档拼进 prompt 让 LLM 回答。 Advanced RAG 在固定流程上增强检索质量,例如 query rewrite、hybrid search、rerank、context compression、citation verification。 Modular RAG 把 RAG 拆成可组合模块,例如 query analyzer、router、retriever、reranker、reader、verifier、memory。 Agentic RAG 进一步让 LLM/agent 控制流程:根据任务动态规划、选择工具、决定是否继续检索、调用多个检索源、验证答案并修正。 范式名称 核心特性 优势 朴素 RAG(Naive RAG) ・基于关键词检索(如 TF-IDF、BM25 算法) ・结构简单,易于落地实现・适配事实类问答场景 进阶 RAG(Advanced RAG) ・稠密检索模型(如 DPR)・神经网络排序、重排序机制・多跳检索 ・检索精度高・上下文相关性更强 模块化 RAG(Modular RAG) ・混合检索(稀疏检索 + 稠密检索结合)・可对接外部工具与 API 接口・可自由组合、面向特定领域的流程管线 ・灵活性高,可定制化程度强・适配各类多样化业务场景・具备良好可扩展性 图增强 RAG(Graph RAG) ・融合图结构数据・支持多跳逻辑推理・通过图节点丰富上下文信息 ・具备关系推理能力・有效缓解模型幻觉问题・非常适合结构化数据任务 智能体 RAG(Agentic RAG) ・自主智能体驱动・动态自主决策・迭代优化、持续调整工作流 ・可适配实时动态变化的数据・多领域任务可扩展・准确率表现优异3. Naive RAG¶
Naive RAG 的典型流程:
优点: - 实现简单。-
成本低。
-
适合 FAQ、技术文档、简单知识库问答。
缺点: - 检索策略固定。
-
难处理多跳问题。
-
难判断是否需要继续检索。
-
不能根据问题选择不同工具。
-
检索失败时容易幻觉。
-
缺少自我验证和纠错。
Naive RAG 是强 baseline,但不是复杂任务的终点。
4. Advanced RAG¶
Advanced RAG 通过增强组件提升质量: - Query rewrite:把用户问题改写成适合检索的形式。
-
Query decomposition:拆解复杂问题。
-
Hybrid search:结合 dense retrieval 与 BM25。
-
Rerank:提高 top-k precision。
-
Contextual compression:压缩检索上下文。
-
Metadata filter:结合时间、权限、文档类型。
-
Citation verification:检查答案引用是否被证据支持。
Advanced RAG 仍然通常是预定义管线,流程由工程师设计,而不是由 agent 动态决定。
5. Modular RAG¶
Modular RAG 把 RAG 系统拆成多个可组合模块:
模块化的价值: - 每个模块可单独评估和替换。-
不同问题走不同链路。
-
支持多数据源和多检索策略。
-
更容易生产化监控。
Agentic RAG 通常建立在 Modular RAG 之上,只是模块的选择和调用顺序由 agent 动态控制。
当然还有上一日公众号文章的Graph RAG:
6. Agentic RAG 的定义¶
Agentic RAG 是带有 agent 能力的 RAG。它不只是检索一次再回答,而是让 LLM/agent 根据目标自主决定: - 如何理解问题。
-
是否需要检索。
-
检索哪些数据源。
-
是否拆分子问题。
-
是否调用工具。
-
是否需要二次检索。
-
是否需要验证答案。
-
如何在失败后修正。
高层流程:
user query
-> agent analyzes task
-> plan retrieval/actions
-> call tools/retrievers
-> observe results
-> update plan
-> verify evidence
-> answer or continue
7. Agentic RAG 的核心组件¶
典型组件包括: - Planner:制定检索和工具调用计划。
-
Router:选择数据源、检索器或工具。
-
Retriever tools:向量检索、BM25、GraphRAG、SQL、web search、API。
-
Memory:保存历史问题、中间结论、用户偏好和检索状态。
-
Executor:执行工具调用。
-
Critic/Verifier:检查证据、答案和引用。
-
Controller:决定是否继续、停止、回退或重试。
Agentic RAG 的关键不是组件多,而是流程能根据任务动态变化。
8. Query Planning¶
Agentic RAG 通常先做 query planning:
例如: Query planning 能提高复杂问题、多跳问题和跨数据源问题的检索质量。9. Tool Routing¶
Agentic RAG 需要选择合适工具: - 向量库:语义文档检索。
-
BM25:精确关键词、编号、错误码。
-
GraphRAG:实体关系、多跳和全局问题。
-
SQL:结构化数据查询。
-
Web search:实时公开信息。
-
Calculator:数值计算。
-
Code interpreter:数据分析。
Routing 的目标是让不同类型问题进入最合适的工具,而不是全部走单一向量检索。
10. Iterative Retrieval¶
普通 RAG 通常一次检索。Agentic RAG 可以迭代检索:
适合: - 多跳推理。-
初次检索信息不足。
-
检索结果互相矛盾。
-
需要先找到实体再查属性。
-
需要补充最新信息。
迭代检索的风险是成本和延迟增加,也可能在错误路径上越走越远。
11. Verification 与 Reflection¶
Agentic RAG 可以在生成答案前后验证: - 检索证据是否支持答案。
-
引用是否真实对应。
-
是否遗漏子问题。
-
是否存在冲突信息。
-
是否需要继续检索。
Reflection 可以让 agent 根据失败反馈调整计划。例如发现证据不足后,改写 query 或调用另一个检索器。
12. Agentic RAG 与 ReAct¶
Agentic RAG 经常使用 ReAct 风格:
其中 Action 可以是 retriever、SQL、web search、GraphRAG、calculator。Observation 是工具返回结果。Agent 根据 Observation 决定下一步。 在生产系统中,不一定暴露 Thought;工具调用通常用结构化 schema 管控。13. Agentic RAG 与 GraphRAG¶
GraphRAG 可以作为 Agentic RAG 的一个工具。Agent 可以根据问题选择: - 局部事实:向量 RAG。
-
精确编号:BM25。
-
实体关系:GraphRAG Local Search。
-
全局主题:GraphRAG Global Search。
GraphRAG 提供关系结构,Agentic RAG 提供动态控制。
14. Agentic RAG 的优势¶
优势: - 能处理复杂多步问题。
-
能按任务选择数据源和工具。
-
能在证据不足时继续检索。
-
能进行答案验证和修正。
-
能组合结构化和非结构化数据。
-
更接近真实研究/分析工作流。
它适合复杂知识工作,而不仅是简单问答。
15. Agentic RAG 的风险¶
风险: - 成本高。
-
延迟高。
-
工具调用不稳定。
-
计划错误会放大后续错误。
-
可能循环或过度检索。
-
权限和安全边界更复杂。
-
中间状态难评估。
-
prompt injection 可能诱导错误工具调用。
Agentic RAG 必须有停止条件、工具权限、日志和评估。
16. 评估框架¶
Agentic RAG 评估需要覆盖: - Task success。
-
Evidence recall。
-
Tool selection accuracy。
-
Plan quality。
-
Step efficiency。
-
Answer correctness。
-
Faithfulness。
-
Citation accuracy。
-
Cost and latency。
-
Safety violation rate。
除了最终答案,还要评估过程:是否调用了正确工具、是否检索到证据、是否多余调用、是否遵守权限。
17. 生产化原则¶
生产系统建议: - 固定工具白名单。
-
工具调用使用 schema。
-
每步记录 trace。
-
设置最大步数和超时。
-
对高风险工具加人工确认。
-
对答案做 citation verification。
-
使用缓存降低重复检索成本。
-
对不同问题类型走不同 agent policy。
-
失败时降级到普通 RAG 或人工处理。
Agentic RAG 的工程核心是可控,而不是让模型自由行动。
18. 核心总结¶
Agentic RAG 是 RAG 从静态检索管线向动态任务求解系统演进的结果。 核心区别: - Naive RAG:一次检索,一次回答。
-
Advanced RAG:增强固定管线。
-
Modular RAG:组件可组合。
-
Agentic RAG:由 agent 动态规划、检索、调用工具、验证和修正。
面试表达重点:Agentic RAG 不是“RAG + Agent”这个口号,而是把检索、工具、计划、记忆、验证和控制流结合起来,让系统能解决复杂、多步、跨数据源的问题。
19. 参考资料¶
-
Agentic RAG survey: https://arxiv.org/pdf/2501.09136
-
AgenticRAG-Survey GitHub: https://github.com/asinghcsu/AgenticRAG-Survey
-
ReAct paper: https://arxiv.org/pdf/2210.03629
-
Microsoft GraphRAG: https://microsoft.github.io/graphrag/
-
LangChain Agents docs: https://python.langchain.com/docs/concepts/agents/
预览时标签不可点<div class="