跳转至

三十九:Agentic RAG自测题答案

来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484518&idx=1&sn=c37ca2d2899ceecc9670d720b4be8131&chksm=f01eb71fc7693e09f3851af3c8ee49178e9bdfdd7dc2ae54e6b598ee89f27773705592d602bc#rd

参考资料

  • 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/

A. RAG 发展历程

1. RAG 的核心目标是什么?

RAG 的核心目标是把外部知识引入大模型生成过程,让模型能使用私有、实时、可追溯的资料回答问题,而不是只依赖参数知识。 它把知识存储和更新放到外部系统,把理解和生成交给 LLM。

2. Naive RAG 的基本流程是什么?

流程是:用户 query 经过 embedding,向量库检索 top-k chunk,把 chunk 拼入 prompt,再由 LLM 生成答案。 它通常是单次检索、单次生成的固定管线。

3. Naive RAG 的主要优点和缺点是什么?

优点是简单、成本低、容易落地,适合 FAQ 和基础知识库问答。缺点是检索策略固定,难处理多跳、跨源、证据不足和自我验证。 检索失败时模型容易幻觉。

4. Advanced RAG 相比 Naive RAG 增强了哪些能力?

增强包括 query rewrite、query decomposition、hybrid search、metadata filter、rerank、context compression、citation verification。 它仍多是工程师预设流程,但各组件更强。

5. Modular RAG 的核心思想是什么?

把 RAG 拆成 query analyzer、router、retriever、reranker、compressor、generator、verifier、memory 等模块。 模块化让系统可替换、可评估、可组合。

6. Agentic RAG 和 Modular RAG 的关系是什么?

Agentic RAG 通常建立在 Modular RAG 之上。Modular RAG 提供工具和模块,Agentic RAG 让 agent 动态选择模块、决定调用顺序和是否继续。 一个强调组件化,一个强调动态控制。

7. 为什么说 Agentic RAG 是 RAG 从静态管线到动态控制流的演进?

因为普通 RAG 的执行路径固定,而 Agentic RAG 会根据问题和中间结果动态规划、检索、调用工具、验证和修正。 它更像任务求解过程,而不是单一检索链。

8. RAG 发展中,为什么 query rewrite、rerank、context compression 会逐渐变重要?

因为真实问题经常表达不清、检索结果有噪声、上下文预算有限。rewrite 提升召回,rerank 提升精度,compression 提升上下文密度。 这些组件是从简单 RAG 走向复杂 RAG 的基础。

9. 为什么复杂问题不适合只用一次向量检索?

复杂问题可能包含多个子问题、多个实体、多个数据源和多跳关系。一次向量检索可能只命中局部证据,无法覆盖完整证据链。 需要规划、拆解和迭代检索。

10. 请比较 Naive RAG、Advanced RAG、Modular RAG、Agentic RAG。

Naive RAG 是固定单次检索生成;Advanced RAG 增强固定管线;Modular RAG 把系统拆成可组合模块;Agentic RAG 让 agent 动态规划和调用模块。 复杂度、灵活性和成本依次上升。

B. Agentic RAG 定义与组件

11. 什么是 Agentic RAG?

Agentic RAG 是带有 Agent 决策能力的 RAG,能根据任务动态选择检索策略、工具、迭代步骤和验证方式。 它的关键是自主控制检索和生成流程。

12. Agentic RAG 的核心组件有哪些?

包括 planner、router、retriever tools、memory、executor、verifier/critic、controller 和 generator。 这些组件共同支持规划、行动、观察、修正和回答。

13. Planner 在 Agentic RAG 中负责什么?

Planner 负责把用户目标转成步骤,决定是否拆分子问题、先查什么、后查什么、需要哪些工具。 计划质量直接影响后续检索质量。

14. Router 在 Agentic RAG 中负责什么?

Router 根据问题类型选择数据源或工具,例如向量库、BM25、GraphRAG、SQL、Web Search。 它解决“该去哪找答案”的问题。

15. Retriever tools 可以包括哪些类型?

可以包括 dense vector retriever、BM25、hybrid search、GraphRAG local/global search、SQL retriever、web search、API search、文件检索。 Agentic RAG 往往把这些都包装成工具。

16. Memory 在 Agentic RAG 中有什么作用?

Memory 保存对话历史、中间结论、检索结果、用户偏好和任务状态。它帮助 Agent 避免重复检索,并支持多步任务连贯执行。 但 memory 也要做权限和过期控制。

