作者|沙丘智库研究团队
来源|沙丘社区(www.shaqiu.cn)
大语言模型改变了我们与信息交互的方式。然而,仅仅依靠内部知识可能会限制大语言模型回答的准确性和深度,尤其是在处理复杂问题时,这正是RAG发挥作用的地方。
根据沙丘智库发布的《2024年“大模型+RAG”最佳实践报告》,RAG(Retrieval-Augmented Generation,检索增强生成)是一种人工智能框架,旨在利用大语言模型(LLM)进行跨外部知识源的自然语言查询。RAG的核心思想是通过外挂知识库的方式给大模型提供更可靠的知识来抑制模型产生幻觉,通过定期迭代知识库的方式解决大模型知识更新慢和训练成本高的问题。
标准RAG擅长对少数文档进行简单查询,而Agentic RAG则在标准RAG的基础上更进一步,通过引入AI Agent增强RAG的功能。这些Agents充当自主决策者,并战略性地选择最有效的工具来进一步检索数据。这种多步骤推理能力使Agentic RAG能够以协同高效的方式处理更加复杂的任务,例如总结、比较多个文档中的信息。
Agentic RAG将大模型从被动的响应者转变为主动的调查者,能够深入挖掘复杂信息,并提供全面、合理的答案。Agentic RAG的推理、适应和利用外部知识的能力为新一代AI Agent铺平了道路,可以大大提高与信息交互和分析信息的能力。
01
LLM和RAG的最新进展
在LLM和RAG的最新发展中,三个关键领域取得了显著进展,为Agentic RAG奠定了技术基础。
第一,强化检索。在RAG系统中优化信息检索对性能至关重要,最近的进展主要集中在重排算法和混合检索方法上,提高检索精度。每份文档采用多个向量可实现细粒度的内容表示,从而提高相关性的识别能力。
第二,语义缓存。为降低计算成本并确保响应的一致性,语义缓存已成为一项关键策略。通过将最近查询的答案与其语义上下文一并存储,类似的请求就能得到有效处理,而无需重复调用大模型,从而加快了响应速度和信息交付的一致性。
第三,多模态集成。这将LLM和RAG的功能扩展到除文本以外的其他模态,例如图像,有助于访问更广泛的原始材料,实现文本和视觉数据之间的无缝互动,从而做出更全面、更细致的响应。
02
Agentic RAG是什么?
Agentic RAG=基于Agent的RAG实现。
Agentic RAG通过引入基于Agent的创新框架,改变了处理问题解答的方式。与完全依赖大语言模型的传统方法不同,Agentic RAG采用Agents来处理复杂问题,这些问题需要复杂的规划、多步骤推理和外部工具的调用。Agentic RAG创建了一个易于扩展的实施方案,可以添加新文档,每套新文档都由一个子Agent进行管理。
Agentic RAG的主要特点和优势如下:
· 协调问题解答:Agentic RAG将问题解答过程分解为易于管理的步骤,为每项任务分配适当的Agent,并确保无缝协调,从而实现最佳结果。
· 目标驱动:这些Agent可以理解并追求特定目标,从而实现更复杂、更有意义的互动。
· 规划与推理:框架内的Agent能够进行复杂的规划和多步推理。它们可以确定信息检索、分析和综合的最佳策略,从而有效地回答复杂的问题。
· 工具使用和适应性:Agentic RAG Agent可利用外部工具和资源,如搜索引擎、数据库和专门的应用程序接口,来增强其信息收集和处理的能力。
· 情境感知:Agentic RAG系统会考虑当前情况、过去的互动以及用户偏好,从而做出明智的决策并采取适当的行动。
· 持续学习:Agentic RAG Agent的设计目的是随着时间的推移不断学习和改进。当它们遇到新的挑战和信息时,它们的知识库就会扩大,解决复杂问题的能力也会增强。
· 灵活性和定制化:Agentic RAG框架具有极高的灵活性,可根据特定要求和领域进行定制。Agent及其功能可根据特定任务和信息环境进行定制。
· 提高准确性和效率:与传统方法相比,Agentic RAG利用LLM和基于Agent的系统的优势,在问题解答方面实现了更高的准确性和效率。
从本质上讲,Agentic RAG是一种功能强大、适应性强的问题解答方法,利用Agent的集体智慧来应对错综复杂的信息挑战。Agentic RAG具有计划、推理、利用工具和学习的能力,从而可以获取更加全面、可靠的知识。
03
Agentic RAG与传统RAG的区别
Agentic RAG可以增强信息检索能力,使人工智能系统能够积极参与和驾驭复杂的环境,从而更有效地做出决策和完成任务。
与传统RAG相比,Agentic RAG主要的进步之处如下:
04
RAG框架中的Agent使用模式
RAG框架内的Agent表现出多种使用模式,针对特定任务和目标进行量身定制,这些使用模式展示出Agent与RAG系统交互的多功能性和适应性。以下是Agent在RAG环境中的主要使用模式:
模式1:利用现有的RAG管道
Agent可以利用已有的RAG管道作为工具来完成特定任务或生成输出。通过利用已建立的管道,Agent可简化其操作,并充分利用RAG框架内已有的功能。
模式2:作为独立的RAG工具运行
Agent可在框架内作为RAG工具自主运行,在这种模式下,Agent可以根据输入查询独立生成响应,无需依赖外部工具或管道。
模式3:基于查询上下文的动态工具检索
Agent可以根据查询提供的上下文,从RAG系统中检索相关工具,如向量索引,动态工具检索使Agent能够根据每个查询的具体要求调整其操作。
模式4:跨现有工具的查询规划
通过分析输入查询,并从RAG系统内预定义的现有工具集中选择合适的工具,Agent可执行查询规划任务,并根据查询要求和预期结果优化工具选择。
模式5:从候选库中选择工具
在RAG系统提供大量工具的情况下,Agent可以从查询检索的候选工具库中选择最合适的工具。这一选择过程可确保所选工具与查询上下文和目标保持一致。
这些使用模式可以进行组合和定制,从而创建针对特定应用场景和要求的复杂RAG应用。通过利用这些模式,在RAG框架内运行的Agent可以高效地完成各种任务,从而提高系统的整体效率和有效性。
05
Agentic RAG:利用Agent扩展传统RAG管道
在Agentic RAG中,Agent用于协调和管理RAG管道的各个组件,以及执行简单信息检索和生成之外的附加任务和推理。下面将详细介绍如何将Agent集成到RAG框架中:
第一,查询理解和问题拆分。
Agent可用于更好地理解用户的查询或提示,识别其意图,并将其分解为子任务或子查询,以便RAG管道能更有效地处理。
例如,“提供量子计算最新进展及其对网络安全影响的摘要”这样的复杂查询可以分解为“检索量子计算最新进展的信息”和“检索量子计算对网络安全影响的信息”这样的子查询。
第二,知识库管理。
Agent可以维护和管理RAG系统使用的知识库,包括确定相关的信息源,从这些信息源中提取数据并对其进行结构化处理,以及利用最新的或更新过的信息更新知识库。
Agent还可以为给定的查询或任务选择最合适的知识库或知识库子集。
第三,检索策略选择和优化。
Agent可以根据查询或正在执行的任务选择最合适的检索策略(例如关键词检索、语义相似性检索等)。
Agent还可以考虑查询复杂性、特定领域知识要求和可用计算资源等因素,对检索过程进行微调和优化,以获得更好的性能。
第四,结果合并和后处理。
RAG管道生成初始输出后,Agent可以对结果进行合并和后处理,包括合并多个检索来源的信息、解决不一致问题,以及确保最终输出的结果是连贯、准确和结构合理的。
Agent还可以利用额外的推理、决策或特定领域知识来进一步增强输出结果。
第五,迭代查询和反馈回路。
Agent可以促进迭代查询过程,用户可以在此过程中提供反馈、澄清查询或请求额外信息。根据这些反馈,Agent可以完善RAG管道、更新知识库或相应调整检索和生成策略。
第六,任务编排与协调。
对于需要多个步骤或子任务的复杂任务,Agent可以通过RAG管道协调这些子任务的执行。
Agent可以管理信息流,将子任务分配给不同的组件或模型,并将中间结果合并为最终输出。
第七,多模态集成。
Agent可促进多模态数据源(如图像、视频、音频)与RAG管道的集成,实现更全面的信息检索和生成能力,使系统能够处理涉及多种模态的查询或任务。
第八,持续学习和自适应
Agent可以监控RAG系统的性能,确定需要改进的地方,并促进持续学习和调整,包括根据用户反馈、性能指标或基础数据或领域的变化更新知识库、微调检索策略或调整RAG管道的其他组件。
综上所述,通过将Agent集成到RAG框架中,Agentic RAG系统可以变得更加灵活且适应性更强,能够处理需要跨多个组件和模态进行推理、决策和协调的复杂任务。Agent可以充当智能的协调者和促进者,增强RAG管道的整体功能和性能。
06
适用于不同功能的Agentic RAG
Agentic RAG可根据提供的功能进行分类,包括从简单到复杂的各种功能,成本和延迟也各不相同。Agentic RAG可用于路由选择、查询规划、工具使用、采用推理+行动(ReAct)方法以及协调动态规划和执行等目的。
(1)路由Agent
路由Agent采用大语言模型来决定选择哪个下游RAG管道。这一过程构成了Agentic推理,其中LLM对输入查询进行分析,从而做出选择最合适RAG管道的决定,这也是Agentic推理的基本形式。
另一种路由Agent是在汇总和问题解答RAG管道之间做出选择。Agent会对输入查询进行评估,决定是将其路由给摘要查询引擎还是路由给向量查询引擎(两者都被配置为工具)。
(2)查询规划Agent
查询规划Agent将复杂的查询划分为可并行处理的子查询,每个子查询都可根据不同的数据源在不同的RAG管道中执行。然后将这些管道的响应合并为最终响应。
(3)工具使用Agent
在典型的RAG中,提交查询是为了检索与查询语义匹配的最相关文档。但是,在某些情况下,需要从外部数据来源(如外部API、结构化数据库或具有API接口的应用)获取额外数据。在LLM处理输入查询之前,这些附加数据可作为增强输入查询的上下文。在这种情况下,Agent也可以使用RAG规范。
(4)ReAct Agent
ReAct=利用大语言模型进行推理和行动。
更智能的系统需要将推理和行动结合起来,对复杂的查询进行迭代执行。从本质上讲是将路由选择Agent、查询规划Agent和工具使用Agent结合到一起。
ReAct Agent能够处理连续的多部分查询,同时保持状态(在内存中)。处理过程包括以下步骤:
· 收到用户输入的查询后,Agent会根据需要确定要使用的适当工具,并为工具收集必要的输入;
· 利用必要的输入调用工具,并存储其输出;
· 然后,Agent接收工具的历史记录,包括输入和输出,并根据这些信息确定后续的行动方案;
· 这一过程反复进行,直到Agent完成任务并响应用户。
(5)动态规划和执行Agent
随着在生产环境中部署的Agent越来越多,对增强可靠性、可观察性、并行性、可控性和关注点分离的需求也越来越高,需要长期规划、执行洞察力、效率优化和减少延迟。
从根本上说,这些工作旨在将高层次规划与短期执行分离开。此类Agent背后的原理包括:
· 概述实现输入查询计划的必要步骤;
· 确定执行计划中每个步骤所需的工具(如有),并利用必要的输入执行这些工具。
这就需要规划器和执行器。规划器通常利用大语言模型,根据用户查询制定分步计划。然后,执行器执行每个步骤,确定完成计划需的工具。这一迭代过程一直持续到整个计划执行完毕,最终给出响应。
07
如何实施Agentic RAG?
建立Agentic RAG需要特定的框架和工具,以促进多个Agent的创建和协调。从零开始建立这样一个系统可能很复杂,现有的一些方案可以简化实施过程。例如:
(1)Llamalndex
LlamaIndex是构建Agentic系统的强大基础,提供了一整套功能,使开发人员能够创建文档Agent、监督Agent交互,并实施高级推理机制(如思维链)。
该框架提供了多个预置工具,便于与各种数据源(包括谷歌等主流搜索引擎和维基百科等资源库)进行交互。它能与各种数据库(包括SQL和向量数据库)无缝集成,并支持通过PythonREPL执行代码。
LlamaIndex的链功能可实现不同工具和LLM的无缝链接,促进复杂工作流程的创建。此外,LlamaIndex记忆组件有助于跟踪Agent的行动和对话历史,从而促进情境感知决策。聊天机器人和问题解答系统等为特定应用场景服务的专业工具包,进一步增强了LlamaIndex的实用性。但是,要充分发挥LlamaIndex的潜力,可能需要熟练掌握编码和了解底层架构。
(2)LangChain
与LlamaIndex一样,LangChain为构建基于Agent的系统和协调Agent之间的交互提供了一个全面的工具包。LangChain的一系列工具可与LangChain生态系统中的外部资源无缝集成,使Agent能够访问搜索、数据库管理和代码执行等各种功能。LangChain的可组合性功能使开发人员能够将不同的数据结构和查询引擎结合起来,便于创建能够访问和处理各种来源信息的复杂Agent。LangChain灵活的框架可轻松适应Agentic RAG中固有的复杂性。
无论是Llamalndex还是LangChain都提供了强大的功能,但由于其对编码能力的要求,可能会给开发人员带来陡峭的学习曲线。开发人员应准备好投入时间和精力来完全掌握这些框架,以释放它们的全部潜力。
08
未来展望:Agentic RAG的挑战与机遇
随着人工智能领域的发展,Agentic RAG系统已成为检索和处理来自不同来源的信息以生成智能响应的强大工具。然而,与任何不断发展的技术一样,Agentic RAG也面临着挑战:
第一,数据质量和管理。Agentic RAG的性能在很大程度上取决于基础数据源的质量和管理。数据的完整性、准确性和相关性对于生成可靠和可信的输出结果至关重要。企业必须实施有效的数据管理策略和质量保证机制,保证数据的完整性。
第二,可扩展性和效率。随着系统规模的扩大,管理系统资源、优化检索流程以及促进Agent之间的无缝通信变得越来越复杂。有效的可扩展性和效率管理对于保持响应速度至关重要,尤其是当Agent、工具和数据源的数量不断增加时。适当的资源分配和优化技术是确保系统平稳运行的必要条件。
第三,透明度和可解释性。虽然Agentic RAG可提供更加智能的响应,但确保其决策过程的透明度和可解释性仍具有挑战性。开发可解释的模型和技术,解释Agent的推理过程和所使用的信息来源,对于建立信任和问责制至关重要。用户需要了解系统是如何得出结论的,才能信任其建议。
第四,隐私与安全。Agentic RAG系统可能会处理敏感或机密数据,从而引发隐私和安全风险。企业必须实施强有力的数据保护措施、访问控制和安全通信协议,以保护敏感信息和用户隐私。防止未经授权的访问和防止数据泄露对于维护用户信任和遵守法规至关重要。
第五,道德方面的考虑。开发和部署Agentic RAG可能会引发有关偏见、公平性和潜在滥用的道德问题。在设计和运行Agentic RAG系统时,优先考虑公平性、透明度和问责机制,对于降低道德风险和确保人工智能实践符合道德规范至关重要。
虽然Agentic RAG系统会遇到许多障碍,但它们也为创新和进步带来了有利的前景:
第一,创新与发展。多Agent协调、强化学习和自然语言理解等领域的持续研究和开发,可以增强Agentic RAG系统的能力和适应性。与其他新兴技术(如知识图谱和语义网络技术)的整合可以为知识表示和推理开辟新的途径。
第二,情境感知智能。Agentic RAG系统有可能变得更具情境感知能力,利用庞大的知识图谱进行复杂的连接和推理,这种能力为更加个性化和量身定制的响应提供了可能性,从而提高了用户体验和工作效率。
更多研究:
*更多生成式AI研究可前往“沙丘智库”小程序查阅
*有任何需求可咨询客服微信:zimu738