发布时间:2024 年 02 月 05 日
多Agent应用
LLM Multi-Agent Systems: Challenges and Open Problems
本篇论文深入研究了多智能体系统的现有研究成果,并指出了尚未得到充分解决的难题。文章强调了通过多智能体系统中个体智能体的多样化能力和角色的协作,可以共同应对复杂的任务。文中讨论了任务分配的优化、通过反复辩论加强鲁棒推理、处理复杂分层的上下文信息,以及提升内存管理以促进多智能体系统内部的精细交互。此外,文章还探讨了多智能体系统在区块链技术中的应用前景,为未来在现实世界分布式系统中的发展和应用提供了洞见。
多Agent系统有哪几种架构?
多Agent系统的架构可以根据各个Agent的功能及其协作方式可以划分为(如下图):同级架构、层级架构、嵌套架构、动态架构。
同级架构(Equi-Level Structure) :在这种架构中,大语言模型Agent应用在同等层级上运行,每个Agent都担负特定的角色和策略,但相互之间并无层级之分,如DMAS(Chen et al., 2023);参见上图a。这些系统中的Agent可能追求相同、中立或相反的目标。目标一致的Agent协同合作,共同追求一个目标,而无需集中式的领导。这种系统强调集体决策和责任共担。面对相反目标时,Agent之间通过协商或辩论来说服对方或达成共识。
层级化架构(Hierarchical Structure) :层级化架构通常包括一个领导者和若干追随者;参见上图b。领导者负责指导或规划,而追随者则根据领导者的指令做出响应或执行。在需要集中权威指导的协调工作中,这种架构尤为常见。探索斯塔克伯格博弈的多Agent系统就是这种架构。这类博弈的特点是领导与追随者的动态关系以及决策的顺序性。Agent按顺序做出决策,领导者首先制定输出(如指令),然后追随者根据领导者的指示采取行动。
嵌套架构(Nested Structure) 。嵌套架构,或称混合架构,指的是在同一多Agent系统中结合了平等层级或层级化架构的子结构;参见上图c。系统的宏观视角可以是平等层级或层级化的,但是,面对复杂任务,一些Agent会将任务细分,并构建一个子系统,可能是平等层级或层级化的,并“邀请”其他Agent共同协作。在这类系统中,不同层级间的互动及Agent间的点对点交互增加了系统的复杂性。此外,不同架构间的交互可能导致更为复杂的动态变化,策略和响应因多种影响因素,包括外部环境或上下文,而变得更加复杂。
动态架构(Dynamic Structure) 。动态架构指的是多Agent系统的状态,如Agent的角色、相互关系以及系统中的Agent数量,可能会随时间而变化,允许根据当前任务的需要增加或移除Agent。多Agent系统也可能根据内部状态或外部因素(如上下文)适应性地调整其交互模式。在这样的系统中,Agent能够根据环境变化动态调整自己的角色和相互关系。
多Agent系统有哪些挑战?
多Agent系统相较于单Agent系统所面临的各种挑战,包括规划、记忆管理,以及多Agent系统在分布式系统如区块链中的潜在应用。
规划(Plan) :单Agent系统中的规划是指大语言模型Agent应用将复杂任务细化为一系列小任务,以高效、可解释、可控和灵活的方式达成既定目标。Agent还能学习调用外部API来补充模型权重中缺失的信息,或与网站、软件和工具相连,以助力推理和提升性能。多Agent系统中的Agent虽具备与单Agent系统相同的功能,但需应对多Agent系统工作流程带来的挑战。下文会继续讨论工作流程的划分与子任务的分配,这一过程被称为“全局规划”。与单Agent系统的规划不同,多Agent系统中的Agent需在系统内部达成一致,并与整体目标保持一致性。
记忆管理(Memory management): 。单Agent系统的记忆管理涵盖对话中的短期记忆、存储历史对话的长期记忆,以及作为推理信息补充源的外部数据存储,如RAG。Agent系统的记忆管理更为复杂,需处理丰富的上下文数据和复杂的交互历史信息,这要求对记忆系统进行精心设计。
应用(Application): 。多Agent系统在区块链这一分布式系统中的多种应用。多Agent系统凭借其处理复杂任务的能力,可以作为区块链的工具。同时,由于其分布式特性,区块链可以与多Agent系统结合,通过在区块链节点上部署智能Agent来执行如谈判等复杂操作。
多Agent系统的规划
多Agent系统的规划涵盖了理解全局任务、根据Agent的角色和专长设计工作流程(即全局规划),以及将每个Agent的任务细化为易于管理的小任务(即局部规划)。这一流程需兼顾Agent的功能、它们之间的动态互动,以及相较于单Agent系统更为复杂的情境,这些因素共同为多Agent系统带来了独有的挑战与机遇。
全局规划
全局规划涉及对整个任务的把握,将任务细分,并协调分配给各Agent。这要求精心考虑任务的分解和Agent之间的协作。
设计基于Agent专长的高效工作流程至关重要,它确保了每个Agent的任务既可行又富有意义,并且能直接促进多Agent系统的整体目标。面临的最大挑战包括:
- • 1)工作流程的划分应充分利用每个Agent的独特能力,使每个Agent都能处理与其能力和专业知识相匹配的任务部分;
- • 2)每个Agent的任务必须与总体目标保持一致;
- • 3)设计时必须深入理解任务本身以及系统中每个Agent的具体优势和局限性。
在Agent的子集中引入循环机制,以提升中间结果的质量。在这些循环中,Agent通过辩论或讨论 来达成被循环内Agent所接受的最优结果。这种迭代过程可以提升中间成果,促进对任务的深入探索。循环中的Agent能够根据循环过程调整自己的推理和计划,从而更好地应对任务的不确定性。
博弈论为理解多Agent系统中的战略互动提供了一个结构化的框架,特别适用于那些涉及如辩论或讨论等复杂Agent互动的系统。博弈论中的关键概念是均衡 ,如纳什均衡和斯塔克伯格均衡,它们描述了在其他Agent策略既定的情况下,没有Agent能通过单方面改变策略而获益的状态。博弈论在多Agent系统中的应用尤其广泛,尤其是斯塔克伯格均衡,因为它包含领导者和追随者的结构,在多Agent系统中备受青睐。例如,一些研究设计了用于识别马尔可夫博弈中斯塔克伯格均衡的多Agent框架,并扩展了斯塔克伯格模型以允许Agent考虑外部上下文信息。然而,诸如为集体策略和个体Agent定义合适的收益结构,以及高效实现均衡状态等问题,仍然是多Agent系统中的挑战,这表明博弈论在处理复杂多Agent场景时仍需进一步精细化。
局部规划
单Agent任务分解(局部规划)是指通过一系列中间推理步骤来完成任务或得出结论的过程,这一过程将直接的输入输出关系(⟨input → output⟩)转化为输入-推理-输出(⟨input → rational → output⟩)的映射形式。任务的组合可以采取多种不同的形式:
- • 思维链(CoT)(Wei et al., 2022)将大型任务分解为一步步可管理的小任务,以体现Agent推理(或思考)过程的阐释。
- • 多重思维链(Multiple CoTs)(Wang et al., 2022a)探索多条独立的CoT推理路径,并选择最佳输出。
- • 思维程序(PoT)(Chen et al., 2022)利用语言模型生成文本和编程语句,最终得出答案。
- • 思维表格(Tab-CoT)(Ziqi & Lu, 2023)采用表格格式进行推理,使复杂的推理过程能够以高度结构化的方式明确展示。
- • 思维树(ToT)(Yao et al., 2023; Long, 2023)通过构建树状结构扩展CoT,探索每一步的多种推理可能性,并能够基于任意思维生成新思维,甚至进行回溯。
- • 思维图-理由(GoT-Rationale)(Besta et al., 2023)探索任意图形结构,将任意思维聚合成新的,并通过循环增强这些思维。
- • 理由增强集成(Rationale-Augmented Ensembles)(Wang et al., 2022b)自动整合多样化的理由,克服对次优理由的依赖,提高性能的稳定性。
在多Agent系统中,单个Agent的任务分解变得更加精细。每个Agent不仅要理解整体任务和自身任务的具体上下文,还需整合其他Agent提供的上下文信息。此外,Agent必须将这些复杂的上下文信息整合到自己的任务分解中,以确保在整个任务中发挥作用的连贯性和有效性。单Agent规划面临的问题:
- • 整体上下文对齐:在多Agent系统中,不同Agent间目标的一致性至关重要。每个大语言模型Agent应用需清楚自己的角色和如何融入整个任务,以便有效执行功能。Agent还需了解自身任务如何与大局相协调,确保自身输出与其他Agent的输出一致,共同推进共同目标。
- • Agent间上下文对齐:多Agent系统中的Agent需要集体处理任务,每个Agent都必须理解并整合系统中其他Agent提供的上下文信息,确保充分利用这些信息。
- • 分解任务的上下文对齐:当Agent的任务被细化为更小的子任务时,对齐多Agent系统中的复杂上下文变得具有挑战性。每个Agent的分解任务必须符合其个体任务和整体目标,同时与其它Agent的上下文相整合。Agent需要根据其他Agent提供的上下文来适应和更新对任务的理解,并据此规划分解的任务。
- • 目标一致性:在多Agent系统中,从整体目标到个体Agent任务及其子任务,目标的一致性必须得到维护。每个Agent都必须理解并有效利用分层上下文,确保其任务和子任务与整体目标保持一致。(Harris et al., 2023)扩展了斯塔克伯格模型,允许Agent考虑外部上下文信息,如其他Agent提供的信息。然而,如何在推理过程中将复杂上下文与分解任务对齐,仍是一个待解决的问题。
多Agent系统的记忆
多Agent系统中记忆的分类
根据多Agent系统的工作流程,作者对多Agent系统中的记忆进行如下分类:
- • 短期记忆(Short-term memory) :这是在与大语言模型(LLM)对话或互动中使用的即时、短暂的记忆,或者又叫工作记忆。转瞬即逝,仅存在于当前互动期间,对话结束后便不复存在。
- • 长期记忆(Long-term Memory) :负责存储历史查询和响应,即早期会话的聊天记录,以支持未来互动的推理。这种记忆通常存储在外部数据存储设备中,如向量数据库,以便检索过往的互动。(HuggingAGI:长期记忆与外部数据存储有什么区别???)
- • 外部数据存储(External data storage) :比如RAG,是LLM研究中的一个新领域,涉及模型与向量数据库等外部数据存储的集成,使Agent能够访问这些数据库中的额外知识,从而提升其回答的定位能力和丰富度。这使得LLM能够提供更具信息性、准确性和与查询上下文高度相关的回答。
- • 情景记忆(Episodic Memory) :涵盖了多Agent系统中的一系列互动记录。在Agent面对新任务或查询时,情景记忆发挥着关键作用。通过回顾与当前查询在上下文上有相似性的过往互动,Agent能够显著提升回答的相关性和准确性。情景记忆为推理和问题解决提供了更为明智的方法,使Agent能够展现出更适应性和智能化的响应机制,是多Agent系统中的宝贵资源。
- • 共识记忆(Consensus Memory) :在多Agent系统中,当Agent协作完成某项任务时,共识记忆充当共享信息的统一来源,如常识或特定领域的知识等,如技能库。Agent利用共识记忆来统一他们对任务的理解和策略,从而增强了Agent间有效和协调的合作。
单一Agent系统和多Agent系统都涉及短期记忆和长期记忆的处理,但由于多Agent系统需要Agent间的沟通、信息共享和自适应的记忆管理,因此引入了额外的复杂性。
多Agent系统记忆管理的问题
多Agent系统尤其在安全、保密和隐私保护方面存在一些问题:
- • 层级化记忆存储(Hierarchical Memory Storage) :多Agent系统中的Agent功能各异,对数据访问的需求也不尽相同。一些Agent需查询敏感数据,却又不希望这些信息被其他实体获取。在保证共识记忆对所有用户开放的同时,必须建立强有力的访问控制机制,以防止Agent的敏感信息外泄 。此外,当系统中的Agent协同工作于同一任务时,它们的外部数据存储和记忆可能会有所重叠。对于非敏感数据和功能,采用统一的数据存储系统可以有效减少数据冗余,并确保整个多Agent系统的一致性,从而提高记忆维护的效率和准确性。
- • 共识记忆的维护(Maintenance of Consensus Memory) :共识记忆是所有Agent协作完成任务时所共有的知识,其完整性对于保证多Agent系统正确执行任务至关重要。共识记忆的任何非法篡改或未授权修改都可能导致系统执行的失败。因此,严格的访问控制对于降低数据泄露风险至关重要。
- • 通信与信息交换(Communication and information exchange) :在多Agent系统中,确保Agent间有效沟通和信息交流非常关键。每个Agent都可能掌握着关键信息片段,这些信息的无缝整合对提升整个系统的性能至关重要。
- • 情景记忆管理(Management of Episodic Memory) :在多Agent系统中,利用以往的互动来提升对新查询的响应是一个挑战。如何有效地回忆并利用Agent间在当前问题解决场景中相关的过往互动,对于提升系统性能具有重要意义。
这些挑战突显了多Agent系统领域持续研究和开发的必要性,特别是开发出更加健壮、安全、高效的记忆管理方法。
多Agent系统在区块链的应用
HuggingAGI:不是很明白,为什么作者要单独写一段多Agent与区块链
多Agent系统通过提升能力和效率,为区块链系统带来了显著的益处。这些系统本质上是区块链和Web3系统上各种任务的高效工具。区块链节点,作为具有特定角色和能力的Agent,可以被视为具有独立功能的实体。由于区块链和多Agent系统都是分布式的,因此可以将区块链网络与多Agent系统无缝地结合起来。为每个区块链节点配备专用Agent,不仅可以提升数据处理能力,还能增强整个链的安全性和隐私保护。
多Agent系统作为工具的潜力
以下是多Agent系统作为工具为区块链系统带来益处的几个潜在方向:
- • 智能合约分析(Smart Contract Analysis):智能合约是存储在区块链上,并在特定条件满足时自动执行的程序。多Agent协同工作,对智能合约进行深入分析和审计。这些Agent各司其职,负责识别安全漏洞、确保法律合规性以及优化合约效率。通过集思广益,它们能够提供比单一Agent更为全面的审查结果。
- • 共识机制增强(Consensus Mechanism Enhancement):共识机制如工作量证明(PoW)或权益证明(PoS)对于验证交易和维护网络的完整性至关重要。多Agent系统通过监控网络活动、分析交易模式以及识别潜在安全威胁,可以提出改进共识机制的建议,从而使区块链网络更安全、更高效。
- • 欺诈检测(Fraud Detection):在金融监控中,欺诈检测是一项至关重要的任务。多Agent系统可以在区块链中发挥作用,通过部署具有不同职责的Agent来监控交易和分析用户行为,以检测欺诈活动。每个Agent专注于不同的行为模式,从而提高欺诈检测的准确性和效率。
区块链节点作为Agent的角色
(Ankile et al., 2023)将区块链节点视作Agent,并从外部观察者的角度研究链中的欺诈检测问题。作为具备强大分析和推理能力的大语言模型Agent应用,它们在结合博弈论后,尤其在谈判和辩论方面,能够发挥更大的作用。以下是一些可能的应用视角:
智能合约的管理和优化:智能合约是自动执行区块链系统中买卖双方合同条款的程序。多Agent系统能够自动化和优化智能合约的执行,引入更灵活的条款和动态的外部信息。Agent可以代表用户协商合同条款,管理合同的执行过程,甚至在以太坊等平台上优化交易费用。Agent通过分析历史行为和预设标准等上下文信息,以更高的灵活性运用这些数据。在协商过程中,Agent可以利用博弈论,如斯塔克伯格均衡和纳什均衡,以实现更优的谈判结果。
结论
本文深入探讨了多Agent系统,突显了它们在拓展大语言模型Agent应用能力方面的巨大潜力,超越了单一Agent模式的限制。
借助Agent之间的专业技能和协作机制,多Agent系统能够以更高的效率和创新性解决复杂任务。充分发挥多Agent系统潜力所面临的挑战,包括优化任务规划、处理复杂上下文信息以及提升记忆管理。
此外,多Agent系统在区块链技术中的应用前景,为分布式计算环境的发展开辟了新的路径,预示着这些系统在未来具有广阔的应用前景。
-
• 论文原文: https://arxiv.org/abs/2402.03578
-
• 获取更多最新 Arxiv 论文更新: https://github.com/HuggingAGI/HuggingArxiv!
-
• 加入社群,+v: iamxxn886