17. Verifier/Critic 在 Agentic RAG 中有什么作用?

它检查答案是否被证据支持、引用是否正确、子问题是否完整、是否需要继续检索。 Verifier 是降低幻觉和错误停止的重要组件。

18. Controller 或 stopping policy 为什么重要?

因为 agent 可能过度检索、循环调用工具或迟迟不回答。Controller 设置最大步数、超时、停止条件和失败回退。 可控性是生产 Agentic RAG 的核心。

19. Agentic RAG 和普通 Agent 系统有什么区别?

普通 Agent 可以执行各种任务和工具调用;Agentic RAG 的核心目标仍是检索增强问答或知识工作,重点围绕外部知识检索、证据整合和忠实回答。 它是 Agent 技术在 RAG 中的具体应用。

20. Agentic RAG 和普通 RAG 的根本区别是什么?

普通 RAG 流程固定;Agentic RAG 流程动态。Agentic RAG 会根据中间结果决定下一步,而不是一次检索后直接回答。 这是控制流层面的区别。

C. Planning、Routing 与 Iterative Retrieval

21. 什么是 query planning?

query planning 是分析用户问题,拆解任务,决定检索策略和工具调用顺序的过程。 它把问题从“一句话”变成可执行计划。

22. 什么情况下需要 query decomposition?

当问题包含多个实体、多个约束、多个子问题、多跳推理或比较分析时,需要拆解。 拆解能让每个子问题检索更准确。

23. Tool routing 为什么对 Agentic RAG 重要?

不同工具擅长不同问题。错误码适合 BM25,关系问题适合 GraphRAG,结构化数据适合 SQL,实时信息适合 web search。 Routing 错了,后续再强也可能找不到证据。

向量检索适合语义相似文档;BM25 适合关键词、编号和错误码;GraphRAG 适合实体关系和全局问题;SQL 适合结构化表查询;Web Search 适合开放实时信息。 Agent 要按问题选择工具。

25. 什么是 iterative retrieval?

iterative retrieval 是多轮检索:先查一部分,根据结果发现缺口,再继续查。 它模拟人类研究问题时的逐步查证过程。

26. iterative retrieval 适合哪些任务?

适合多跳问答、证据不足、跨文档综合、先找实体再查属性、冲突资料核验。 简单 FAQ 不需要迭代。

27. iterative retrieval 的风险是什么?

风险包括成本高、延迟长、错误路径累积、循环检索和过度检索。 需要停止条件和中间验证。

28. Agent 如何判断需要继续检索?

可以基于证据覆盖、verifier 判断、答案置信度、引用缺失、子问题未完成、检索结果冲突等信号判断。 生产中最好用规则和模型判断结合。

29. Agent 如何处理检索结果互相矛盾?

应比较来源权威性、时间、版本和证据质量,必要时继续检索或在答案中说明冲突。 不能强行合并为确定结论。

30. 如何避免 Agentic RAG 过度检索?

设置最大步数、最大工具调用数、时间预算、token 预算和置信停止条件。对简单问题走普通 RAG,对复杂问题才启用 agentic 流程。 缓存也能减少重复检索。

D. Verification、Reflection 与 ReAct

31. Agentic RAG 中 verification 应检查哪些内容?

检查答案是否被证据支持、引用是否对应、是否回答所有子问题、是否遗漏限制条件、是否存在冲突和是否越权。 它是最终质量控制。

32. citation verification 对 Agentic RAG 为什么重要?

Agentic RAG 可能使用多工具多证据,引用容易错配。citation verification 确保每个关键结论有真实证据支持。 这能降低幻觉和无关引用。

33. Reflection 在 Agentic RAG 中如何发挥作用?

Reflection 让系统根据失败反馈调整策略,例如改写 query、换工具、扩大检索范围或重新回答。 它把错误变成下一步决策依据。

34. ReAct 的基本模式是什么?

ReAct 是 Thought、Action、Observation、Final 的循环。模型先思考,再调用工具,观察结果,再决定下一步。 Agentic RAG 常采用类似模式。

35. ReAct 中 Action 和 Observation 分别是什么?

Action 是工具调用,如 search、retrieve、sql_query。Observation 是工具返回结果,如文档、表格或错误信息。 Agent 基于 Observation 更新计划。

36. 为什么生产系统中不一定暴露 Thought?

Thought 可能包含内部策略、错误假设或敏感信息,且会增加输出冗余。生产系统通常只保留 trace 给开发者,不直接展示给用户。 用户需要结论、证据和可执行信息。

