梳理 LLM 与 RAG 的最新进展(增强检索、语义缓存、多模态集成),解析 Agentic RAG 的定义、核心能力及其与传统 RAG 的差异,并详解路由、查询规划、工具使用、ReAct、动态规划与执行五类智能体的工作方式。
近期LLM和RAG的发展
在信息检索和自然语言处理领域,LLM和RAG的最新发展开启了一个高效和复杂的新时代。在LLM和RAG的最新进展中,四个关键领域取得了显著进展:

- 增强检索(Enhanced retrieval):优化RAG系统中的信息检索对性能至关重要。最近的进展集中在重新排序算法和混合搜索方法上,以提高搜索精度。通过为每个文档使用多个向量,可以实现更细粒度的内容表示,从而增强相关性识别。
- 语义缓存(Semantic caching):为了减少计算成本并确保响应一致性,语义缓存已成为一项关键策略。通过存储最近查询的答案及其语义上下文,可以高效处理类似请求,而无需重复调用LLM,从而实现更快的响应时间和一致的信息传递。
- 多模态集成(Multimodal integration):这将LLM和RAG的能力扩展到文本之外,集成了图像和其他模态。这有助于访问更广泛的源材料,并实现文本和视觉数据之间的无缝交互,从而产生更全面和细致的响应。
- Agentic RAG:基于agents的RAG实现,Agentic RAG利用智能agents来处理需要复杂规划、多步推理和外部工具使用的复杂问题。
Agentic RAG定义
引入 *Agent *来管理检索过程,使其更具动态性和适应性,这些 *Agent *可以:
- 分析用户查询: 将复杂的问题分解为更小的可操作步骤。
- 规划检索策略: 确定从各种来源访问相关信息的最佳方法。
- 选择合适的工具: 利用不同的工具(例如,矢量搜索、网络搜索、知识图)来收集信息。
- 优化查询: 通过反复优化搜索过程来提高检索到的信息的质量。
- 结合多种来源的信息: 整合来自不同知识库和工具的数据,提供全面的答案。
- 评估结果: 评估生成的响应的质量并根据需要调整流程。
Agentic RAG 的主要优势:
- 提高准确性:通过积极管理检索过程和优化查询,agentic RAG 最大限度地降低了信息不正确或不完整风险。
- 增强情境感知:代理可以利用不同的知识来源并整合信息来提供更细致、更符合情境的响应。
- 提高灵活性:调整工作流程和集成不同工具的能力使得 agentic RAG 适合复杂的现实世界任务。
- 减少幻觉:通过将 LLM 的回答建立在外部知识的基础上,代理 RAG 有助于降低 LLM 伪造信息的风险。
- 更好地处理复杂查询:将复杂的查询分解为更小的步骤并迭代解决方案的能力使得 agentic RAG 非常适合处理复杂的请求。
Agentic RAG与传统RAG的区别
| 特性 | 传统RAG | Agentic RAG |
|---|---|---|
| 提示工程 | 严重依赖手动提示工程和优化技术。 | 可以根据上下文和目标动态调整提示,减少对手动提示工程的依赖。 |
| 静态性 | 上下文感知有限,检索决策静态。 | 考虑对话历史并根据上下文调整检索策略。 |
| 开销 | 未优化的检索和额外的文本生成可能导致不必要的成本。 | 可以优化检索并减少不必要的文本生成,从而降低成本并提高效率。 |
| 多步复杂性 | 需要额外的分类器和模型进行多步推理和工具使用。 | 处理多步推理和工具使用,无需单独的分类器和模型。 |
| 决策制定 | 静态规则控制检索和响应生成。 | 决定何时何地检索信息,评估检索数据的质量,并对响应进行生成后检查。 |
| 检索过程 | 仅依赖初始查询来检索相关文档。 | 在检索之前或期间执行环境中的操作以收集更多信息。 |
| 适应性 | 适应变化情况或新信息的能力有限。 | 可以根据反馈和实时观察调整其方法。 |
基于功能的Agentic RAG分类
RAG agents可以根据其功能进行分类,提供从简单到复杂的多种能力,具有不同的成本和延迟。它们可以用于路由、一次性查询规划、使用工具、采用推理+行动(ReAct)方法以及协调动态规划和执行等目的。
路由agent(Routing agent)
路由agent使用大型语言模型(LLM)来确定选择哪个下游RAG。此过程构成agentic推理,其中LLM分析输入查询以做出选择最合适RAG。

一次性查询规划agent
查询规划agent将复杂查询分解为可并行化的子查询,每个子查询可以在基于不同数据源的各种RAG上执行。然后,这些响应被合并为最终响应。

工具使用agent
在典型的RAG中,提交查询以检索与查询语义匹配的最相关文档。然而,在某些情况下,需要从外部源(如API、SQL数据库或具有API接口的应用程序)获取额外数据。此额外数据用作上下文以增强输入查询,然后由LLM处理。

ReAct agent
ReAct = 推理 + 行动与LLMs
提升到一个更高的层次涉及将推理和行动结合起来,这些推理和行动在复杂查询上迭代执行。本质上,这包括将路由、查询规划和工具使用组合到一个实体中。

动态规划和执行agent
ReAct目前是最广泛采用的agent;然而,随着agents在生产环境中的部署增加,对更高可靠性、可观察性、并行化、控制和关注点分离的需求也在增加。本质上,需要长期规划、执行洞察、效率优化和延迟减少。


