前2天我们介绍了有关RAG分块策略,通过优化文本切割方式(如按段落、语义或滑动窗口),让AI更精准地定位资料。但传统RAG仍有硬伤:被动检索、机械拼接答案、缺乏深度推理。
那接下来我们就介绍下Agentic RAG,在技术上对传统RAG进行突破。
01
RAG限制

检索增强生成 (RAG) 是一种用于构建 LLM 驱动的应用程序的技术。它利用外部知识源为 LLM 提供相关上下文并减少幻觉。
Naive RAG 由检索组件(通常由嵌入模型和向量数据库组成)和生成组件(LLM)组成。在推理时,用户查询用于对索引文档运行相似性搜索,以检索与查询最相似的文档,并为 LLM 提供额外的上下文。

典型的 RAG 应用程序有两个相当大的限制:
Naive RAG 只考虑一个外部知识源。但是,某些解决方案可能需要两个外部知识源,而某些解决方案可能需要外部工具和 API,例如 Web 搜索。
它们是一次性解决方案,这意味着上下文被检索一次。对检索到的上下文的质量没有推理或验证。
02
什么是AI系统中的代理

随着 LLM 的普及,出现了 AI 代理和多代理系统的新范式。AI 代理是具有角色和任务的 LLM,可以访问内存和外部工具。LLM 的推理功能可帮助代理规划所需的步骤并采取行动完成手头的任务。
因此,AI 代理的核心组件是:
-
LLM(具有角色和任务)
-
记忆力(短期和长期)
-
规划(例如,反思、自我批评、查询路由等)
-
工具(例如,计算器、Web 搜索等)

03
什么是Agentic RAG

Agentic RAG 描述了一种基于 AI 代理的 RAG 实现。具体来说,它将 AI 代理整合到 RAG 中,以编排其组件并执行除简单信息检索和生成之外的其他作,以克服非代理的限制。
3.1 AgenticRAG如何运作?
Agentic RAG 的工作原理是将一种或多种类型的 AI 代理整合到 RAG 系统中。例如,代理 RAG 系统可能会组合多个信息检索代理,每个代理都专门用于特定域或类型的数据源。一个代理查询外部数据库,而另一个代理可以梳理电子邮件和 Web 结果。
具体来说,检索组件通过使用可访问不同检索器工具的检索代理而成为代理组件,例如:
-
对向量索引执行向量搜索的向量搜索引擎(也称为查询引擎)
-
Web 搜索
-
计算器
-
用于以编程方式访问软件的任何 API,例如电子邮件或聊天程序
-
….
然后,RAG 代理可以对以下示例检索场景进行推理和作:
-
决定是否检索信息
-
确定使用哪个工具检索相关信息
-
构建查询本身
-
评估检索到的上下文,并确定是否需要重新检索。
04
Agentic RAG架构

与顺序的 RAG 架构相比,代理 RAG 架构的核心是代理。代理 RAG 架构可能具有不同程度的复杂程度。在最简单的形式中,单代理 RAG 架构是一个简单的路由器。但是,您也可以将多个代理添加到多代理 RAG 架构中。本节讨论两种基本的 RAG 架构。
4.1单代理RAG(路由器)
代理 RAG 最简单的形式是路由器。这意味着您至少有两个外部知识源,代理决定从哪个源中检索其他上下文。但是,外部知识源不必局限于(矢量)数据库。您也可以从工具中检索更多信息。例如,您可以执行 Web 搜索,也可以使用 API 从 Slack 通道或您的电子邮件帐户中检索其他信息。

4.2 多代理RAG
正如您可以猜到的那样,单代理系统也有其局限性,因为它仅限于一个代理,集推理、检索和答案生成于一体。因此,将多个代理链接到一个多代理 RAG 应用程序中是有益的。
例如,您可以有一个主代理,负责在多个专用检索代理之间协调信息检索。例如,一个代理可以从专有的内部数据源检索信息。另一个代理可能专门从您的个人帐户中检索信息,例如电子邮件或聊天。另一个代理也可能专门从 Web 搜索中检索公共信息。

05
Agentic RAG 与 RAG 对比

虽然 RAG 的基本概念(发送查询、检索信息和生成响应)保持不变,但工具使用将其泛化,使其更加灵活和强大。
可以这样想:RAG 就像在图书馆回答特定问题。另一方面,Agentic RAG 就像手里有一部智能手机,里面有网络浏览器、计算器、电子邮件等。
功能 | RAG | 增强RAG |
访问外部工具 | no | yes |
查询预处理 | no | yes |
多步检索 | no | yes |
验证检索到的信息 | no | yes |
06
Agentic RAG 框架

LangChain、CrewAI、LlamaIndex 和 Letta 等代理框架已经出现,以促进使用语言模型构建应用程序。这些框架通过将预构建的模板插入在一起,简化了代理 RAG 系统的构建。
-
LangChain 提供了许多使用工具的服务。LangChain 的 LCEL 和 LangGraph 框架进一步提供了内置工具。
-
LlamaIndex 进一步介绍了 QueryEngineTool,这是检索工具的模板集合。
-
CrewAI 是开发多代理系统的领先框架之一。用于工具使用的关键概念之一是在代理之间共享工具。
07
Agentic RAG 优劣势

优势:
从原版 RAG 到代理 RAG 的转变使这些系统能够产生更准确的响应,自主执行任务,并更好地与人类协作。
代理 RAG 的好处主要在于提高检索到的附加信息的质量。通过添加有权访问工具使用的代理,检索代理可以将查询路由到专业知识源。此外,代理的推理功能可以在将检索到的上下文用于进一步处理之前对其进行一层验证。因此,代理 RAG 可以带来更强大、更准确的响应。
优势:
然而,每枚硬币总是有两面的。使用 AI 代理子任务意味着合并 LLM 来执行任务。这带来了在任何应用程序中使用 LLM 的限制,例如增加延迟和不可靠性。
根据 LLM 的推理能力,代理可能无法充分完成任务(甚至根本无法完成)。重要的是要采用适当的故障模式,以帮助 AI 代理在无法完成任务时摆脱卡顿。