传统RAG是"单次检索→生成",把决策权交给开发者。Agentic RAG让Agent自己决定:要不要检索?检索什么?检索几次?检索失败怎么办?这是2026年RAG最重要的演进方向——从"模块"变成"循环",从"工具"变成"智能"。


一句话总结

Agentic RAG = RAG + Agent循环。Agent来决定何时检索、检索什么、如何评估检索质量、何时停止。代表方案:Self-RAG(自反思)、CRAG(修正式)、Adaptive RAG(自适应)、HyDE(假设嵌入)。代价是延迟和成本变高,但复杂任务的准确率显著提升。


1. 为什么需要Agentic RAG?

1.1 传统RAG的硬伤

传统RAG 流程:
用户问题 → 向量检索 → 取Top-K → 拼接Prompt → LLM生成

问题:
1. 不一定需要检索("你叫什么名字"也走了一遍检索)
2. 检索失败无法补救(Top-K都不相关 → 直接生成幻觉)
3. 单次检索处理不了复杂问题
4. 检索质量无评估
5. 复杂多跳问题无法解决

1.2 Agentic RAG的解法

把RAG从"模块"升级为"循环":

传统RAG:    一次检索 → 生成
Agentic RAG: 思考 → 决定是否检索 → 检索 → 评估质量 → 思考 → 再检索? → 生成

核心变化:

  • ✅ Agent判断要不要检索(避免过度检索)
  • ✅ Agent评估检索结果(质量不行就重新检索)
  • ✅ Agent能多轮检索(多跳问题)
  • ✅ Agent能自我纠错(检索失败时改写查询)

2. Agentic RAG的四大代表方案

2.1 Self-RAG(自反思RAG)⭐ Asai et al. 2023

💡 Self-RAG:Asai et al. 2023年提出,Self-Reflective Retrieval-Augmented Generation。让模型用特殊Token(reflection tokens)自我评估每个步骤。

核心机制:训练LLM输出特殊的反思Token:

反思Token作用
[Retrieve]决定是否需要检索
[IsRel]评估检索文档是否相关
[IsSup]评估生成是否被文档支持
[IsUse]评估答案对用户是否有用

工作流程:

用户问题
  ↓
LLM生成 [Retrieve=Yes/No]
  ├── No → 直接回答
  └── Yes → 检索Top-K
            ↓
          对每个文档生成 [IsRel=Yes/No]
            ↓
          基于相关文档生成回答 + [IsSup] + [IsUse]
            ↓
          按质量评分选最佳答案

效果:在事实问答和长文本生成上全面超越普通RAG。

2.2 CRAG(Corrective RAG,修正式RAG)⭐ Yan et al. 2024

💡 CRAG:Yan et al. 2024年提出,Corrective Retrieval-Augmented Generation。引入"检索质量评估器",质量差时触发纠错。

核心机制:在检索后加一个Retrieval Evaluator(轻量级判别器):

检索结果 → Evaluator评分
  ├── 高分(Correct)→ 直接用
  ├── 低分(Incorrect)→ 触发Web搜索补充
  └── 中等(Ambiguous)→ Web搜索 + 原检索 一起用

关键创新:

  • 不是黑盒检索 → 生成
  • 主动评估检索质量
  • 检索失败时用Web搜索兜底(突破私有知识库限制)

适用场景:知识库可能不完整、需要时效性信息的场景。

2.3 Adaptive RAG(自适应RAG)

💡 Adaptive RAG:根据问题复杂度动态选择RAG策略。简单问题→直接回答,中等→单次RAG,复杂→多步Agentic RAG。

核心机制:在RAG入口加一个Query Classifier:

用户问题 → Classifier
  ├── A级(简单)→ 直接LLM回答(不检索)
  ├── B级(中等)→ Single-step RAG
  └── C级(复杂)→ Multi-step Agentic RAG

Classifier训练:用历史数据标注问题难度,训练一个小模型做分类。

效果:

  • 简单问题响应速度提升5-10倍
  • 复杂问题准确率提升15-25%
  • 平均成本降低30-40%——大量简单问题不再走完整RAG流程

2.4 HyDE(假设文档嵌入)⭐ Gao et al. 2022

💡 HyDE(Hypothetical Document Embeddings,假设文档嵌入):Gao et al. 2022年提出。先让LLM生成一个假设答案,再用这个假设答案的向量去检索(而不是用原始问题)。

核心问题:

用户问题: "什么是注意力机制?"
原始问题向量 ≠ 真实答案文档向量
(因为问题是"问",文档是"答",语言风格差异大)

HyDE的解法:

Step 1: LLM根据问题生成假设答案
  "注意力机制是Transformer的核心组件,它通过Q、K、V三个矩阵..."
  
Step 2: 把假设答案向量化
  embedding(假设答案) → 向量A
  
Step 3: 用向量A去检索
  找和向量A相似的真实文档(假设答案虽然可能有错,但向量已经在"答案空间"了)

