微信扫码
与创始人交个朋友
我要投稿
大家好!今天我分享的文章所属领域是多代理系统和大语言模型,作者针对现有多代理系统框架在集成第三方代理、模拟分布式环境和动态通信协调方面的局限性,提出了一种名为"代理互联网"(Internet of Agents,IoA)的新型框架,旨在实现更灵活和可扩展的LLM多代理协作。
原文:INTERNET OF AGENTS: WEAVING A WEB OF HETEROGENEOUS AGENTS FOR COLLABORATIVE INTELLIGENCE
地址:https://arxiv.org/abs/2407.07061
代码:https://github.com/OpenBMB/IoA
出版:未知
机构: 清华大学、北京大学
本文研究的核心问题是: 如何设计一个灵活可扩展的框架,以实现多种异构LLM代理的无缝集成和有效协作。
想象一个复杂的市场分析任务,需要整合网络搜索、数据分析、报告撰写等多个专业领域的能力。现有的单一LLM代理可能难以胜任所有这些子任务,而将多个专门的代理整合在一起又面临着通信、协调和集成方面的挑战。IoA框架就是为了解决这样的场景而设计的。
本文研究问题的特点和现有方法面临的挑战主要体现在以下几个方面:
针对这些挑战,本文提出了一种灵活且可扩展的"代理互联网"(IoA)方法:
IoA的核心思想是将互联网的概念应用到代理协作中。就像互联网连接了世界各地的计算机,IoA旨在连接各种异构的AI代理。它包括一个代理集成协议,允许不同的第三方代理无缝集成到框架中;一个类似即时通讯应用的架构设计,便于代理发现和动态团队组建;以及动态的代理团队形成和对话流程控制机制。想象IoA为一个虚拟的"代理城市",其中每个代理都是一个独特的"居民",拥有自己的专长和能力。当一个复杂任务到来时,IoA就像一个智能的"市政厅",根据任务需求在城市中召集最合适的"居民"组成临时团队。这些代理可以在IoA提供的"会议室"(群聊)中自由交流,分配子任务,并根据需要动态调整团队构成。整个过程就像是一场高效的"头脑风暴会议",每个参与者都能贡献自己的专长,共同解决复杂问题。
Internet of Agents (IoA)框架的设计灵感来源于互联网,旨在创建一个能够支持异构代理之间灵活协作的分布式系统。IoA框架主要由两大组件构成:客户端和服务器,它们共同形成了一个类似即时通讯应用的架构。
客户端作为各个代理的包装器,负责处理单个代理的通信和交互需求。它采用三层架构:
服务器则作为整个系统的中央枢纽,负责协调所有代理的活动。它同样采用三层架构:
举个例子,假设我们要完成一个复杂的市场分析任务。在这个框架中,不同的专业代理(如市场研究代理、数据分析代理等)都是客户端,它们通过服务器进行注册、发现和通信。服务器就像一个大型会议中心,协调各个专业代理(客户端)之间的合作,确保它们能够有效地共同完成市场分析任务。
代理注册与发现机制是IoA框架的基础,它使得系统能够整合和利用各种异构代理的能力。这个机制主要包含两个关键步骤:代理注册和代理发现。
代理注册: 当一个新的代理加入IoA系统时,它需要向服务器提供一个详细的能力描述。这个描述包括代理的名称、类型、以及它所具备的技能和专长领域。形式化地说,我们可以将所有注册的代理表示为一个集合 ,其中每个 都关联着一个描述 。
代理发现:
当一个代理需要完成某个任务时,它可以使用服务器提供的 search_client
工具来查找合适的协作者。这个工具允许代理基于期望的特征或能力来搜索其他代理。形式化地,我们可以将代理发现过程描述为一个函数:
其中 是期望特征的列表,P(C)表示C的幂集。这个函数返回一个客户端子集 ,其中的代理描述 与 中的特征相匹配。
具体来说,假设我们需要完成一个市场分析报告。一个报告撰写代理可能会发起一个搜索,寻找具有"市场研究"、"数据分析"和"竞争对手分析"等能力的代理。系统会返回一个匹配这些特征的代理列表,使报告撰写代理能够组建一个合适的团队来完成任务。
自主嵌套团队形成机制是IoA框架的核心创新之一,它使得系统能够根据任务的复杂性和要求,动态地组建和调整代理团队。这个机制不仅支持初始团队的形成,还允许在任务执行过程中根据需要形成嵌套的子团队。
团队形成过程可以描述如下:
search_client
和 launch_group_chat
。search_client
并提供适当的特征描述。launch_group_chat
来初始化一个新的群聊 ,其中G是所有群聊的空间。嵌套团队结构允许形成层次化的团队和子团队。让 表示任务 t 的初始群聊。在执行 t 的过程中,如果一个客户端 被分配了一个子任务 ,并且它识别出 需要额外的专业知识,那么 可以再次搜索合适的代理并初始化一个新的子群聊 。这个过程可以递归地继续下去,形成一个树状的群聊结构。
我们可以定义一个函数 ,它将一个群聊映射到它的子群聊集合。嵌套结构可以表示为:
等等。
这个机制的一个重要优势是它可以显著减少大型代理团队中的通信复杂度。假设在一个单一群组中有 |g| 个成员,完全连接的通信通道数量是:
而通过将任务分解为子任务并分配给子群聊,总的通信通道数量可以减少到:
其中 表示为完成最初分配给群组 g 的任务而形成的所有子群组(包括 g 本身)的集合。
举个例子,假设我们正在进行一个复杂的市场分析任务。初始团队可能包括一个项目管理代理、一个市场研究代理和一个报告撰写代理。在执行过程中,市场研究代理可能会发现需要更深入的竞争对手分析。此时,它可以形成一个子团队,包括一个专门的竞争对手分析代理和一个数据挖掘代理。这种嵌套结构使得每个子团队可以专注于特定的子任务,同时保持整体任务的协调性。
自主对话流控制机制是IoA框架中确保代理之间有效沟通的关键组件。受到言语行为理论的启发,这个机制使用有限状态机来管理代理间的对话流程,使得协作过程更加结构化和高效。有限状态机可以形式化地表示为一个五元组 ,其中:
这个机制的工作流程如下:
每个客户端的LLM负责决定状态转移和选择下一个发言者。
假设 是直到时间步 t 的消息集合,LLM的决策函数可以表示为:
其中 是状态集,C 是客户端集。下一个状态 和下一个发言者 由以下方式确定:
这个决策过程考虑了多个因素,如已分配任务的完成情况、是否需要进一步讨论,以及协作的整体目标。
总的来说,IoA框架通过其整体设计、代理注册与发现机制、自主嵌套团队形成机制、自主对话流控制机制、任务分配与执行机制以及综合消息协议设计,为异构代理之间的协作提供了一个强大而灵活的平台。这种设计使得复杂的任务可以被有效地分解、分配和执行,同时保持了整个系统的可扩展性和适应性。通过模仿人类团队协作的方式,IoA为构建更智能、更有效的多代理系统开辟了新的可能性。
本论文提出了一个名为Internet of Agents (IoA)的框架,旨在解决现有多代理框架的三个主要限制:生态系统隔离、单设备模拟和僵化的通信与协调。IoA通过提供灵活可扩展的平台,实现了异构代理的集成、分布式多代理协作以及动态的代理团队形成和对话流控制机制。实验旨在验证IoA在各种场景下的有效性和versatility。
目的:评估IoA在集成具有异构工具的代理方面的能力
涉及图表:表1
实验细节概述:在GAIA benchmark上测试IoA与4个基本ReAct代理的集成性能,与其他基准系统进行比较
结果:
目的:评估IoA在集成和协调具有异构架构的代理方面的能力
涉及图表:图5
实验细节概述:将AutoGPT和Open Interpreter集成到IoA中,在153个开放式指令上进行测试
结果:
目的:评估IoA在协调具有异构观察和动作空间的代理方面的效果
涉及图表:表2
实验细节概述:在RocoBench的五个任务上测试IoA的性能,与Roco Dialog和Central Plan基准进行比较
结果:
目的:评估IoA在管理具有异构知识的代理方面的效果
涉及图表:表3
实验细节概述:在四个数据集上测试IoA的RAG任务性能,与其他基准方法进行比较
结果:
本论文针对现有多智能体框架在集成第三方代理、模拟分布式环境和动态通信方面的局限性,提出了一种名为Internet of Agents (IoA)的新型框架。IoA引入了代理集成协议、即时通讯式架构设计以及动态的代理团队组建和对话流控制机制。通过在通用助手任务、具身AI任务和检索增强生成基准上的广泛实验,IoA展示了其在促进异构代理有效协作方面的能力,在多项任务上优于现有最先进的基线方法。
疑惑和想法:
可借鉴的方法点:
本文内容如有不对烦请留言指正
END
53AI,企业落地应用大模型首选服务商
产品:大模型应用平台+智能体定制开发+落地咨询服务
承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2024-11-15
西湖大学&腾讯:一个多模态Web Agent的开源框架
2024-11-13
最复杂多智能体发布!百度推出“秒哒”和文心iRAG
2024-11-12
【RAG&多模态】多模态RAG-ColPali:使用视觉语言模型实现高效的文档检索
2024-11-11
开摆!谷歌AI视频上线!脚本、素材、剪片全稿定!
2024-11-11
文档OCR版式识别,兼顾速度与精度,YOLO当首选
2024-11-10
硬核升级!在Ollama中使用Llama3.2视觉模型
2024-11-08
dify案例分享-基于多模态模型的发票识别2-多种发票识别
2024-11-07
星辰 AI 大模型:中国电信的 AI 大模型集合平台,支持多模态任务和多语种处理
2024-05-30
2024-09-12
2024-06-17
2024-08-06
2024-08-30
2024-04-21
2024-06-26
2024-07-07
2024-07-21
2024-06-14
2024-09-26
2024-09-26
2024-09-01
2024-07-15
2024-07-14
2024-07-10
2024-07-02
2024-06-29