37. 如何用结构化 tool calling 替代自由文本 Action?

为每个工具定义名称、参数 schema、权限和返回格式,让模型只能输出合法工具调用。 这样比自由文本更可控、可校验、可审计。

38. 如果工具返回失败,Agentic RAG 应如何处理?

应记录错误,判断是否重试、换工具、降级或向用户说明无法获取信息。不能编造工具结果。 工具失败是正常分支,不是让模型猜答案的理由。

39. 如果检索证据不足,Agentic RAG 应如何处理?

可以改写 query、扩大数据源、拆分子问题、调用其他工具,或在仍不足时拒答并说明缺失信息。 不能在无证据时强答。

40. 如果答案验证失败,Agentic RAG 应如何修正?

应定位失败原因:引用错误、证据不足、遗漏子问题或逻辑矛盾。然后重新检索或重写答案,并再次验证。 若多次失败,应降级或请求人工处理。

E. 与其他 RAG 形态对比

41. Agentic RAG 和 GraphRAG 如何结合?

GraphRAG 可以作为 Agentic RAG 的工具。Agent 根据问题决定调用 GraphRAG local/global search,并把图证据与其他检索结果结合。 一个提供关系检索能力,一个提供动态控制。

42. Agentic RAG 和 long-context RAG 如何结合?

Agent 可以先筛选和压缩证据,再把较多上下文交给长上下文模型综合。长上下文解决承载能力,Agentic RAG 解决选择和流程控制。 二者互补。

hybrid search 是 Agentic RAG 可调用的检索工具之一。Agent 可以在需要语义和关键词双召回时选择它。 Agentic RAG 比 hybrid search 更上层。

44. Agentic RAG 和 rerank 有什么关系?

rerank 是提升候选证据质量的模块。Agent 可以决定是否使用 rerank、对哪些候选 rerank、是否根据 rerank 分数继续检索。 Rerank 是工具/模块,Agentic RAG 是控制框架。

45. Agentic RAG 和 multi-agent RAG 有什么区别?

Agentic RAG 可以是单 agent,也可以多 agent。Multi-agent RAG 使用多个角色分工,如 planner、retriever、critic、writer。 多 agent 是实现方式,不是 Agentic RAG 的必要条件。

46. Agentic RAG 是否一定需要多个 Agent?为什么?

不一定。一个 agent 也可以完成规划、检索、验证。多个 agent 适合复杂任务分工,但会增加通信成本和不稳定性。 关键是 agentic 控制,而不是 agent 数量。

47. Agentic RAG 是否一定比普通 RAG 更好?为什么?

不一定。简单问题普通 RAG 更快、更便宜、更稳定。Agentic RAG 在复杂任务上有优势,但成本和风险更高。 要按任务复杂度选择。

48. 简单 FAQ 是否适合 Agentic RAG?

通常不适合。FAQ 用普通 RAG、BM25 或语义检索即可。Agentic RAG 会增加不必要延迟和成本。 除非 FAQ 涉及权限、实时工具或复杂多步判断。

49. 多跳企业知识问答为什么适合 Agentic RAG?

因为企业知识分散在文档、数据库、权限系统和项目资料中,问题常需要先找实体再查属性,再综合多个证据。 Agentic RAG 能动态调用多工具和迭代检索。

50. Agentic RAG 和工作流编排有什么关系?

Agentic RAG 可以看作由 LLM 驱动的动态工作流。工程上也可以把高风险流程固定成显式工作流,只让 agent 在有限范围内决策。 生产系统常是 workflow + agent 的混合。

F. 评估、安全与生产化

51. Agentic RAG 评估为什么不能只看最终答案?

因为最终答案好坏无法定位问题来源。需要知道工具是否选对、证据是否召回、步骤是否多余、验证是否有效。 过程评估能指导优化。

52. Agentic RAG 应评估哪些过程指标?

包括 tool selection accuracy、plan quality、evidence recall、step efficiency、verification pass rate、loop rate、cost、latency。 这些指标衡量 agent 行为是否可靠。

53. tool selection accuracy 如何理解?

它衡量 agent 是否为问题选择了合适工具。例如结构化统计问题应选 SQL,实体关系问题应选 GraphRAG。 选错工具会导致后续失败。

54. step efficiency 如何理解?

它衡量完成任务所用步骤是否高效。步骤太多说明过度检索或计划不佳;步骤太少可能证据不足。 质量和效率要平衡。

