跳转至

三十九: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 -> Advanced RAG -> Modular RAG -> Agentic 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

img

Naive RAG 的典型流程:

query -> embedding -> vector search top-k -> context -> LLM answer
优点: - 实现简单。

  • 成本低。

  • 适合 FAQ、技术文档、简单知识库问答。

缺点: - 检索策略固定。

  • 难处理多跳问题。

  • 难判断是否需要继续检索。

  • 不能根据问题选择不同工具。

  • 检索失败时容易幻觉。

  • 缺少自我验证和纠错。

Naive RAG 是强 baseline,但不是复杂任务的终点。

4. Advanced RAG

img

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

img

Modular RAG 把 RAG 系统拆成多个可组合模块:

query analyzer
router
retriever
reranker
compressor
generator
verifier
memory
tool interface
模块化的价值: - 每个模块可单独评估和替换。

  • 不同问题走不同链路。

  • 支持多数据源和多检索策略。

  • 更容易生产化监控。

Agentic RAG 通常建立在 Modular RAG 之上,只是模块的选择和调用顺序由 agent 动态控制。

当然还有上一日公众号文章的Graph RAG:

img

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 的核心组件

img

典型组件包括: - Planner:制定检索和工具调用计划。

  • Router:选择数据源、检索器或工具。

  • Retriever tools:向量检索、BM25、GraphRAG、SQL、web search、API。

  • Memory:保存历史问题、中间结论、用户偏好和检索状态。

  • Executor:执行工具调用。

  • Critic/Verifier:检查证据、答案和引用。

  • Controller:决定是否继续、停止、回退或重试。

Agentic RAG 的关键不是组件多,而是流程能根据任务动态变化。

8. Query Planning

Agentic RAG 通常先做 query planning:

原问题 -> 判断意图 -> 拆分子问题 -> 选择检索策略 -> 决定工具顺序
例如:

问题:A 产品今年的定价变化对企业客户有什么影响?

子问题1:A 产品今年定价变化是什么?
子问题2:企业客户政策有哪些?
子问题3:影响如何综合判断?
Query planning 能提高复杂问题、多跳问题和跨数据源问题的检索质量。

9. Tool Routing

Agentic RAG 需要选择合适工具: - 向量库:语义文档检索。

  • BM25:精确关键词、编号、错误码。

  • GraphRAG:实体关系、多跳和全局问题。

  • SQL:结构化数据查询。

  • Web search:实时公开信息。

  • Calculator:数值计算。

  • Code interpreter:数据分析。

Routing 的目标是让不同类型问题进入最合适的工具,而不是全部走单一向量检索。

10. Iterative Retrieval

普通 RAG 通常一次检索。Agentic RAG 可以迭代检索:

retrieve -> read -> identify missing info -> retrieve again -> synthesize
适合: - 多跳推理。

  • 初次检索信息不足。

  • 检索结果互相矛盾。

  • 需要先找到实体再查属性。

  • 需要补充最新信息。

迭代检索的风险是成本和延迟增加,也可能在错误路径上越走越远。

11. Verification 与 Reflection

Agentic RAG 可以在生成答案前后验证: - 检索证据是否支持答案。

  • 引用是否真实对应。

  • 是否遗漏子问题。

  • 是否存在冲突信息。

  • 是否需要继续检索。

Reflection 可以让 agent 根据失败反馈调整计划。例如发现证据不足后,改写 query 或调用另一个检索器。

12. Agentic RAG 与 ReAct

Agentic RAG 经常使用 ReAct 风格:

Thought -> Action -> Observation -> Thought -> ... -> Final
其中 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="