Skip to content

Agentic RAG(智能体检索增强)

传统 RAG 是「检索一次 → 生成一次」的静态流水线,遇到复杂、多跳、需要判断的问题就力不从心。Agentic RAG 把 Agent 的「规划、反思、工具调用」能力注入检索流程,让系统能自主决定「要不要检索、检索什么、检索够了没、检索得对不对」。这是 2024–2025 RAG 演进的主线方向。基础概念见 RAG 基础、Agent 概念见 Agent 基础

一、为什么需要 Agentic RAG?

朴素 RAG(Naive RAG)的结构性缺陷:

缺陷表现
单次检索一次召回定生死,召回不全就答错
不会多跳「A 的老板的妻子是谁」要两步检索,单次做不到
不判断相关性检索到的垃圾也照单全收,污染生成
不会反思答错了不会重试、不会换个查询
总是检索「你好」这种问题也去查库,浪费且引噪声

Agentic RAG 用一个(或多个)LLM Agent 来编排检索过程,把上面每个缺陷都变成「可决策的一步」。

二、核心能力拼图

Agentic RAG = RAG + Agent 的四种能力:

        ┌─────────────── Agent 决策循环 ───────────────┐
用户问题 → 是否需要检索? → 生成/改写查询 → 检索 → 评估检索质量 → 够了? → 生成答案
              │否              ↑                              │不够        │
              直接答 ←─────────┴──────── 改写查询/换工具/多跳 ←┘           反思校验
  1. 路由(Routing):判断该不该检索、该查哪个数据源(知识库/网络/数据库/工具)。
  2. 查询规划(Planning):把复杂问题分解成子查询,或规划多跳检索路径。
  3. 反思(Reflection):评估检索结果相关不相关、答案有没有依据,不行就重来。
  4. 工具调用(Tool use):检索只是工具之一,还能调用计算器、SQL、API、网页搜索。

三、代表方法

Self-RAG(自反思 RAG)

训练模型在生成时输出特殊的「反思 token」,自主决策:

  • Retrieve token:这一步要不要检索?
  • IsRel:检索到的内容相关吗?
  • IsSup:我的生成被检索内容支持吗(有没有幻觉)?
  • IsUse:这个回答有用吗?

模型边生成边自评,按需检索、自我批判,把「检索 + 质量控制」内化进生成过程。

CRAG(Corrective RAG,纠错 RAG)

给检索结果加一个轻量评估器打分,按结果分三档处理:

  • Correct(检索可靠):精炼后使用;
  • Incorrect(检索不可靠):丢弃,转网络搜索兜底;
  • Ambiguous(不确定):两者结合。

核心思想:不信任单一检索源,用质量门控 + 兜底来纠错,显著降低「检索垃圾→生成垃圾」。

多跳 / 迭代检索(Iterative Retrieval)

复杂问题分轮检索,每轮用上一轮的结果决定下一步查什么:

Q:「写《三体》的作者获得的雨果奖是哪一年颁发的?」
跳1:检索「《三体》作者」→ 刘慈欣
跳2:用「刘慈欣 雨果奖 年份」再检索 → 2015

代表思路如 IRCoT(检索与思维链交替)、ReAct 式「想—查—想—查」循环。

Agentic / 多 Agent RAG

把检索能力封装成工具,由 ReAct Agent 自主调度;复杂场景用多 Agent 分工(一个 Agent 管知识库、一个管网络、一个汇总),见 多 Agent。这是与通用 Agent 框架(LangGraph 等)结合最紧的形态。

四、Naive RAG vs Agentic RAG

维度Naive RAGAgentic RAG
检索次数固定一次按需多次/不检索
多跳问题不支持支持
相关性判断有(评估器/反思 token)
兜底网络搜索/换源/重试
延迟低、可预测高、不可预测
成本高(多次 LLM + 检索调用)
适用简单事实问答复杂、多跳、高准确率要求

务实原则同 工作流 vs Agent简单问答别上 Agentic RAG,它的自主性带来延迟和成本,只在朴素 RAG 确实答不好时才引入。

五、工程落地要点

  • 延迟与成本控制:多轮检索 + 反思会让一次问答跑好几次 LLM,必须设最大轮数、加缓存、对简单问题走快速路径(路由分流)。
  • 可观测性:Agentic 流程是黑盒,必须 trace 每一步「查了什么、评估结果、为什么重试」,否则无法调试(见 LLMOps)。
  • 评估:除了答案质量,还要评估「检索决策对不对、多跳路径合不合理」,见 RAG 评估
  • 防失控:反思循环可能停不下来或越查越偏,要有收敛条件和兜底答案。

高频追问

Q:Agentic RAG 和普通 RAG 的本质区别? 普通 RAG 是固定的「检索→生成」管道;Agentic RAG 让 LLM 自主决策检索流程——要不要检索、查什么、查几次、结果可不可信、要不要换源重试。本质是把「静态流水线」变成「带反馈的决策循环」。

Q:Self-RAG 和 CRAG 有什么区别? Self-RAG 是训练模型输出反思 token、把按需检索和自我批判内化进生成;CRAG 是在检索后挂一个外部评估器给结果打分、不行就转网络搜索兜底,不需要改模型。前者改模型、后者改流程,可结合。

Q:多跳检索为什么朴素 RAG 做不了? 朴素 RAG 一次性用原始问题检索,但多跳问题的第二跳依赖第一跳的答案(「刘慈欣」要先查出来才能查他的奖项)。需要「检索→推理→再检索」的迭代结构,这正是 Agentic RAG 的能力。

Q:什么时候不该用 Agentic RAG? 简单事实问答、延迟敏感、成本敏感的场景。它的多轮 LLM 调用会让延迟和成本翻几倍,对「一次检索就能答好」的问题是浪费。用路由先分流,复杂的才进 Agentic 流程。

Q:Agentic RAG 的主要工程风险? 延迟/成本不可控(多轮循环)、反思可能不收敛或越走越偏、黑盒难调试。对策:最大轮数限制、快速路径分流、全链路 trace、兜底答案、对检索决策单独评估。

Q:Agentic RAG 和长上下文模型是替代关系吗? 不完全是。长上下文能「把更多内容塞进去」,但仍受成本、lost-in-the-middle 和知识时效限制;Agentic RAG 强在「按需精准取用 + 多跳推理 + 外部工具」。趋势是结合:长上下文承载单轮更多材料,Agentic 编排多轮与多源(见 长上下文专题)。

基于 MIT 许可发布