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

目录

  • 摘要
  • 简介
  • 背景
    • 单一智能体系统
    • 单智能体 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节中进一步讨论这个问题。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

你好,复变函数2.0

第一行&#xff1a;0 或 1 第二行&#xff1a;&#xff08;空格&#xff09;函数&#xff08;后缀&#xff09; #pragma warning(disable:4996) #include <easyx.h> #include <stdio.h> #include <math.h> #define PI 3.141592653589793 #define E 2.71828…

【ai】tritonserver 的测试sdk部署

HybrIKHybrIK 环境 conda create -n hybrik python=3.8 -y 虚拟环境 zhangbin@ubuntu-server:~/miniconda3/bin$ pip config set global.index-url https: …

make与makefile

目录 一、make的默认目标文件与自动推导 二、不能连续make的原因 执行原理 touch .PHONY伪目标 make指令不回显 makefile多文件管理 简写依赖方法 三、回车与换行 四、缓冲区 一、make的默认目标文件与自动推导 假设这是一个makefile文件&#xff0c;make的时候默认生…

Kubernetes Dashboard

Minikube 环境搭建 Kubernetes 的基本架构 Kubernetes 声明式语言 YAML YAML操作Kubernetes核心对象 CentOs搭建Kubernetes集群 Kubernetes进阶对象Deployment、DaemonSet、Service Kubernetes进阶对象Ingress、Ingress Class、Ingress Controller Kubernetes集群部署项目实践 …

XTDrone-无人机与无人船协同初步-配置教程

说明&#xff1a;配置该教程时所使用的是Ubuntu20.04 1 海洋与无人船仿真环境搭建 cp -r ~/XTDrone/sitl_config/usv/* ~/catkin_ws/src/ cd catkin_ws catkin build # or catkin_make 说明&#xff1a;由于官方所编写的脚本时几年之前的&#xff0c;所以很多东西不符合现在…

深入分析并可视化城市轨道数据

介绍 中国城市化进程加速中&#xff0c;城市轨道交通的迅速扩张成为提升城市运行效率和居民生活品质的关键。这一网络从少数大城市延伸至众多大中型城市&#xff0c;映射了经济飞跃和城市管理现代化。深入分析并可视化城市轨道数据&#xff0c;对于揭示网络特性、评估效率、理…

JavaScript学习笔记(二)

12、数字 常规用法和java的用法相似&#xff0c;就不再做详细的记录, JavaScript 数字 以下只记录特殊用法&#xff1a; 12.1 数字字符串运算 在所有数字运算中&#xff0c;JavaScript 会尝试将字符串转换为数字&#xff1a; var x "100"; var y "10"…

MySQL性能问题诊断方法和常用工具

作者介绍&#xff1a;老苏&#xff0c;10余年DBA工作运维经验&#xff0c;擅长Oracle、MySQL、PG数据库运维&#xff08;如安装迁移&#xff0c;性能优化、故障应急处理等&#xff09; 公众号&#xff1a;老苏畅谈运维 欢迎关注本人公众号&#xff0c;更多精彩与您分享。MySQL运…

python入门基础知识(错误和异常)

本文部分内容来自菜鸟教程Python 基础教程 | 菜鸟教程 (runoob.com) 本人负责概括总结代码实现。 以此达到快速复习目的 目录 语法错误 异常 异常处理 try/except try/except...else try-finally 语句 抛出异常 用户自定义异常 内置异常类型 常见的标准异常类型 语法…

每天写java到期末考试--接口1--基础--6.22

规则&#xff1a; 练习&#xff1a; 抽象类的抽象方法 动物类Animal package 期末复习;public abstract class Animal {private String name;private int age;//1.空构造public Animal(){}public Animal(String name,int age){this.ageage;this.namename;}public String getNa…

【Java毕业设计】基于JavaWeb的服务出租系统

本科毕业设计论文 题目&#xff1a;房屋交易平台设计与实现 系 别&#xff1a; XX系&#xff08;全称&#xff09; 专 业&#xff1a; 软件工程 班 级&#xff1a; 软件工程15201 学生姓名&#xff1a; 学生学号&#xff1a; 指导教师&#xff1a; 导师1 导师2 文章目录 摘…

C++入门 vector部分模拟实现

目录 vector大致框架 vector常见接口模拟实现 begin迭代器 & end迭代器 capacity( ) & size( ) reserve operator[ ] push_back( ) & pop_back( ) sort vector大致框架 vector的内部的成员变量大概有三部分构成&#xff1a; namespace bit {template<c…

java中的日志

springboot自带slf4j框架和logback&#xff0c;我们可以移除spring的logging&#xff0c;然后再带入自己的日志框架。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><exclusio…

Linux中tar压缩与解压缩

TAR是Unix/Linux中常用的归档工具&#xff0c;它可以对文件或目录进行打包但不压缩&#xff0c;或者配合其他工具进行压缩。 压缩文件或目录 以下是一些基本的tar压缩命令&#xff1a; 1.压缩单个文件&#xff1a; tar -cvf archive.tar file1 2.压缩多个文件&#xff1a; t…

毕业季带给我的五个启示

每到毕业季&#xff0c;校园里总是充满了复杂的情绪。有人欢笑&#xff0c;有人落泪。同样的四年大学生活&#xff0c;为何结局如此不同&#xff1f;本文将从多个角度探讨如何实现综合改变&#xff0c;解释在交友、机会和心态上的关键因素&#xff0c;揭示“慢就是快”的真理。…

Vulnhub--OS-HACKNOS-2.1

渗透复现 目标站点为wordpress&#xff0c;通过wpscan进行漏洞扫描发现漏洞插件 通过漏洞插件存在的目录穿越漏洞成功读取/etc/passwd文件中flag用户的密码 SSH登录flag用户后在备份文件中找到rohit用户的密码 切换rohit用户&#xff0c;rohit用户能够以root权限执行任何文…

colima配置docker镜像源

只在 colima ssh 环境下修改 docker 配置文件是无效的&#xff0c;我们需要修改 colima 配置文件才能使 docker 镜像源生效。 此时你需要进入到~/.colima/default目录下编辑colima.yaml文件。该文件是 colima 的配置文件。内容如下图所示&#xff0c;我这里配置了许多家的镜像源…

手写方法实现整型例如:123与字符串例如:“123“相互转化(下篇)

目录 一、前言 二、整型转化为字符串 1. 初始化变量 2.数字1转字符1 3.取出value中的每一项数字 4.将字符放入字符数组中 5.最终代码 三、最后 一、前言 本篇文章紧跟上篇文章&#xff0c;本片内容为整型转化为字符串类型。至于我为什么要分两篇文章&#xff0c;主要…

【2024最新精简版】Kafka面试篇

文章目录 Kafka和RabbitMQ什么区别讲一讲Kafka架构你们项目中哪里用到了Kafka?为什么会选择使用Kafka? 有什么好处 ?使用Kafka如何保证消息不丢失 ?消息的重复消费问题如何解决的 ?Kafka如何保证消费的顺序性 ?Kafka的高可用机制有了解过嘛 ?Kafka实现高性能的设计有了解…

大数据的发展,带动电子商务产业链,促进了社会的进步【电商数据采集API接口推动电商项目的源动力】

最近几年计算机技术在诸多领域得到了有效的应用&#xff0c;同时在多方面深刻影响着我国经济水平的发展。除此之外&#xff0c;人民群众的日常生活水平也受大数据技术的影响。 在这其中电子商务领域也在大数据技术的支持下&#xff0c;得到了明显的进步。虽然电子商务领域的发…