面试知识库
困难

Agentic RAG与高级检索#

一句话答案#

Agentic RAG 让 Agent 主动决定”要不要检索、怎么检索、检索结果够不够好”,通过 Self-RAG 自评、Corrective RAG 纠错、Graph RAG 关系推理突破传统 RAG 的固定流程局限。

核心要点

1. RAG 演进三阶段#

阶段特征局限
Naive RAG固定流程:检索→生成不管问题是否需要检索都走全流程
Advanced RAG加入重排/HyDE/多路召回流程仍然固定,无法自适应
Agentic RAGAgent 决策检索策略,自评+纠错+迭代复杂度高,延迟增加

2. Self-RAG 核心机制#

LLM 生成特殊 token 做自评判断:

  1. [Retrieve] yes/no → 是否需要检索
  2. [ISREL] → 检索结果是否与问题相关
  3. [ISSUP] → 生成内容是否被检索结果支持

不需要检索的问题直接回答,需要检索的才走 RAG 流程。

3. Corrective RAG (CRAG) 三档置信度#

检索结果置信度评估
  ├── HIGH(置信度 > 0.8)→ 直接基于检索内容生成
  ├── AMBIGUOUS(0.5-0.8)→ Query Rewrite + 重新检索
  └── LOW(< 0.5)→ 降级到 Web Search 或拒绝回答
plaintext

4. Graph RAG 工作流#

离线阶段: 文档 → 实体抽取 → 关系抽取 → 构建知识图谱

在线阶段: Query → 实体识别 → 子图检索 → 图上下文 + 文档上下文 → LLM 生成

  • 优势:支持多跳推理(“A 公司 CEO 的母校在哪个城市?“需要两跳)
  • 局限:图谱构建成本高,实体关系提取有误差

5. Adaptive RAG#

对 query 做复杂度分类:

  • 简单事实题 → 直接 LLM 回答(无需检索)
  • 单跳查询 → 标准 RAG
  • 多跳推理 → Agentic RAG + 迭代检索
面试回答(2分钟版)

Agentic RAG是传统RAG的重大升级,核心区别是让Agent主动决策检索策略而不是走固定流程。传统Naive RAG不管什么问题都走检索再生成,Advanced RAG加了重排和混合召回但流程仍然固定。Agentic RAG让Agent自己判断要不要检索、怎么检索、结果够不够好。具体有几个关键模式:Self-RAG让LLM生成特殊token自评,先判断是否需要检索,检索后判断结果是否相关,生成后判断内容是否被检索结果支持。Corrective RAG做三档置信度分流:高置信度直接生成,中等置信度做Query Rewrite重新检索,低置信度降级到Web Search或拒绝回答。Graph RAG通过构建知识图谱支持多跳推理,比如”A公司CEO的母校在哪个城市”需要两跳才能回答。选型上不是越高级越好,简单FAQ场景传统RAG更快更稳,只有复杂查询和多跳推理场景才需要Agentic RAG。我们项目用了类似CRAG的三档置信度评估机制配合RetrievalPlanner规则引擎。

追问与易错

追问方向:

  • Self-RAG 和 CRAG 什么时候用?能组合吗? → Self-RAG 判断”要不要检索”(减少不必要的检索),CRAG 判断”检索结果够不够好”(低置信度重试/降级)。可以组合:先 Self-RAG 判断是否需要检索,检索后用 CRAG 评估质量
  • GraphRAG 的知识图谱怎么维护和更新?实体关系提取不准怎么办? → 增量更新:文档变更时重新提取变更部分的实体关系。提取不准用人工校验高频实体 + LLM 交叉验证。图谱维护成本高是 GraphRAG 最大的工程挑战
  • 检索置信度阈值怎么调?调太高太低分别什么后果? → 太高(>0.8)→ 大量拒答影响用户体验;太低(<0.3)→ 低质量检索结果导致幻觉(>0.8、<0.3 是通用经验范围;DocMind 实测用 0.65/0.25)。DocMind 用三档(0.65/0.25)在评测集上调优确定
  • Agentic RAG 延迟增加怎么优化? → 自评判断可以用规则替代 LLM(如 DocMind 的 CRAG heuristic 仲裁 0ms),Query Rewrite 用小模型,不必要的检索直接跳过(Self-RAG 短路)

易错点:

  • ❌ “Agentic RAG 一定比传统 RAG 好” → 简单 FAQ 场景传统 RAG 更快更稳,过度设计反而增加延迟和成本
  • ❌ “GraphRAG 适合所有场景” → 只有明确实体关系且需要多跳推理的场景才值得构建图谱
  • ❌ “Self-RAG 需要专门训练” → 可以用 Prompt 实现类似效果(让 LLM 先判断是否需要检索)

项目实践(DocMind): 实现了类 CRAG 三档置信度评估:Tier 1(HIGH, rerank top1 ≥ 0.65)直接生成;Tier 2(AMBIGUOUS, 0.25-0.65)进入仲裁(三种模式:heuristic 启发式/cross_encoder 精排/disabled 跳过);Tier 3(LOW, ≤ 0.25)降级拒答。RetrievalPlanner 用规则引擎(非 LLM)决定检索策略,4 个信号(ambiguous/precise/timeAware/memoryAware)映射到工具子集。评测数据:事件类查询 Recall@5 从 0.73(纯向量)→ 0.93(+BM25),+0.20 完全来自 BM25 融合贡献。