55. Agentic RAG 的主要成本来自哪里?

来自多次 LLM 调用、工具调用、检索、rerank、验证、长上下文输入和多轮迭代。 比普通 RAG 成本更难预测。

56. Agentic RAG 的主要延迟来源是什么?

主要来自串行工具调用、多次模型推理、外部 API 响应、rerank 和验证。 可通过并行工具调用、缓存和步骤限制优化。

57. Agentic RAG 中有哪些安全风险?

包括 prompt injection、越权工具调用、敏感数据泄露、工具参数错误、外部网页恶意指令、循环调用和不可审计行为。 工具越强,安全要求越高。

58. prompt injection 如何影响 Agentic RAG?

恶意文本可能诱导 agent 忽略规则、调用不该调用的工具、泄露数据或执行错误操作。 必须把用户和检索内容视为数据,不允许覆盖系统规则。

59. 为什么工具权限和白名单很重要?

它们限制 agent 只能调用允许的工具和参数,防止越权访问、破坏性操作和数据泄露。 安全不能只靠 prompt。

60. 为什么需要最大步数、超时和停止条件?

因为 agent 可能陷入循环、过度检索或等待慢工具。最大步数和超时保证成本、延迟和系统稳定性可控。 这是生产必需项。

G. 系统设计与排错

61. 如果 Agentic RAG 陷入循环,你会如何排查?

查看 trace,检查 stopping policy、反思提示、工具返回是否总是不满足条件、agent 是否缺少失败分支。增加最大步数、状态记录和循环检测。 必要时固定工作流。

62. 如果 Agent 选错工具,你会如何改进?

改进 tool descriptions,增加 query classifier,提供工具选择示例,加入路由评估集,或用规则优先处理明确问题类型。 也可以把高风险工具隐藏在人工确认后。

63. 如果 Agent 计划错误导致答案错误,你会如何定位?

检查原始问题解析、子问题拆解、工具选择、中间 observation 和最终验证。定位是 planning、retrieval 还是 generation 出错。 trace 日志是关键。

64. 如果 Agentic RAG 成本过高,你会如何优化?

按问题类型分流,简单问题走普通 RAG;缓存检索和工具结果;限制步骤;并行工具调用;降低 rerank/verification 频率;使用小模型做路由。 质量敏感步骤保留强模型。

65. 如何为 Agentic RAG 设计 trace 日志?

记录 query、计划、每步工具、参数、结果摘要、耗时、token、成本、rerank 分数、验证结果、最终答案和错误信息。 trace 用于调试、评估和审计。

66. 如何为高风险工具调用设计人工确认?

对写数据库、发邮件、付款、删除文件等工具设置确认门槛。Agent 只能生成操作计划和参数,用户或审核系统确认后执行。 还要记录审批日志。

67. 如何把 Agentic RAG 降级为普通 RAG?

当 agent 超时、循环、工具失败或问题简单时,使用固定 RAG 管线:rewrite、retrieve、rerank、generate。也可以返回资料不足或转人工。 降级策略保证可用性。

68. 请设计一个面向企业知识库的 Agentic RAG 系统。

系统包含 query classifier、planner、工具路由器、向量检索、BM25、GraphRAG、SQL、权限过滤、rerank、verifier 和 answer generator。简单问题走普通 RAG,复杂问题由 planner 拆分子问题并选择工具。每步保留 trace,最终答案必须引用证据,验证失败则继续检索或拒答。 安全上使用工具白名单、权限过滤、最大步数、人工确认和日志审计。

69. 请设计一个 Agentic RAG 的评估集。

评估集应包含简单 FAQ、多跳问题、跨数据源问题、结构化查询、实时信息、无答案问题、权限限制、冲突资料和 prompt injection。标注标准答案、支持证据、应调用工具和理想步骤。 同时评估最终答案和过程行为。

70. 请系统总结 Agentic RAG 的发展脉络、核心机制、优势、风险和面试表达要点。

发展脉络是 Naive RAG 到 Advanced RAG,再到 Modular RAG 和 Agentic RAG。核心机制是 planner、router、tools、memory、verification 和 iterative retrieval。优势是处理复杂、多步、跨数据源问题;风险是成本高、延迟高、工具错误、安全复杂和过程难评估。 面试表达要点:Agentic RAG 不是简单“加一个 agent”,而是让 RAG 具备动态规划、工具选择、迭代检索和验证修正能力,同时必须通过权限、停止条件和评估保证可控。

            预览时标签不可点




































<div class="