【系统学AI】13 Agentic RAG(2026版):让AI自己决定怎么检索
传统RAG是单次检索→生成把决策权交给开发者。Agentic RAG让Agent自己决定要不要检索检索什么检索几次检索失败怎么办这是2026年RAG最重要的演进方向——从模块变成循环从工具变成智能。一句话总结Agentic RAG RAG Agent循环。Agent来决定何时检索、检索什么、如何评估检索质量、何时停止。代表方案Self-RAG自反思、CRAG修正式、Adaptive RAG自适应、HyDE假设嵌入。代价是延迟和成本变高但复杂任务的准确率显著提升。1. 为什么需要Agentic RAG1.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. 2023Self-RAGAsai et al. 2023年提出Self-Reflective Retrieval-Augmented Generation。让模型用特殊Tokenreflection tokens自我评估每个步骤。核心机制训练LLM输出特殊的反思Token反思Token作用[Retrieve]决定是否需要检索[IsRel]评估检索文档是否相关[IsSup]评估生成是否被文档支持[IsUse]评估答案对用户是否有用工作流程用户问题 ↓ LLM生成 [RetrieveYes/No] ├── No → 直接回答 └── Yes → 检索Top-K ↓ 对每个文档生成 [IsRelYes/No] ↓ 基于相关文档生成回答 [IsSup] [IsUse] ↓ 按质量评分选最佳答案效果在事实问答和长文本生成上全面超越普通RAG。2.2 CRAGCorrective RAG修正式RAG⭐ Yan et al. 2024CRAGYan et al. 2024年提出Corrective Retrieval-Augmented Generation。引入检索质量评估器质量差时触发纠错。核心机制在检索后加一个Retrieval Evaluator轻量级判别器检索结果 → Evaluator评分 ├── 高分Correct→ 直接用 ├── 低分Incorrect→ 触发Web搜索补充 └── 中等Ambiguous→ Web搜索 原检索 一起用关键创新不是黑盒检索 → 生成主动评估检索质量检索失败时用Web搜索兜底突破私有知识库限制适用场景知识库可能不完整、需要时效性信息的场景。2.3 Adaptive RAG自适应RAGAdaptive RAG根据问题复杂度动态选择RAG策略。简单问题→直接回答中等→单次RAG复杂→多步Agentic RAG。核心机制在RAG入口加一个Query Classifier用户问题 → Classifier ├── A级简单→ 直接LLM回答不检索 ├── B级中等→ Single-step RAG └── C级复杂→ Multi-step Agentic RAGClassifier训练用历史数据标注问题难度训练一个小模型做分类。效果简单问题响应速度提升5-10倍复杂问题准确率提升15-25%平均成本降低30-40%——大量简单问题不再走完整RAG流程2.4 HyDE假设文档嵌入⭐ Gao et al. 2022HyDEHypothetical 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 趋势3Pinecone Nexus的编译时RAG向量数据库厂商Pinecone 2026年推出Nexus——把推理时间的检索工作前置到编译时间传统RAG: 每次query都重新理解数据 Nexus: 数据预先编译为知识工件Knowledge Artifacts Agent直接消费工件不需要再解释原始数据实测金融分析任务从280万Token降到4000 Token98%降本。3.4 趋势4RAG vs 长上下文的博弈2026年争议: 长上下文派: 1M context 强推理 不需要RAG RAG派: 私有数据 实时性 可追溯 RAG不可替代实际共识文档100页长上下文胜出100页-10万页Agentic RAG胜出10万页或频繁更新Graph-RAG / 分层RAG4. 实战示例用LangGraph实现Self-CRAG把Self-RAG和CRAG的思想结合实现一个2026级别的Agentic RAGfromlanggraph.graphimportStateGraph,ENDfromtypingimportTypedDict,Listfromlangchain_anthropicimportChatAnthropic llmChatAnthropic(modelclaude-opus-4.7)classAgenticRAGState(TypedDict):question:strdocuments:List[str]quality_score:floatanswer:strretrieve_count:int# Step 1: 判断是否需要检索Self-RAGdefshould_retrieve(state):promptf问题{state[question]}\n这个问题需要检索外部知识吗回答yes/nodecisionllm.invoke(prompt)returnretrieveifyesindecision.content.lower()elsedirect_answer# Step 2: 执行检索defretrieve_node(state):docsvector_store.similarity_search(state[question],k5)return{documents:docs,retrieve_count:state.get(retrieve_count,0)1}# Step 3: 评估检索质量CRAGdefevaluate_node(state):promptf问题{state[question]}检索到的文档{state[documents]}评估检索质量High/Medium/Lowscorellm.invoke(prompt).contentreturn{quality_score:score}# Step 4: 决定下一步defquality_router(state):ifstate[retrieve_count]3:returngenerate# 防死循环ifHighinstate[quality_score]:returngenerateelifLowinstate[quality_score]:returnweb_search# CRAG的Web兜底else:returnrewrite_query# 改写查询重新检索# Step 5: 改写查询HyDE思想defrewrite_node(state):promptf原问题{state[question]}生成一个假设答案用于改进检索hypothesisllm.invoke(prompt).contentreturn{question:hypothesis}# Step 6: Web搜索兜底defweb_search_node(state):web_resultsweb_search(state[question])return{documents:state[documents]web_results}# Step 7: 生成最终答案defgenerate_node(state):promptf基于以下文档回答问题 问题{state[question]}文档{state[documents]}answerllm.invoke(prompt).contentreturn{answer:answer}# 构建Agentic RAG图graphStateGraph(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)appgraph.compile()# 运行resultapp.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/Langfuse5.3 选型决策你的场景... ├── 简单FAQ 高并发 → 传统RAGAdaptive RAG做路由 ├── 复杂问答 准确率优先 → Self-RAG / CRAG ├── 知识库不完整 → CRAGWeb兜底 ├── 零样本/低资源 → 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. 面试高频问题Q1Agentic RAG和传统RAG的本质区别传统RAG是单次检索→生成的固定模块Agentic RAG是思考→检索→评估→再检索的Agent循环。Agent决定何时检索、检索什么、如何评估。代价是延迟和成本变高但复杂任务准确率显著提升。Q2HyDE为什么有效向量空间中“问题和答案的距离远——用户问什么是X”文档是X是…语言风格差异大。HyDE让LLM先生成假设答案再用假设答案向量检索——假设答案虽然可能有错但向量已经在答案空间了召回率提升20-30%。Q3Self-RAG和CRAG的差异Self-RAG用反思Token让模型自评估每一步需要训练CRAG用独立的检索评估器判断检索质量即插即用。Self-RAG更优雅但训练成本高CRAG更工程化但需要额外评估器。Q4什么场景必须用Agentic RAG(1) 多跳问答A→C→B(2) 知识库不完整需要Web补充(3) 高准确率优先金融/医疗/法律(4) 复杂任务需要多次检索综合。简单FAQ场景没必要——会增加延迟和成本。Q5Adaptive RAG怎么节省成本在RAG入口加一个Query Classifier——简单问题直接LLM回答不检索中等单次RAG复杂多步Agentic RAG。简单问题占80%流量跳过检索后总成本降30-40%。Q62026年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”, 2023Yan et al., “Corrective Retrieval Augmented Generation”, 2024Gao et al., “Precise Zero-Shot Dense Retrieval without Relevance Labels (HyDE)”, 2022Pinecone, “Nexus: Knowledge Engine for Agentic AI”, 2026.05