在大型语言模型(LLM)日益普及的当下,检索增强生成(Retrieval-Augmented Generation,简称RAG)已成为提升LLM知识准确性与时效性的关键技术。通过将LLM与外部知识库结合,它有效解决了知识滞后与“幻觉”等难题。然而,RAG技术本身也在持续演进。从最初的传统RAG架构,到如今备受瞩目的Agentic RAG(智能体式RAG),RAG系统正变得愈发智能、灵活且强大。本文将深入对比这两种RAG范式,揭示Agentic RAG如何通过引入“智能体”概念,将RAG系统推向全新高度。
1. 传统RAG:线性、简洁与高效的“检索-生成”流程
一、传统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的特点:
-
优点: 结构简单、流程清晰、易于实现,在处理直接、单跳的问答任务时效率很高。
-
局限性: 线性流程使其在处理复杂、模糊或需要多步推理的查询时显得力不从心。它缺乏自我评估和主动规划能力,容易受检索结果质量影响,可能导致“幻觉”或不准确的回答。
小提示:传统RAG适合对响应速度要求高、查询简单明确的场景,例如知识库内常见问题的快速回答。如果你正在构建一个FAQ机器人,传统RAG完全够用。
常见问题:为什么传统RAG处理复杂查询时效果不佳?
因为其流程是单向的,检索到信息后直接用于生成,不会对检索结果进行评估或改进。如果第一次检索到的文档不相关,系统也没有机制进行修正,最终答案就会出现偏差。
2. Agentic RAG:智能体驱动的未来——循环、决策与工具使用
相较于传统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的特点:
-
优点:
更强的推理能力: 能够处理多跳查询和复杂逻辑推理。
更高的准确性: 通过自我评估和迭代,减少“幻觉”和不准确的回答。
更强的适应性: 能够根据任务需求,灵活选择和使用不同的外部工具。
更好的可解释性: 智能体的“思考”过程(如查询重写、工具选择)可以被记录和追踪。
-
局限性:
更高的复杂性: 引入了更多决策和循环,系统设计与调试难度增加。
潜在的延迟: 多次迭代和工具调用可能导致更高的响应延迟。
温馨提示:Agentic RAG虽然强大,但需要更多计算资源和更长的响应时间。实现时,建议先对查询复杂度进行判断,简单问题走传统RAG,复杂问题再触发Agent流程,以平衡效率与效果。
常见问题:Agentic RAG中“智能体”到底是什么?
智能体本质上是一个由LLM驱动的决策器,它能够根据当前状态(如查询、中间结果)自主决定下一步行动(是否需要重写查询、选择哪个工具、是否已经足够)。它就像是一个“大脑”,协调整个检索和生成的过程。
3. 汇总分析:传统RAG与Agentic RAG的对比
下表总结了传统RAG和Agentic RAG之间的主要区别:
| 特性 | 传统RAG | Agentic RAG |
| LLM角色 | 被动的内容消费者,执行检索和生成 | 主动思考、规划、决策并执行的“智能体” |
| 流程 | 线性、单向 | 循环、迭代,包含决策点 |
| 工具使用 | 主要依赖向量数据库进行检索 | 可灵活选择和调用多种外部工具(向量数据库、互联网、API等) |
| 复杂查询 | 难以处理多跳、模糊或需推理的查询 | 擅长处理复杂、多跳和需要多步推理的查询 |
| 自我评估 | 无 | 有(如判断是否需要更多细节、答案是否相关) |
| 错误处理 | 容易将检索错误传递给生成环节 | 可通过反馈循环进行自我修正 |
| 实现难度 | 相对简单 | 相对复杂 |
常见问题:在实际项目中,我应该选择传统RAG还是Agentic RAG?
这取决于应用场景。如果任务以简单的事实性问答为主(如“公司的年报在哪里?”),传统RAG效率更高。如果任务需要多步推理(如“找出今年销量最高的产品,并分析其成功原因”),则Agentic RAG更合适。另外,你还可以采用混合策略——先用传统RAG快速尝试,如果置信度低再切换到Agent模式。
总结
传统RAG为我们打开了LLM与外部知识结合的大门,在许多场景下依然高效实用。然而,随着AI应用的日益复杂,Agentic RAG代表了RAG技术发展的必然趋势。它将LLM从一个简单的“生成器”提升为能够自主思考、规划和执行的“智能体”,从而构建出更强大、更可靠、更接近人类智能的知识型AI系统。理解并掌握Agentic RAG的核心思想,将是构建未来高阶AI应用的关键。
