Large Language Model based Multi-Agents: A Survey of Progress and Challenges

news2025/5/16 22:00:07

目录

  • 摘要
  • 简介
  • 背景
    • 单一智能体系统
    • 单智能体 vs .多智能体系统
  • 剖析多智能体系统:接口、剖析、通信和能力
    • 智能体 - 环境接口
    • 智能体画像
    • 智能体通信
    • 能力获取

摘要

大型语言模型( Large Language Models,LLMs )在各种任务中都取得了令人瞩目的成功。由于LLMs具有出色的规划和推理能力,它们已经被用作自主代理(autonomous angents)来自动完成许多任务。近年来,基于单个LLM作为单一规划或决策Agent的发展,基于LLM的多Agent系统在复杂问题求解和世界仿真方面取得了长足的进步。为了使社区对这一动态领域有一个全面的了解,本文对基于LLMs的多智能体系统的基本方面以及所面临的挑战进行了深入的讨论。我们的目的是让读者对以下问题获得实质性的见解:基于LLM的多智能体模拟了哪些领域和环境?这些施动者是如何被刻画的,又是如何进行沟通的?什么机制有助于智能体能力的增长?对于那些对该研究领域感兴趣的人,我们还总结了常用的数据集或基准,以便他们有方便的访问。为了保持研究人员对最新研究的更新,我们维护了一个开源的GitHub知识库,致力于概述基于LLM的多智能体系统的研究。

简介

大型语言模型( large language model,LLM )最近在达到与人类相媲美的推理和规划能力方面表现出了令人瞩目的潜力。这种能力恰好与人类对能够感知周围环境、做出决策并采取行动做出反应的自主行动者的期望相一致。因此,基于LLM的Agent被研究并迅速发展,以理解和生成类似人类的指令,促进复杂的交互以及在很长的上下文环境中做出决策。

基于LLM的单个智能体的激励能力,提出了基于LLM的多智能体( LLM-based Multi-Agents ),以利用多个智能体的集体智慧和专长。与使用单个LLM驱动智能体的系统相比,多智能体系统提供了先进的能力,1 )将LLM专门化为不同的智能体,每个智能体具有不同的能力,2 )使这些不同的智能体之间的交互能够有效地模拟复杂的现实环境。在此背景下,多个自治智能体协作地参与计划、讨论和决策,反映了人类群体工作在问题解决任务中的合作性质。这种方法利用了LLMs的交际能力,利用他们生成文本进行交际的能力和对文本输入做出反应的能力。此外,它利用了LLMs在不同领域的广泛知识和他们专门从事特定任务的潜在潜力。最近的研究表明,利用基于LLM的多智能体来解决各种任务,如软件开发、多机器人系统、社会仿真、政策仿真和游戏仿真,取得了令人鼓舞的结果。由于该领域跨学科研究的性质,它吸引了众多研究者,范围超出人工智能专家,包括社会科学、心理学和政策研究的专家。研究论文的数量正在迅速增加,如图1所示(受[ Gao et al , 2023b ]中设计的启发),从而扩大了基于LLM的Multi - Agent研究的影响。尽管如此,早期的努力是独立进行的,导致缺乏系统的综述来总结它们,建立该领域的全面蓝图,并检查未来的研究挑战。这强调了我们工作的重要性,并作为本文的动机,致力于研究基于LLM的多智能体系统。

在这里插入图片描述
我们期望我们的调查能够为LLMs的研究和发展做出重大贡献并使LLMs的跨学科研究范围更加广泛。读者将对基于LLM的多Agent ( LLM-MA )系统有一个全面的了解,掌握建立基于LLM的多Agent系统所涉及的基本概念,以及该领域的最新研究动态和应用。我们认识到,这一领域正处于早期阶段,并随着新的方法和应用而迅速发展。为了提供一个可持续的资源来补充我们的调查报告,我们维护了一个开源的GitHub存储库。我们希望我们的调查将激发该领域的进一步探索和创新,以及在广泛的研究学科中的应用。

