生成式AI的发展日新月异一不小心你就会淹没在新的概念中。RAG检索增强生成、Agent智能体作为主流的大语言模型LLM应用形式已经广为人知。这不还经常听到一个词Agentic RAG前两天还有人问小编它到底是RAG还是Agent今天我们就来彻底说清楚Agentic RAG。01 为什么需要Agentic RAG首先RAG是什么RAG是用检索到的外部知识来对LLM进行能力增强的一种技术旨在降低LLM的幻觉并让其更好的适应特定领域内的应用场景。通俗的讲RAG就是给LLM增加一个可快速查询的“外挂”知识库增强其能力以防它不懂的时候胡说八道。RAG LLM 知识库 检索器它可以让AI准确的回答诸如这样的问题公司的财务报销审核流程是怎样的上半年销售业绩前三名代理商是谁总结公司最新财报中的关键要点经典的RAG流程是借助检索器从知识库中查询问题相关语义接近的内容并把这些内容作为LLM回答的上下文从而得出最终答案。现在让我们考虑以下几个查询场景单一的RAG检索与生成管道显然无法应对这样的问题。这样的一个融合性查询任务也是单一RAG管道无法完成的。需要能够使用不同的检索技术来应对不同类型的查询问题。如既能回答事实性查询”xPhone手机详细参数“也能回答总结性的问题”总结下这篇论文要点“需要融合多个数据源的检索结果给出响应。比如这样的查询”查询销量最高的三个代理商的摘要信息及其关联公司“这里的问题是查询销量最高的代理商需要查询CRM系统的数据库代理商的详细信息存储在非结构化文档中关联公司的查询需要查询某个知识图谱数据库需要结合外部工具来增强RAG管道的回答能力与响应质量。比如这样一个查询任务“对比竞品公司产品与我公司产品并总结媒体评论”为了完成这个问题你需要借助本地检索器查询自身产品信息借助Web搜索查询竞品信息借助公开的API查询某些自媒体评论希望RAG在检索相关数据后能够自我反思评估必要时重新检索甚至改写问题。这些都是在实际应用中可能会面临的需求经典的RAG方案在面临这些场景时会捉襟见肘因此更“Agentic”的RAG出现了。02 什么是Agentic RAGAgentic RAG就是一种融合了Agent能力的RAG而Agent的核心能力是自主推理与行动。所以Agentic RAG就是将AI智能体的自主规划如路由、行动步骤、反思等能力带入到传统的RAG以适应更加复杂的RAG查询任务。Agentic RAG如何应对这些典型的复杂任务一起来看。在不同类型的RAG管道间自主选择路由以适应任务的多样性融合多种类型的RAG管道与数据源以适应综合性复杂查询任务与必要的外部工具协作以增强输出的准确性整体来说Agentic RAG的“智能体”特征主要体现在检索阶段相对于传统RAG的检索Agentic RAG更能够决定是否需要检索自主决策使用哪个检索引擎自主规划使用检索引擎的步骤评估检索到的上下文并决定是否重新检索自行规划是否需要借助外部工具03 Agentic RAG VS 传统RAGAgentic RAG在整体流程上与传统RAG一脉相承检索-合成上下文-生成但由于融入了Agent的自主能力从而具有更强的适应性与任务质量。这里的传统RAG指遵循“检索-上下文-生成”单一顺序流程的RAG应用。随着开发框架的不断完善当前一些常用的高级RAG模块已经具备了部分Agentic的特征比如语义路由、多步骤查询转换、子问题查询转换等。传统单一流程RAGAgentic RAG场景数据环境简单、任务单一企业级数据环境任务多样数据源通常基于单个检索引擎通常基于多个检索引擎索引向量索引为主可灵活结合多种索引检索规划无规划或静态规则动态规划下一步检索策略多步检索通常不支持借助多步骤推理自主实现外部工具通常不支持自动推理使用必要的工具反省机制通常不支持借助反省优化问题或重新检索灵活性不够灵活流程固定自主推理或灵活编排04 Agentic RAG技术架构与顺序式的传统RAG架构相比Agentic RAG的核心是Agent而RAG管道通常是检索器也可能是完整的RAG查询引擎则可以看作是Agent使用的一种工具从而完美的融合到Agent的架构中。从这个角度说Agentic RAG是RAG但更是Agent。从技术架构看也存在单Agent架构与多Agent架构。【单Agent的Agentic RAG】在这个架构中只有一个具有自主能力的Agent。RAG管道与外部工具都作为Tool提供给AgentAgent根据输入问题规划与决策这些工具的使用检索与累积更全面的上下文最后输出全面而准确的结果。如果这里的Agent每次规划只会选择一个后端RAG检索管道那么也就退化成了一个语义路由器模块。【多Agent的Agentic RAG】这是一个多层的Agent架构一个顶层的Agent负责协调多个二级Agent每个二级Agent再负责特定领域或特定类型的检索或查询任务可以根据需要灵活划分不同Agent的职责。比如你可以这样设计Agent1负责企业内部知识库的检索。协调使用多个不同索引类型的检索器如向量、知识图谱、甚至SQL检索。Agent2负责客户相关数据的检索任务。协调使用多个不同地区客户数据的检索器。Agent3负责借助各种工具从互联网检索必要的外部信息。顶层的Agent则负责管理与协调使用上面三个Agent来共同完成复杂查询任务实现任务拆分、派发与搜集结果并最终响应用户。多Agent的Agentic RAG架构具备更大的灵活性实际开发中你可以对不同的Agent进行单独规划、实现与调试最后组合成一个更完备的RAG系统提供超越传统的查询能力。05 总结Agentic RAG通过将智能体的核心能力引入到传统RAG借助Agent的规划与推理能力极大的增强了RAG检索的全面性、灵活性与准确性使得能够执行更复杂与多样的数据密集型的查询任务激发了RAG应用的新潜力。当然进步也伴随着挑战。利用智能体思想完成复杂任务也带来了对LLM的更深层依赖引发了新的响应延迟与不确定性的问题。因此在开发和使用 Agentic RAG 系统时需要审慎考虑其优劣以实现更高效和可靠的应用。