|
在大型语言模型(LLM)日益普及的今天,检索增强生成(Retrieval-Augmented Generation,RAG)已成为提升 LLM 知识准确性和时效性的关键技术。它通过将 LLM 与外部知识库相结合,有效解决了 LLM 知识滞后和“幻觉”等问题。 然而,RAG 技术本身也在不断演进。从最初的传统 RAG结构,到如今备受关注的Agentic RAG(智能体式 RAG),RAG 系统正变得越来越智能、灵活和强大。本文将深入对比这两种 RAG 范式,揭示 Agentic RAG 如何通过引入“智能体”的概念,将 RAG 系统推向一个全新的高度。 ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;visibility: visible;">线性、简洁与效率的“检索-生成”流程
一、传统 RAG 结构:简洁与效率让我们首先回顾一下传统的 RAG 结构。如图所示,传统 RAG 的核心在于其线性、高效的“检索-生成”流程。 传统 RAG 的工作流程: 知识库编码与索引(步骤 1 & 2): 额外文档(Additional documents)首先通过嵌入模型(Embedding model)进行编码(Encode),将其内容转化为高维向量。这些向量随后被索引(Index)并存储到向量数据库(Vector database)中。这个过程通常是离线完成的,为后续的检索做好准备。 查询编码(步骤 3): 当用户输入一个查询(Query)时,这个查询也会通过相同的嵌入模型进行编码(Encode),生成其对应的查询向量。 相似性搜索(步骤 4 & 5): 查询向量被用来在向量数据库中进行相似性搜索(Similarity search),以找到与查询语义最接近的相似文档(Similar documents)。 提示构建与生成(步骤 6 & 7): 检索到的相似文档作为上下文(Context),与原始查询一起,被整合为一个提示(Prompt)。 这个提示被发送给大型语言模型(LLM)。 LLM 基于提供的上下文和查询生成最终的响应(Response)。
传统 RAG 的特点: ingFang SC", system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 17px;font-style: normal;font-variant-ligatures: normal;font-variant-caps: normal;font-weight: 400;letter-spacing: 0.544px;orphans: 2;text-indent: 0px;text-transform: none;widows: 2;word-spacing: 0px;-webkit-text-stroke-width: 0px;white-space: normal;background-color: rgb(255, 255, 255);text-decoration-thickness: initial;text-decoration-style: initial;text-decoration-color: initial;text-align: center;visibility: visible;">智能体驱动的未来:循环、决策和工具使用的特性相较于传统 RAG 的线性流程,Agentic RAG引入了“智能体”(Agent)的概念,赋予 LLM 更高的自主性和决策能力。如图所示,Agentic RAG 的核心在于其循环、决策和工具使用的特性。 Agentic RAG 的工作流程:
智能体主导的查询处理(步骤 1-3): 查询重写与思考:初始查询不再直接进入检索,而是首先由LLM 智能体(LLM Agent)进行重写,将其转化为更精确的查询。随后,智能体进行自我评估,判断是否需要更多信息。这是智能体主动思考的体现。 主动规划与工具选择(步骤 4-6): 如果智能体判断需要更多信息,它会进一步思考“哪一个源头能帮我?”,并主动选择并调用不同的工具(Tools & APIs)。这些工具不再局限于向量数据库,还可以包括互联网搜索、结构化数据库或其他自定义 API。这种工具使用能力是 Agentic RAG 的重要特征。 检索与生成(步骤 7-9): 检索与上下文构建(步骤 7):系统会利用智能体选择的工具进行检索,并得到相关的检索到的上下文(Retrieved context)。这个上下文会与更新后的查询一起,为生成答案做准备。 生成初步响应(步骤 8 & 9):系统将检索到的上下文和更新后的查询打包成一个提示(Prompt),发送给一个大型语言模型(LLM)。LLM 基于这个提示生成一个初步响应(Response)。 循环迭代与自我评估(步骤 10-12): 自我评估:拿到初步响应后,LLM 智能体不会直接返回答案,而是会进行自我评估:“这个答案相关吗?”。 反馈循环:如果智能体判断答案不相关,它可以循环回到初始查询或之前的步骤,重新规划、重新检索,直到找到满意的答案。这种反馈循环和自我修正能力是 Agentic RAG 解决复杂问题的关键。
Agentic RAG 的特点: 优点: 更强的推理能力:能够处理多跳查询和复杂逻辑推理。 更高的准确性:通过自我评估和迭代,减少“幻觉”和不准确的回答。 更强的适应性:能够根据任务需求,灵活选择和使用不同的外部工具。 更好的可解释性:智能体的“思考”过程(如查询重写、工具选择)可以被记录和追踪。
局限性: 传统 RAG 和 Agentic RAG 之间的主要区别下表总结了传统 RAG 和 Agentic RAG 之间的主要区别: | | | | LLM 角色 | | | | 流程 | | | | 工具使用 | | 可灵活选择和调用多种外部工具(向量数据库、互联网、API 等) | | 复杂查询 | | | | 自我评估 | | | | 错误处理 | | | | 实现难度 | | |
总结
传统 RAG 为我们打开了 LLM 与外部知识结合的大门,它在许多场景下依然高效且实用。然而,随着 AI 应用的日益复杂,Agentic RAG 代表了 RAG 技术发展的必然趋势。它将 LLM 从一个简单的“生成器”提升为能够自主思考、规划和执行的“智能体”,从而构建出更强大、更可靠、更接近人类智能的知识型 AI 系统。理解并掌握 Agentic RAG 的核心思想,将是构建未来高阶 AI 应用的关键。 |