最近看了一篇关于Agentic RAG的论文,简单写写一些理解总结
本文关于Agentic RAG的内容参考引用:Agentic Retrieval-Augmented Generation: A Survey on Agentic RAG
1. LLM的局限性
- 依赖预训练数据导致信息过时
- 生成错误信息(幻觉)
- 无法适应动态现实场景(内部数据)
2. RAG基础
- 结合LLM的生成能力和外部检索机制
- 解决LLM依赖静态数据导致生成结果的过时和不完整响应问题
- 动态检索相关信息并整合到生成过程中,提高上下文准确性
2.1 RAG的核心组件
检索(Retrieval)
- 查询外部数据源(知识库、API、向量数据库)
- 使用密集向量搜索和Transformer模型提高检索精度和语义相关性
增强(Augmentation)
处理检索到的数据,提取和总结最相关的信息以匹配查询上下文
生成(Generation)
结合检索信息与LLM预训练的知识,生成连贯、上下文适当的响应
2.2 RAG范式的演进
Naive RAG(初级范式)
- 特点
- 采用关键词或者向量检索(BM25、DPR)获取Top-K文档信息。
- 将文档与查询拼接成一个Prompt送入LLM生成答案。
- 架构简单,易于实现,能够快速上线。
- 缺点
- 检索结果噪声大、缺乏上下文意识导致上下文割裂
- 输出碎片化、扩展性差
Advanced RAG(增强范式)
- 改进点
- 引入语义向量检索
- 使用 重排序(rerank)、查询改写、多轮检索 等策略提升上下文质量
- 支持 多跳推理(multi-hop reasoning) 机制进行复杂查询
Modular RAG(模块化范式)
- 核心思想
- 将RAG系统拆分为可插拔模块(检索器、重排器、生成器和记忆模块等)
- 支持领域优化和任务适应
- 支持混合检索策略、工具继承
- 类似“微服务架构”,提升可维护性和可拓展性
GraphRAG(图结构增强范式)
- 特点
- 引入知识图谱,集成基于图的数据结构
- 利用图中实体关系增强多跳推理和上下文丰富
- 适用于结构化数据任务,如医疗、法律
Agentic RAG(智能体范式)
- 核心点
- RAG系统由“被动响应”转向“主动规划”
- LLM作为自主Agent,可动态决定何时检索,检索什么,如何验证
- 支持迭代优化、自适应检索策略、工具调用、多轮交互和长期记忆
3.Agent核心
- LLM:具有定义好的角色和任务,作为Agent的核心推理引擎和对话接口,负责解读用户请求、生成回应并保持逻辑一致性。
- 记忆(Memory):记录交互过程中的上下文和相关信息。短期记忆用于追踪当前对话,长期记忆则存储积累的知识和经验。
- 规划(Planning):通过反思、问题拆解或自我评估机制,引导Agent进行迭代推理,确保复杂任务被有效分解。
- 工具(Tool):扩展Agent在文本生成之外的能力,如:向量检索、联网搜索和API调用等,使其能够访问外部资源,实时数据或者执行专业计算。
反思(自我反馈机制)
反思是Agentic工作流中的一个基础设计模式,使得Agent能够不断评估和优化自己的输出结果,通过引入自我反馈机制,Agent可以识别并纠正错误,不一致以及需要改进的地方。在多智能体系统中,反思可以是不同角色分工,例如一个智能体负责生成内容,另一个智能体负责评估。
规划(Planning)
规划是Agentic工作流中的一个关键设计模式,它使得Agent能够将复杂的任务自主分解为更小、更易管理的子任务,这对多跳推理和迭代问题解决至关重要。Agent可以借助规划能力,动态决定完成某个总目标所需要的步骤顺序,从而确保决策过程的灵活性。
工具(Tool)
关于工具的使用,不再过多介绍,无非是让Agent扩展自身能力,让我们感谢OpenAI的Function Calling,但是在优化工具选择方面仍存在挑战,尤其是在可选工具数量庞大的情境下,Agent会出现像人类一样的“选择困难症”。
多智能体协作(Multi-Agent)
通过多智能体协作,可以将任务专业化分工和并行处理。智能体之间可以互相沟通并共享中间结果,确保整个流程的高效和连贯。通过将子任务分配给具有特定能力的Agent,提升系统的扩展性和适应性。
4. Agentic RAG分类
Single-Agent Agentic RAG
简介
由一个中央智能体负责整个检索、路由和信息整合流程。
工作流程
- 用户提交查询,智能体分析并选择最合适的信息源。
- 智能体从选定的信息源中检索数据(如结构化数据库、语义搜索、网络搜索)。
- 将检索到的水传递给LLM进行整合。
- 生成最终响应并返回给用户。
主要特点和优势
-
集中式简洁设计:单一代理处理所有检索和路由任务,使架构更易于设计、实现和维护。
-
高效与资源优化:由于代理数量较少且协调更简单,系统所需的计算资源更少,能够更快地处理查询。
-
动态路由:代理实时评估每个查询,并选择最合适的知识来源(例如结构化数据库、语义搜索、网页搜索)。
-
多工具适用性:支持多种数据源和外部API,适用于结构化和非结构化的工作流程。
-
适用于简单系统:适用于任务明确或集成需求有限的应用场景(例如文档检索、基于SQL的工作流程)。
Multi-Agent Agentic RAG
简介
Multi-Agent Agentic RAG是Single-Agent Agentic RAG一种模块化和可扩展的演进,通过多个专业化的智能体来处理复杂流程和多样化的查询类型,该系统不再依赖单一智能体来管理所有任务,而是按照各司其职的思路,将任务分配给多个智能体,每个智能体都针对特定角色进行了优化。
工作流程
-
用户提出问题,由主智能体接受,该智能体作为核心协调者,根据查询需求将其分配给相对应的专业检索智能体。
-
专业检索智能体,查询被分配给多个检索智能体,每个智能体专注于特定类型的数据源或任务。例如
- Agent 1:处理结构化查询,例如与关系型数据库交互。
- Agent 2:执行语义搜索,从PDF,书籍或者内部文档中获取非结构化的数据。
- Agent 3:通过网站搜索或者API获取信息。
-
工具调用与数据检索:每个智能体在负责的领域内将内部查询路由到合适的工具或数据源。检索的过程是并行执行的。
-
数据整合与LLM合并:完成所有信息检索后,来自各个智能体的数据会被传递给一个LLM。该模型将这些信息整合成连贯且符合上下文的回应。
-
输出生成的结果响应。
主要特点和优势
- 模块化设计:每个智能体独立运行,可以灵活添加删除智能体。
- 可扩展性:多个智能体并行处理任务,提高系统的查询效率。
Hierarchical Agentic RAG Systems
简介
系统采用一种结构化的多层方法进行信息检索与处理。智能体按照层级 结构组织,高级智能体负责监督和指导低级智能体。
工作流程
- 用户提交查询,由顶层智能体接收,负责初步评估和任务分配。
- 战略决策,顶层智能体评估查询的复杂性,并决定优先指派哪些下属智能体或者数据源。根据查询所属范畴,某些数据库、API或者检索工具可能被认为更为可靠的或相关。
- 任务下发,顶层智能体将任务分配给擅长特定检索方式的下级智能体。
- 信息聚合,由高级智能体收集并整合来自下级智能体的结果,将信息整合成一个连贯的回应。
- 输出生成的结果响应。
Corrective RAG
简介
该系统引入了自我修正检索结果机制,提升了文档的使用效率和回应生成的质量。Corrective RAG能够对上下文文档和生成的回应进行迭代优化,从而减少错误,提升相关性。核心理念在于动态评估检索到的文档、执行修正操作并优化查询,以提升生成回应的质量。方式如下:
- 文档相关性评估:由“相关性评估智能体”对检索到的文档进行相关性判断。对于低相关性阈值的温昂,系统将触发修正机制。
- 查询优化与增强:由“查询优化智能体”对原始查询进行优化,该智能体基础语义理解对检索过程做出调整,以获得更优质的检索结果。
- 外部来源动态检索:当上下文信息不足时,外部知识检索智能体会执行网络搜索或访问其他数据源,以补充检索的文档内容。
工作流程
- 上下文检索智能体:负责从数据库中检索初始上下文文档。
- 相关性评估智能体:评估所检索文档的相关性,并标记出无关或模糊的内容。
- 查询优化智能体:通过语义理解冲重写查询语句。
- 外部知识检索智能体:在上下文不足时,执行网络搜索或者访问其他替代数据源。
- 结果整合智能体:将所有经过验证的信息整合成一个准确的回答。
Adaptive Agentic RAG
简介
该系统通过根据输入查询的复杂度动态调整查询处理策略,从而提升LLM的灵活性和效率。不同于静态的检索流程,Adaptive RAG采用一个分类器来评估查询的复杂性,并决定最合适的处理方式,这可以是单次推理,多跳推理,甚至面对简单查询时完全跳过检索步骤。比如:
- 直接性查询:针对那些不需要额外检索的基于事实的问题,(例如:水的沸点是多少?)系统会直接用已有知识生成答案。
- 简单查询:对于只需要少量上下文即可处理的中等复杂任务,(例如:还有多久到国庆假期?),系统会通过单次检索获取到当前的日期即可回答。
- 负责查询:对于需要逐步推理的多层问题,(例如:过去十年间X市人口发生了怎样的变化?其背后的影响因素是什么?)系统会采用多步骤检索,逐步优化中间结果。
工作流程
- 分类器
- 一个小模型会对查询进行分析,预测其复杂程度。
- 该分类器通过自动标注的数据集进行训练,这些数据集来源于过往的模型输出和查询模式。
- 动态策略选择
- 直接性查询,系统避免检索过程,直接利用大模型已有的知识生成回答。
- 简单问题,采用单次检索获取相关背景信息。
- 负责问题,启动多步检索,确保逐步优化与深入推理。
- LLM整合
- LLM将检索到的信息整合为连贯回答
- 大语言模型与分类器之间的迭代交互有助于对复杂问题进行进一步优化
Graph-Based Agentic RAG
Agent-G: Agentic Framework for Graph RAG
简介
Agent-G在于其能够将检索任务动态分配给专门的代理,充分利用图谱知识库和文本文档的优势。Agent-G 会根据以下方式调整其检索策略:
- 图谱知识库:利用结构化数据提取关系,层级和关联。
- 非机构化文档:传统文本检索提供上下文,以补充图谱数据。
- 评估模块:评估所检索信息的相关性和质量,确保其与用户查询一致。
- 反馈机制:通过迭代验证和重新查询,优化检索与整合过程