为了帮助不同背景的人理解LLM - MA技术,并通过解决未解决的问题来补充现有的调查,我们以下述方式组织了我们的调查论文。在第2节给出背景知识后,我们将回答一个关键问题:LLM - MA系统如何与协作任务求解环境保持一致?为了回答这个问题,我们在第三节提出了一个全面的方案来定位、区分和连接LLM - MA系统的各个方面。我们通过讨论来深入研究这个问题:1 ) Agent -环境接口,它详细说明了Agent如何与任务环境进行交互;2 )智能体画像,解释智能体如何被LLM刻画以表现特定的行为;3 ) Agent通信,考察Agent之间如何进行消息交换和协作;4 ) Agent能力获取,探究Agent如何发展自身能力以有效解决问题。回顾LLM - MA研究的另一个视角是其应用。回顾LLM - MA研究的另一个视角是其应用。在第4节中,我们将当前的应用分为两类:用于问题求解的多Agent和用于世界模拟的多Agent。为了指导个体识别合适的工具和资源,我们在第5节给出了研究LLMMA的开源实现框架,以及可用的数据集和基准。基于前面的总结,我们在第6节中对未来的研究挑战和机遇展开了讨论。第7节总结了本文的研究结论。

背景

单一智能体系统

我们首先通过概述基于LLMs的单智能体系统的能力来介绍背景,来源主要基于[翁文俊, 2023]。

决策思维:该术语表示基于LLM的智能体在提示的引导下,将复杂的任务分解成更小的子目标[ Khot et al , 2023],有条理地思考每个部分(有时探索多条路径) [姚洋等, 2023],并从过去的经验中学习[ Shinn et al . , 2023],以在复杂任务中执行更好的决策的能力。这种能力增强了单个基于LLM的Agent的自主性,并增强了其在问题解决中的有效性。

工具使用:基于LLM的Agent的工具使用能力允许它们利用外部工具和资源来完成任务,增强了它们的功能能力,并在多样化和动态的环境中更有效地运行。

记忆能力:这种能力是指基于LLM的智能体进行语境学习的能力,[ Dong et al , 2023a]作为短时记忆或外部向量数据库[刘易斯等, 2021]作为长时记忆,以保存和检索长时间[ Wang et al , 2023b]的信息。这种能力使得单个基于LLM的Agent能够保持上下文的连贯性,并增强从交互中学习。

单智能体 vs .多智能体系统

由LLMs授权的单Agent系统已经显示出令人振奋的认知能力[ Sumers et al , 2023]。这类系统的构建集中于形成其内部机制和与外部环境的互动。相反,LLM - MA系统强调多样化的主体轮廓、主体间的相互作用和集体决策过程。从这个角度来看,更多动态和复杂的任务可以通过多个自主智能体的协作来完成,每个智能体都具有独特的策略和行为,并相互之间进行通信。

剖析多智能体系统:接口、剖析、通信和能力

在这一部分中,我们深入探究了LLM - MA系统的复杂性,其中多个自治智能体在问题解决场景中从事类似于人类群体动力学的协作活动。我们关注的一个重要问题是,这些LLM - MA系统如何与它们的运行环境和它们所要实现的集体目标保持一致。为了说明这一点,我们在图2中给出了这些系统的总体架构。我们的分析剖析了这些系统的运行框架,重点关注四个关键方面:智能体-环境接口、智能体画像、智能体通信和智能体能力获取。
在这里插入图片描述

智能体 - 环境接口

