零、常用概念
- 智能体:融合了大模型能力,具有感知记忆、自主规划、调用工具、执行任务能力的Agent
- Internet of Agents (IoA)—— “智能体互联网”:Agent 之间互相发现,大规模连接、协作。
一、现状问题
-
生态不开放:只允许接入框架内部定义的智能体。
-
单设备架构:大多数多智能体系统在一个设备上模拟多个智能体。现实场景更迫切的需求,是分布在多个设备和位置的智能体通过“网络”进行协作。
-
协同不灵活:大多数多智能体系统的沟通机制单一,或者需要用户进行指定。沟通和多轮的信息交换,非常的不灵活。
二、解决方案
两大组件,三层设计
1.一个本质
通过引入一个能够集成不同第三方智能体的协议,以及类似即时通讯应用的框架来促进智能体在平台上发现其他智能体并动态组队。
2.两大组件
服务器:作为中心枢纽,管理智能体注册、发现和消息路由,确保具备不同能力的智能体能够互相发现并发起通信。
客户端:则作为单个智能体的包装,提供必要的通信功能,并适应指定的沟通协议。
3.三项突破
(1)Agent 互联载体:从单设备到多设备
大多数多智能体系统在一个设备上模拟多个智能体,这与现实场景相悖。IoA 支持分布在多个设备和位置的智能体通过网络进行协作。
(2)开放性:从限定框架的“局域网”到自由身份注册的“互联网”
大多数多智能体系统只允许接入框架内部定义的智能体,而 IoA 允许开发者通过为现有智能体实现一个 adapter 接入到 IoA 的客户端中并注册到 IoA 服务端,扩展系统内智能体的能力多样性。
(3)沟通、协作、组队:从固定计划到灵活高效
大多数多智能体系统的沟通机制单一,或者需要用户进行指定。IoA 将沟通阶段抽象为 5 个阶段:讨论、同步任务分配、异步任务分配、暂停等待任务完成、总结,通过有限状态自动机实现了自主会话流程控制机制,允许智能体根据任务需求和进展自适应调整协作策略。
4.四大机制
(1)机制一:智能体注册与发现
为了实现分布式的异构智能体协作,我们借鉴了即时通信软件中用户可以进行注册并被其他用户通过关键词搜索到的机制,提出了智能体注册与发现机制。
-
智能体注册:当一个新智能体加入 IoA 时,他所属的客户端需要向服务器发送注册请求。在注册中,我们要求智能体应提供其能力、技能和专长领域的详细描述。这些描述被存储在服务器的数据层中的智能体仓库模块中。
-
智能体发现:智能体发现功能利用存储在智能体仓库模块中的信息,使智能体可以为特定任务找到合适的协作者。当一个智能体需要组建团队或寻求帮助时,它可以使用服务器的智能体查询模块进行搜索。通过匹配搜索条件和智能体描述,确保相关能力的智能体能够被发现。
(2)机制二:自主嵌套团队组建
自主嵌套团队组建机制实现了根据任务需求动态灵活地组合合适的智能体。该机制允许智能体根据任务需求自适应地组建团队,并为复杂、多方面的任务创建嵌套子团队。
-
团队组建过程:当一个智能体被分配任务时,它可以使用服务器提供的智能体查询功能寻找合适的协作者。一旦找到合适的智能体,它会发起一个新的群组聊天,形成团队。
-
嵌套组队:嵌套组队允许形成团队和子团队的层级结构。在任务执行过程中,如果智能体被分配了任务,且他识别到需要额外的专长,它可以再次搜索合适的智能体,并发起一个新的子群组聊天,从而形成树状的团队结构。如下图所示
嵌套组队机制
(3)机制三:自主会话流程控制
有效的通信对于成功的协作至关重要。受言语行为理论(Speech Act Theory)启发,我们在 IoA 中引入了自主会话流程控制机制。该机制使智能体能够协调其通信,并保持结构化对话,提升协作的效率和效果。
-
顺序发言机制:为管理潜在的冲突并确保清晰的沟通,IoA 采用了基本的顺序发言机制。在任何给定时间内,只有一个智能体可以发言,防止混乱并保持通信顺序。尽管简单,但当搭配上下面的有限状态机,仍可以构成灵活但相对可控的自主对话流程。
-
群组聊天状态的有限状态机:如下图所示,我们将会话流程形式化为一个有限状态机,每个状态对应协作过程的不同阶段。通过状态转换,智能体能够根据任务需求和进展灵活调整会话状态。
完成任务过程的有限状态转移示意图
通过实现这些关键机制,IoA 实现了智能体之间的结构化、高效的通信和协作。这种方法允许智能体根据协作需求动态调整,促进在复杂多智能体场景中的更有效的问题解决和决策。
(4)机制四:任务分配与执行
任务分配与执行机制旨在高效地在智能体之间分配工作,并管理简单和复杂任务的执行。该机制与团队组建和会话流程控制机制协同工作,确保协作和任务完成。
-
任务分配:任务分配在群组沟通中进行,分为同步任务分配和异步任务分配两种类型。同步任务分配暂停群组聊天直到分配的任务完成,而异步任务分配不打断正在进行的讨论,允许任务并行执行。
-
任务执行:任务分配后,负责的智能体开始执行。执行过程取决于任务的性质和智能体的能力。集成的第三方智能体通过客户端的智能体集成模块处理任务执行。
通过集成任务分配与执行与团队组建和会话流程控制机制,IoA 提供了一种灵活和高效的方法来管理复杂的多智能体协作。该方法允许动态任务分解、专门智能体分配和协调执行,使系统能够有效地解决各种问题。
5.流程实例
三、效果对比
IoA 与其他智能体协作“工作流”关键特性对比
四、附件资料
IoA 论文地址:https://arxiv.org/abs/2407.07061 | 中英文对照阅读
IoA 开源地址:https://github.com/OpenBMB/IoA
IoA开放文档:IoA 0.0.1 documentation