效果:在零样本检索上提升20-30%。特别适合训练数据少的领域。

2.5 四大方案对比

方案核心创新适用场景复杂度
Self-RAG反思Token自评估事实问答、长文生成高(需训练)
CRAG检索质量评估+Web兜底知识不完整场景中
Adaptive RAG按复杂度动态路由高并发场景中
HyDE假设答案做检索零样本/低资源领域低(即插即用)

3. 2026年的Agentic RAG新趋势

3.1 趋势1:从单循环到多Agent协作

2026年的Agentic RAG不再是单个Agent循环,而是多Agent协作:

Researcher Agent: 决定检索什么
   ↓
Retriever Agent: 执行检索(向量+关键词+图)
   ↓
Evaluator Agent: 评估检索质量
   ↓
Synthesizer Agent: 综合多源信息生成

代表实现:LlamaIndex AgentWorkflow、LangGraph Agentic RAG。

3.2 趋势2:和长期记忆融合

2026年Agentic RAG开始和Memory系统融合:

传统Agentic RAG: 每次任务独立检索
2026方向: 历史检索结果存入Memory,下次任务可复用

代表方案:Mem0 + LlamaIndex、Zep + LangGraph。

3.3 趋势3:Pinecone Nexus的"编译时RAG"

向量数据库厂商Pinecone 2026年推出Nexus——把推理时间的检索工作前置到编译时间:

传统RAG: 每次query都重新理解数据
Nexus:   数据预先编译为"知识工件"(Knowledge Artifacts)
         Agent直接消费工件,不需要再解释原始数据

实测:金融分析任务从280万Token降到4000 Token,98%降本。

3.4 趋势4:RAG vs 长上下文的博弈

2026年争议:
长上下文派: "1M context + 强推理 = 不需要RAG"
RAG派:     "私有数据 + 实时性 + 可追溯 = RAG不可替代"

实际共识:

  • 文档<100页:长上下文胜出
  • 100页-10万页:Agentic RAG胜出
  • 10万页或频繁更新:Graph-RAG / 分层RAG


4. 实战示例:用LangGraph实现Self-CRAG

把Self-RAG和CRAG的思想结合,实现一个2026级别的Agentic RAG:

from langgraph.graph import StateGraph, END
from typing import TypedDict, List
from langchain_anthropic import ChatAnthropic

llm = ChatAnthropic(model="claude-opus-4.7")

class AgenticRAGState(TypedDict):
    question: str
    documents: List[str]
    quality_score: float
    answer: str
    retrieve_count: int

# Step 1: 判断是否需要检索(Self-RAG)
def should_retrieve(state):
    prompt = f"问题:{state['question']}\n这个问题需要检索外部知识吗?回答yes/no"
    decision = llm.invoke(prompt)
    return "retrieve" if "yes" in decision.content.lower() else "direct_answer"

# Step 2: 执行检索
def retrieve_node(state):
    docs = vector_store.similarity_search(state['question'], k=5)
    return {"documents": docs, "retrieve_count": state.get("retrieve_count", 0) + 1}

# Step 3: 评估检索质量(CRAG)
def evaluate_node(state):
    prompt = f"""问题:{state['question']}
    检索到的文档:{state['documents']}
    评估检索质量:High/Medium/Low"""
    score = llm.invoke(prompt).content
    return {"quality_score": score}

# Step 4: 决定下一步
def quality_router(state):
    if state['retrieve_count'] >= 3:
        return "generate"  # 防死循环
    if "High" in state['quality_score']:
        return "generate"
    elif "Low" in state['quality_score']:
        return "web_search"  # CRAG的Web兜底
    else:
        return "rewrite_query"  # 改写查询重新检索

# Step 5: 改写查询(HyDE思想)
def rewrite_node(state):
    prompt = f"""原问题:{state['question']}
    生成一个假设答案,用于改进检索:"""
    hypothesis = llm.invoke(prompt).content
    return {"question": hypothesis}

# Step 6: Web搜索兜底
def web_search_node(state):
    web_results = web_search(state['question'])
    return {"documents": state['documents'] + web_results}

# Step 7: 生成最终答案
def generate_node(state):
    prompt = f"""基于以下文档回答问题:
    问题:{state['question']}
    文档:{state['documents']}"""
    answer = llm.invoke(prompt).content
    return {"answer": answer}

# 构建Agentic RAG图
graph = StateGraph(AgenticRAGState)
graph.add_node("retrieve", retrieve_node)
graph.add_node("evaluate", evaluate_node)
graph.add_node("rewrite", rewrite_node)
graph.add_node("web_search", web_search_node)
graph.add_node("generate", generate_node)

# 入口路由
graph.add_conditional_edges(
    "__start__", should_retrieve,
    {"retrieve": "retrieve", "direct_answer": "generate"}
)

graph.add_edge("retrieve", "evaluate")
graph.add_conditional_edges(
    "evaluate", quality_router,
    {"generate": "generate", "rewrite_query": "rewrite", "web_search": "web_search"}
)
graph.add_edge("rewrite", "retrieve")  # 重新检索
graph.add_edge("web_search", "generate")
graph.add_edge("generate", END)