运行环境定义了LLM - MA系统部署和交互的具体环境或设置。例如,这些环境可以像软件开发[ Hong et al , 2023],游戏[毛其淋等, 2023],以及各种其他领域,如金融市场[ Li et al , 2023g]甚至社会行为建模。(环境就是多智能体系统要解决什么任务)。基于LLM的智能体在环境中感知和行动,进而影响其行为和决策。例如,在狼人游戏仿真中,沙箱环境设置了游戏的框架,包括白天到夜晚的过渡、讨论周期、投票机制和奖励规则。智能体,如狼人和预言家,执行特定的行动,如杀戮或检查角色。在这些行动之后,智能体从环境中得到反馈,告知他们游戏的当前状态。这些信息指导智能体随着时间的推移调整自己的策略,以应对不断演变的游戏和与其他智能体的互动。Agents环境接口是指Agent与环境交互和感知环境的方式。正是通过这个接口,智能体了解他们的周围环境,做出决策,并从他们的行动结果中学习。如表1所示,我们将LLM - MA系统中现有的接口分为三类:沙盒环境(Sandbox)、物理环境(Physcial) 和 None。沙盒( Sandbox )是指由人类构建的一个模拟或虚拟环境,在这个环境中,智能体可以更自由地进行交互,并对各种动作和策略进行实验。这种接口广泛应用于软件开发(代码解释器作为模拟环境) [ Hong et al , 2023]、游戏(使用游戏规则作为模拟环境) [毛等, 2023]等。物理环境是一个真实的环境,在这个环境中,智能体与物理实体相互作用,并遵守真实世界的物理和约束。在物理空间中,主体通常需要采取能够产生直接物理结果的行动。例如,在扫地、制作三明治、包装杂货、布置橱柜等任务中,需要机器人智能体迭代执行动作,观察物理环境,不断细化动作[曼迪等, 2023]。最后,None指的是没有特定的外部环境的场景,智能体不与任何环境进行交互。例如,很多应用[ Du et al . , 2023 ; Xiong et al . , 2023 ; Chan et al , 2023]利用多个Agent对一个问题进行辩论以达成共识。这些应用主要集中在智能体之间的通信,不依赖于外部环境。

智能体画像

在LLM - MA系统中,Agent是由它们的特征、行为和技能定义的,这些特征是为满足特定的目标而量身定做的。在不同的系统中,Agent承担着不同的角色,每个角色都有全面的描述,包括特征、能力、行为和约束。例如,在游戏环境中,智能体可能被描述为具有不同角色和技能的玩家,每个人对游戏目标的贡献不同。在软件开发中,代理人可以担任产品经理和工程师的角色,各自承担指导开发过程的职责和专长。同样,在辩论平台中,智能体可能被指定为支持者、反对者或法官,各自具有独特的功能和策略,以有效地履行自己的角色。这些特征对于定义Agent在各自环境中的相互作用和有效性至关重要。表1列出了近期LLM - MA工作中的Agent Profiles。

关于Agent画像设置方法,我们将其分为三类:预定义的、模型生成的和数据派生的。在预定义的情况下,Agent的配置文件是由系统设计者明确定义的。模型生成方法通过模型(例如大型语言模型)来创建Agent配置文件。数据派生方法是指基于已有的数据集构造agent概貌。(智能体如安排其角色的三种方法。)

智能体通信

LLM - MA系统中Agent之间的通信是支持群体智能的关键基础设施。我们从3个角度来剖析Agent通信:1 )通信范式:Agent之间交互的方式和方法;2 )通信结构:多Agent系统内部通信网络的组织和结构;3 ) Agent之间交换的通信内容。

沟通范式:当前LLM - MA系统主要采用三种沟通范式:合作型辩论型竞争型。合作主体为了共同的目标而共同努力,通常通过交换信息来增强集体解决方案。辩论范式是当主体进行论辩式互动,提出并辩护自己的观点或解决方案,并批评他人的观点或解决方案时使用的。这种范式非常适合达成共识或更精细化的解决方案。竞争代理人朝着自己的目标努力,而这些目标可能与其他代理人的目标相冲突。

