Agentic RAG:智能检索增强

金融分析师需要回答这个问题:苹果公司 2024 年相比 2023 年盈利能力是否改善?

如果只是机械地搜索一次,可能只找到 2024 年的数据。但经验丰富的分析师会这样做:先检索 2024 年财报,提取净利润率;再检索 2023 年财报,提取同一指标;然后计算变化;如果发现数据异常,还会交叉验证。

这种主动规划、动态调整、自我验证的检索方式,就是 Agentic RAG 的核心理念。

6.6.1 从被动检索到主动决策

传统 RAG 采用固定的”检索一次 → 生成”流程:接收查询、执行检索、返回结果,不评估检索质量,也不动态调整策略。

重要核心概念:Agentic RAG

Agentic RAG 是赋予检索增强生成系统智能体能力的技术范式。它让 RAG 系统从被动的检索-生成流程,进化为主动规划、动态调整、自我反思的智能检索系统。核心转变是:检索是决策而非步骤

传统 RAG 与 Agentic RAG 的对比:

特性 传统 RAG Agentic RAG
检索流程 固定(检索一次 → 生成) 动态(可多轮检索、调整策略)
信息需求判断 无(总是检索) 有(判断是否需要检索)
检索质量评估 评估相关性,必要时重新检索
多源协调 单一检索源 可调用多种工具(向量库、SQL、API)
答案验证 自我反思,交叉验证

6.6.2 四大核心能力

Agentic RAG 具备四大核心能力,它们相互配合,形成完整的智能检索闭环。

1. 规划(Planning)

面对复杂问题,智能体会先分解任务,规划检索路径。

用户问题:对比苹果和三星 2024 年盈利能力

规划结果:
  步骤 1:检索苹果 2024 年财报,提取净利润和营收
  步骤 2:检索三星 2024 年财报,提取净利润和营收
  步骤 3:计算两家公司的净利润率
  步骤 4:对比分析,得出结论

2. 检索驱动推理(Retrieval-driven Reasoning)

智能体基于检索结果动态调整推理路径,而不是机械执行预设流程。

执行步骤 1:检索到苹果营收 3890 亿美元
发现问题:只有营收,没有成本数据,无法计算净利润
动态调整:补充检索「苹果 2024 年净利润」或「苹果 2024 年利润表」
继续执行:获取净利润 967 亿美元,计算净利润率 24.9%

3. 工具使用(Tool Use)

智能体根据任务特点选择合适的工具,而不是只依赖单一检索方式。

信息类型 推荐工具 示例
财报数据 向量检索 检索年报 PDF 中的财务数据
结构化数据 SQL 查询 查询数据库中的股价、估值指标
实时信息 API 调用 获取最新股价、汇率
最新动态 网络搜索 搜索公司新闻、政策变化

4. 自我反思(Self-Reflection)

智能体会评估检索和生成的质量,发现问题及时纠正。

生成答案:「苹果 2024 年营收增长 15%」
自我反思:这个增速异常高,需要验证
重新检索:查找官方财报原文
发现错误:实际增速是 2.1%,之前检索到的是分析师预测
纠正答案:「苹果 2024 年营收实际增长 2.1%」

6.6.3 关键设计模式

Agentic RAG 有四种关键设计模式,适用于不同场景。

Self-RAG:反射标记系统

Self-RAG 的核心是在生成过程中插入反射标记,指导每一步决策。

反射标记 含义 选项
[Retrieve] 需要检索吗? yes / no / continue
[IsRelevant] 文档相关吗? relevant / irrelevant
[IsSupported] 文档支持答案吗? fully / partially / no support

这种机制让智能体能够:

  • 避免不必要的检索(当模型已有足够知识时,标记 [Retrieve: no])
  • 过滤不相关的文档(标记 [IsRelevant: irrelevant] 后跳过)
  • 验证答案的可靠性(只采用 [IsSupported: fully] 的内容)

金融场景示例

用户询问:「苹果 2024 Q3 净利润是多少?」

智能体内部决策:
[Retrieve: yes] 需要检索财报数据
  ↓ 检索到文档
[IsRelevant: relevant] 文档是 2024 Q3 财报,相关
  ↓ 提取信息
[IsSupported: fully] 文档明确列出净利润 $22.9B
  ↓ 生成答案
「苹果 2024 Q3 净利润为 229 亿美元」

CRAG:检索质量分级

CRAG(Corrective RAG)根据检索质量动态调整策略。

