编排 · 2025

Agentic RAG

由流程里的模型决定下一步是检索、换查询、读另一份资料,还是停下来回答。

演进中 · 提示或小模型训练

要解决的问题

固定流水线假设一次查询、一次检索、一次生成就够。多跳问题、缺资料和检索失败,都需要中途改计划。

相对前一代的变化

前面的技术都是在固定位置插入一个组件。Agentic RAG 把这些组件当成可调用的步骤,由模型按当前结果选择下一步。Adaptive-RAG 先按问题复杂度在不检索、检索一次和多步检索之间分流,是走向这种编排的一步。

做法

常见实现是一个带工具的循环:改写查询、检索、阅读、判断证据够不够、必要时再查。工具参数先按结构校验,再由代码执行。停止条件是证据已经支持回答,或达到步数上限。复杂度分类器可以在循环开始前先选一条短路径。

局限

步数变多后,延迟、费用和失败点一起增加。模型可能反复查询,或在证据不足时仍给出确定的回答。流程越灵活,越需要记录每一步检索了什么。

在链路中的位置

位于整条链路之上,决定朴素 RAG、改写、检索和网络搜索何时被调用。

详解

「详解」根据 Datawhale《All-in-RAG》 的 Agentic RAG 改写,有删节和重组,未包含原教程的代码、图片和练习。原教程与本节详解均按 CC BY-NC-SA 4.0 许可提供:使用时需署名并标明修改,不得用于商业目的,再次改编须以相同许可共享。

检索从固定步骤变成可以反复调用的工具

一条直线假设编码、取回 top-k、拼接和生成就够了。它不知道结果是噪声,第一次失败后也不会换一种检索,更不会因为证据只有一半而继续查。Agentic RAG 把检索交给一个会规划的模型:它可以拆问题、选择工具、检查证据够不够,再决定改写或停止。

  • 规划:把复杂问题拆开,并决定先查什么。
  • 决策:选择向量检索、网页、图谱或数据库,并填写参数。
  • 自评:判断当前证据是否足够回答。
  • 改写:针对失败原因更换问法或工具,而不是盲目再查一次。

决策、工具和数据分成三层

决策层是模型。工具层是向量搜索、网页搜索、图查询和数据库查询,每个工具都要写清适用场景。数据层是这些工具背后的知识源。循环是规划、检索、评估;足够就生成,不够就诊断后回到规划。

最常见的是单个智能体在循环中调用工具。问题很大时,可以让规划、检索、评判和生成由不同角色分工。第三种是智能体同时使用图查询和向量检索,让关系和叙述互相补充。简单事实问题不必进入这个循环。

最小实现要看得见每一步

用 LangGraph 一类方式实现时,节点至少包括分析问题、选择工具、执行检索、评估证据和生成答案。条件边根据评估结果回到检索或进入生成。每次转移都保存当前问题和已收集证据。

一条完整轨迹应能回答:为什么选了这个工具,检索到了什么,为什么认为不够,下一次问法改了哪里。没有轨迹,智能体的答案就无法和普通的一次检索区分。

多步带来新的失败点

模型可能反复查询、过早停止,或把两次检索中互相矛盾的证据揉成确定答案。工具描述写得宽,选择就会漂。步数、费用和超时必须有上限。

评估不能只看最终答案。还要看工具选择是否合适、循环次数、是否在证据不足时拒答,以及同样的问题能否复现同一路径。图检索、SQL 和网页搜索都只是工具,质量仍由各自的数据和约束决定。