通信结构:图3给出了LLM - MA系统中4种典型的通信结构。分层通信具有层次结构,每个层次的代理具有不同的角色,主要在其层内或与相邻层进行交互。[ Liu et al . , 2023]提出了一种称为动态LLM - Agent网络( Dynamic LLM-Agent Network,DyLAN )的框架,它将Agent组织在一个多层前馈网络中。这种设置促进了动态交互,融合了推理时间代理选择和提前停止机制等特征,共同提升了代理之间的合作效率。去中心化通信在对等网络上运行,其中智能体之间直接通信,这种结构在世界模拟应用中普遍采用。集中通信涉及一个中心智能体或一组协调系统通信的中心智能体,其他智能体主要通过这个中心节点进行交互。共享消息池是MetaGPT [ Hong et al , 2023]为提高通信效率而提出的。这种通信结构维护了一个共享消息池,代理根据其配置文件发布消息并订阅相关消息,从而提高了通信效率。
在这里插入图片描述
通信内容:在LLM - MA系统中,通信内容通常采用文本的形式。具体内容千差万别,视具体应用而定。例如,在软件开发中,Agent之间可能就代码段进行通信。在模拟狼人这样的游戏中,智能体可能会讨论他们的分析、怀疑或策略。

能力获取

Agent能力获取是LLM - MA中的一个关键过程,使Agent能够动态地学习和进化。在此背景下,有两个基本概念:智能体应该学习哪些类型的反馈来增强自身的能力,以及智能体调整自身以有效解决复杂问题的策略。

**反馈:**反馈涉及智能体接收到的关于其行动结果的关键信息,帮助智能体学习其行动的潜在影响,并适应复杂和动态的问题。在大多数研究中,提供给智能体的反馈形式是文本形式的。根据主体接受这种反馈的来源,可以将其分为四种类型。1 )来自环境的反馈,例如来自真实世界环境或虚拟环境。它普遍存在于大多数LLM - MA的问题求解场景中,包括软件开发(代理人从代码解释器获得反馈)和具身多Agent系统(机器人从真实世界或模拟环境中获得反馈)。2 ) Agent之间的反馈交互是指反馈来自于其他Agent的判断或者Agent之间的通信。这在科学辩论等问题解决场景中很常见,Agent通过交流学会批判性地评估和提炼结论。在世界仿真场景中,如游戏仿真,智能体根据先前其他智能体之间的交互来学习优化策略。3 )人类的反馈直接来自于人类,对于使多智能体系统与人类的价值观和偏好保持一致至关重要。这种反馈在大多数"人在回路"应用中被广泛使用。最后4 )没有反馈。在某些情况下,没有向Agent提供反馈。这往往发生在侧重于分析仿真结果而非智能体规划能力的世界仿真工作中。在这类场景中,如传播模拟,重点是结果分析,因此反馈不是系统的组成部分。

Agent对复杂问题的调整: 为了增强它们的能力,LLM - MA系统中的代理可以通过三种主要的解决方案进行自适应。1 )记忆。大多数LLM-MA系统利用存储模块来调整Agent的行为。Agent将先前交互和反馈的信息存储在记忆中。在执行动作时,他们可以检索相关的、有价值的记忆,特别是那些包含为相似的过去目标而成功动作的记忆,如[ Wang et al , 2023b]中所强调的那样。这一过程有助于增强他们当前的行动。2 )自我进化(Self-Evolution)。而不是像基于记忆的解决方案那样仅仅依靠历史记录来决定后续的行动,智能体可以通过修改自己来动态地自我进化,例如改变自己的初始目标和规划策略,并根据反馈或通信日志来训练自己。[Nascimento et al., 2023] 提出了一个自我控制的循环过程,使得多智能体系统中的每个智能体能够自我管理和自适应动态环境,从而提高多智能体的协作效率。[ Zhang et al . , 2023b]引入了预测队友决策的ProAgent,并根据Agent之间的通信日志动态调整每个Agent的策略,促进相互理解,提高协同规划能力。[ Wang et al , 2023a]讨论了一种通过通信的学习( Learning through Communication,LTC )范式,使用多自主体的通信日志生成数据集来训练或微调LLM。LTC通过与环境和其他智能体的交互来实现智能体的持续适应和改进,打破了语境学习或有监督微调的限制,没有充分利用与环境交互过程中收到的反馈和外部工具进行持续训练。"自我进化"使行动者能够自主地调整自己的轮廓或目标,而不是仅仅从历史互动中学习。3 )动态生成(Dynamic Generation)。在某些场景下,系统在运行[ Chen et al , 2023a ; Chen et al , 2023c]的过程中可以实时生成新的智能体。这种能力使系统能够有效地扩展和适应,因为它可以引入专门为解决当前需求和挑战而设计的代理。随着LLM - MA规模的扩大和代理数量的增加,管理各种代理的复杂性也在不断增加。Agents Orchestration作为一项关键性的挑战应运而生,并开始在[莫拉, 2023 ; 2023年,迪比亚]中获得关注。我们将在6.4节中进一步讨论这个问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1850240.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux搭建我的世界乌托邦探险之旅3.2整合包服务端,Minecraft开服教程