app = graph.compile()

# 运行
result = app.invoke({"question": "GLM-5.1的8小时长任务是怎么实现的?"})
print(result["answer"])

这个流程包含了:

  • ✅ Self-RAG的"是否需要检索"判断
  • ✅ CRAG的"质量评估+Web兜底"
  • ✅ HyDE的"改写查询"机制
  • ✅ Agent循环的"多次重试+死循环保护"

5. Agentic RAG vs 传统RAG的工程取舍 ⚠️

5.1 优势

维度Agentic RAG优势
准确率复杂问题提升20-40%
灵活性处理多跳/不完整知识场景
容错性检索失败有兜底机制
智能路由简单问题不浪费

5.2 代价

维度代价
延迟多次LLM调用,从100ms到3-10秒
成本LLM调用次数3-10倍
复杂度调试难度成倍上升
可解释性决策路径动态,难追溯
可观测性必须配合Trace工具(LangSmith/Langfuse)

5.3 选型决策

你的场景...
├── 简单FAQ + 高并发 → 传统RAG(Adaptive RAG做路由)
├── 复杂问答 + 准确率优先 → Self-RAG / CRAG
├── 知识库不完整 → CRAG(Web兜底)
├── 零样本/低资源 → HyDE
├── 多跳推理 → Self-CRAG混合 + Graph-RAG
└── 需要持续学习 → Agentic RAG + Memory系统

6. 主流框架的Agentic RAG支持

框架Agentic RAG实现特点
LangGraphStateGraph + 条件路由最灵活,2026首选
LlamaIndexAgentWorkflow + Query EngineRAG优先
HaystackPipeline + Branch企业级
Dify低代码Agentic RAG快速原型
VerbaWeaviate原生集成一站式

7. 面试高频问题

Q1:Agentic RAG和传统RAG的本质区别?

传统RAG是"单次检索→生成"的固定模块;Agentic RAG是"思考→检索→评估→再检索"的Agent循环。Agent决定何时检索、检索什么、如何评估。代价是延迟和成本变高,但复杂任务准确率显著提升。

Q2:HyDE为什么有效?

向量空间中,“问题"和"答案"的距离远——用户问"什么是X”,文档是"X是…",语言风格差异大。HyDE让LLM先生成假设答案,再用假设答案向量检索——假设答案虽然可能有错,但向量已经在"答案空间"了,召回率提升20-30%。

Q3:Self-RAG和CRAG的差异?

Self-RAG用反思Token让模型自评估每一步(需要训练);CRAG用独立的检索评估器判断检索质量(即插即用)。Self-RAG更优雅但训练成本高,CRAG更工程化但需要额外评估器。

Q4:什么场景必须用Agentic RAG?

(1) 多跳问答(A→C→B);(2) 知识库不完整(需要Web补充);(3) 高准确率优先(金融/医疗/法律);(4) 复杂任务(需要多次检索+综合)。简单FAQ场景没必要——会增加延迟和成本。

Q5:Adaptive RAG怎么节省成本?

在RAG入口加一个Query Classifier——简单问题直接LLM回答(不检索),中等单次RAG,复杂多步Agentic RAG。简单问题占80%流量,跳过检索后总成本降30-40%。

Q6:2026年Agentic RAG的新趋势?

(1) 多Agent协作(Researcher/Retriever/Evaluator分工);(2) 和Memory系统融合(历史检索可复用);(3) Pinecone Nexus的"编译时RAG"(数据预先编译为知识工件);(4) 长上下文+RAG的混合架构。


总结

维度要点
本质RAG从模块升级为Agent循环
四大方案Self-RAG / CRAG / Adaptive RAG / HyDE
核心能力自评估 / 自纠错 / 自适应 / 假设嵌入
2026趋势多Agent协作 / Memory融合 / 编译时RAG
适合场景复杂多跳、不完整知识、高准确率需求
不适合简单FAQ、高并发、低延迟要求
代价延迟3-10倍、成本3-10倍、调试复杂

Agentic RAG是2026年RAG演进的核心方向——让AI自己决定怎么检索。但它不是"RAG的下一代",而是**“RAG的智能化升级”——在合适的场景下用,不要overkill。最佳实践是Adaptive路由+Agentic循环+Memory融合**的混合架构。


路易乔布斯 © 2026 | AI Agent & RAG学习计划 · 模块02-RAG · 第三篇

参考文献:

  • Asai et al., “Self-RAG: Learning to Retrieve, Generate, and Critique through Self-Reflection”, 2023
  • Yan et al., “Corrective Retrieval Augmented Generation”, 2024
  • Gao et al., “Precise Zero-Shot Dense Retrieval without Relevance Labels (HyDE)”, 2022
  • Pinecone, “Nexus: Knowledge Engine for Agentic AI”, 2026.05
Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