检索结果质量评估:
├── Correct(高相关)→ 直接使用
├── Ambiguous(部分相关)→ 补充检索 + 信息融合
└── Incorrect(不相关)→ 丢弃,尝试外部搜索

Multi-Hop RAG:多文档跳跃

很多复杂问题无法通过一次检索解决,需要在多个文档之间跳转,建立逻辑链条。

问题:比亚迪 2024 年 Q3 毛利率比 Q2 提高了还是降低了?

第 1 跳:检索 2024 Q3 财报 → 毛利率 21.9%
第 2 跳:检索 2024 Q2 财报 → 毛利率 20.7%
第 3 跳:对比分析 → Q3 比 Q2 提高 1.2 个百分点
第 4 跳(可选):检索原因 → 规模效应、成本优化

Adaptive RAG:策略分级

根据问题复杂度自动选择策略。

问题类型 检索策略 示例
简单事实 单次检索或直接回答 苹果的股票代码是什么?
对比分析 Multi-Hop A 公司和 B 公司谁盈利能力更强?
因果推理 Self-RAG + 验证 股价下跌的原因是什么?
提示适用场景建议
  • Multi-Hop RAG:适合跨期对比、跨公司对比、因果分析
  • Self-RAG:适合需要高准确性的场景(金融分析、合规审查)
  • Adaptive RAG:适合问题复杂度差异大的综合问答系统

6.6.4 GraphRAG vs Vector RAG

向量检索是 RAG 的基础方式,但它有一个根本局限:丢失关系结构。

Vector RAG 的局限

向量数据库可以回答”苹果 Q3 营收是多少?“——因为这是独立事实检索。但它很难回答”苹果的哪些供应商也报告了营收增长?“——因为供应商关系没有编码在向量空间中。

特性 Vector RAG GraphRAG
准确率 ~60-70% ~75-85%
关系结构 丢失 保留
幻觉率 较高 降低约 30%
适用查询 独立事实检索 关系推理、因果分析

GraphRAG 的优势

GraphRAG 通过提取实体和关系,构建知识图谱,支持关系推理。

知识图谱片段:
[苹果公司] --供应商--> [台积电]
[苹果公司] --供应商--> [富士康]
[台积电] --竞争对手--> [三星电子]

可回答的问题:
- 苹果的供应商有哪些?
- 苹果和三星有共同供应商吗?
- 供应商中谁的营收增长最快?

实证数据(来源:Deep Memory Retrieval Benchmark, 2024)

深度记忆检索(DMR)基准测试显示:

系统 准确率 关键特点
Zep(时序知识图谱) 94.8% 最佳准确率,保留时间有效性
MemGPT 93.4% 综合表现良好
GraphRAG 75-85% 关系结构保留,20-35% 准确率提升
Vector RAG 60-70% 丢失关系结构
递归摘要 35.3% 严重信息损失
警告注意

递归摘要仅有 35.3% 的准确率。这意味着简单的对话压缩可能丢失大量关键信息。选择压缩策略时要谨慎。

选择建议

场景 推荐方案
独立事实查询 Vector RAG
关系推理、因果分析 GraphRAG
时间敏感查询(某时点已知信息) 时序知识图谱
成本敏感场景 Vector RAG + 元数据过滤

6.6.5 记忆整合

长期运行的智能体需要定期整合记忆,保持系统健康。记忆整合(Memory Consolidation)是维护记忆质量的关键机制。

触发条件

记忆整合应在以下情况触发:

  • 记忆数量超过阈值(如 10,000 条)
  • 检索返回过多过时结果
  • 定期调度(如每周一次)

整合流程

记忆整合流程:

1. 识别重复
   - 语义相似度 > 0.95 的记忆合并
   - 保留最新版本

2. 合并相关
   - 同一实体的多条记忆整合
   - 保留时间线完整性

3. 更新有效性
   - 检查时间戳,标记过时信息
   - 更新 valid_until 字段

4. 归档过时
   - 超过保留期的记忆移至归档
   - 保留审计痕迹

金融场景示例

# 整合前
- 记忆 1:「张先生风险偏好为激进型」(2023-01)
- 记忆 2:「张先生风险偏好为稳健型」(2024-06)
- 记忆 3:「张先生经历熊市后变得谨慎」(2024-06)

# 整合后
- 张先生风险偏好:
    - 2023-01 至 2024-05: 激进型
    - 2024-06 至今: 稳健型
    - 变化原因: 熊市经历