Linux服务器使用MCSM10 搭建 我的世界 乌托邦探险之旅3.2 整合包 服务端 的教程,Minecraft整合包开服教程。 大型养老探险整合包:乌托邦探险之旅3.2,探索上千种结构,造访丰富的自然群系,欣赏生动的生物动画&#xff0…

Android SurfaceFlinger——屏幕热插拔回调(九)

上一篇文章分析了回调注册监听的调用流程,对于数据的回调正好是注册监听的逆向调用。首先前面提到过在 HWC2On1Adapter 中就会直接转型为每一个回调到上层,这里我们就看一下屏幕热插拔回调(hotplugHook)的调用流程。 一、硬件回调…

数据库系统概论——数据库恢复技术

文章目录 数据库恢复技术事务的基本概念什么是事务如何定义事务:事务的特性 数据库恢复概述故障的种类恢复的实现技术恢复策略事务故障的恢复系统故障的恢复介质故障的恢复 数据库恢复技术 事务的基本概念 什么是事务 事务使用户定义的一个数据库操作序列&#x…

步步精:连接器领域的卓越品牌

自1987年成立以来,步步精坐落于美丽的旅游城市——温州市乐清虹桥镇,被誉为“国家电子主体生产基地”、“国家精密模具制造基地”。公司拥有7大厂区、9大事业部,800名专职员工,致力于提供高品质的连接器解决方案。注册商标“BBJCO…

数据库精选题(三)(SQL语言精选题)(按语句类型分类)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀数据库 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 前言 创建语句 创建表 创建视图 创建索引…

【机器学习】基于Softmax松弛技术的离散数据采样

1.引言 1.1.离散数据采样的意义 离散数据采样在深度学习中起着至关重要的作用,它直接影响到模型的性能、泛化能力、训练效率、鲁棒性和解释性。 首先,采样方法能够有效地平衡数据集中不同类别的样本数量,使得模型在训练时能够更均衡地学习…

开启声音的奇幻之旅:AI声音变换器的魔法秘籍与创意应用

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/这个充满科技魔力的时代,AI Voice Changer 就像一把神奇的钥匙,能为我们打开声音的魔法之门。今天,就让我带你…

在线教育系统源码入门:教育培训小程序开发全流程

本篇文章,笔者将详细介绍在线教育系统源码的入门知识,并带领大家了解教育培训小程序的开发全流程。 一、在线教育系统的基本概念 一个完整的在线教育系统应具备以下几个模块: 用户管理 课程管理 教学互动 支付模块 数据统计 二、开发工…

【开发】内网穿透ztncui搭建私有节点

文章目录 写在前面一键部署ztnuci记录后续 写在前面 前面搭建moon节点转发的确会降低延迟,但是总有出现moon节点解析不成功的例子,于是疯狂寻找答案是为什么?终于在知乎上找到这样一个答案。 一键部署ztnuci 参考这篇很完善的教程和贴心的…

小i机器人:总负债5.31亿,员工数量在减少,银行借款在增加,净利润已下降-362.68%

小i机器人:总负债5.31亿,员工数量在减少,银行借款在增加,总收入在增长,净利润已下降-362.68% 来源:猛兽财经 作者:猛兽财经 目录 一、小i机器人公司介绍 二、小i机器人过去20年的发展历程和取得的成就 三、小i机器人的产品和技术架构 四、小i机器人…

动手学深度学习(Pytorch版)代码实践 -卷积神经网络-24深度卷积神经网络AlexNet

24深度卷积神经网络AlexNet import torch from torch import nn import liliPytorch as lp import liliPytorch as lp import matplotlib.pyplot as pltdropout1 0.5 #Alexnet架构 net nn.Sequential(nn.Conv2d(1, 96, kernel_size11, stride4, padding1),nn.ReLU(),nn.MaxPo…

29-Linux--守护进程

一.基础概念 1.守护进程:精灵进程,在后台为用户提高服务,是一个生存周期长,通常独立于控制终端并且周期性的执行任务火处理事件发生 2.ps axj:查看守护进程 3.进程组:多个进程的集合,由于管理…

# 消息中间件 RocketMQ 高级功能和源码分析(十一)

消息中间件 RocketMQ 高级功能和源码分析(十一) 一、消息中间件 RocketMQ 源码分析: 拉取消息长轮询机制 1、消息拉取长轮询机制分析 RocketMQ 未真正实现消息推模式,而是消费者主动向消息服务器拉取消息,RocketMQ …

LeetCode80. 删除有序数组中的重复项 II题解

LeetCode80. 删除有序数组中的重复项 II题解 题目链接: https://leetcode.cn/problems/remove-duplicates-from-sorted-array-ii/ 题目描述: 给你一个有序数组 nums ,请你 原地 删除重复出现的元素,使得出现次数超过两次的元素…

基于uniapp的h5接入企业微信客服在线聊天

首先说下企业微信接入场景,支持的接入场景有以下几种,基本上涵盖了微信生态大部分场景: 接入步骤 1.创建企业微信号 按照官方操作步骤注册,需要注意的是未认证仅支持接入100人,已认证支持接入2000人. 2.创建客服账号 每个客服账号支持配置人工或是机器人或是人工机器人回复…

艾尔登法环黄金树幽影/ELDEN RING Shadow of the Erdtree(全DLC)

百度网盘 https://pan.baidu.com/s/1ulKiNQdVtV5dto-Vm7k4IA 提取码:yqrs 游戏介绍 《艾尔登法环》是一款以正统黑暗奇幻世界为舞台的动作RPG游戏。走进辽阔的场景与地下迷宫探索未知,挑战困难重重的险境,享受克服困境时的成就感吧。…

【单元测试】Spring Boot 的测试库

Spring Boot 的测试库 1.了解回归测试框架 JUnit2.了解 assertThat3.了解 Mockito4.了解 JSONPath5.测试的回滚 单元测试(unit test)是为了检验程序的正确性。一个单元可能是单个 程序、类、对象、方法 等,它是应用程序的最小可测试部件。 单…

如何修复“AI的原罪”

如何修复“AI的原罪” 上个月,《纽约时报》声称,科技巨头OpenAI和谷歌不顾服务条款和版权法的禁止,将大量YouTube视频转录成文本,并将其用作人工智能模型的额外训练数据,从而进入了版权灰色地带。《纽约时报》还援引Me…

HTML(18)——浮动

标准流 标准流也叫文档流,指的是标签在页面中默认的排布规则,例如:块元素独占一行,行内元素可以一行显示多个 浮动 作用:让块级元素水平排列 属性名:float 属性值 left:左对齐right&#…

高通安卓12-ADB操作

1.ADB安装 从网上下载一个adb工具 如: https://dl.google.com/android/repository/platform-tools_r31.0.2-windows.zip 解压出来 增加一个环境变量 查看安装情况 2.设备连接 从网上下载ADB工具 1.进入命令行,查询设备状态 adb devices 2.进入shel…