多智能体协作是指多个智能体协同工作以解决任务的系统。
CAMEL 框架新增了多智能体协作 Workforce 模块。Workforce 是一个让多个 Agent 协同工作以解决任务的系统,采用分层架构,包含多个工作节点,每个工作节点可以包含一个或多个 Agent 作为工作者,由协调 Agent 进行管理,还有任务规划 Agent 负责将任务分解和组合。
选择 Workforce 的原因在于其具有动态问题解决能力,与传统 Workflow 工作流不同,能实时适应,自动分解问题、重新启动新的 Agent 并持续迭代,直到任务完全解决,这种灵活性使其在大规模解决复杂问题时成为改变游戏规则的工具。详情可在官网的 Doc 中查看:https://docs.camel-ai.org/key_modules/workforce.html 。
多智能体(Multi-Agent)是由多个自主、独立的智能体(Agent)组成的系统,每个智能体都能感知环境、决策并执行任务,且能信息共享、任务协调和协同行动以实现整体目标。随着大型语言模型(LLM)的出现,以 LLM 为核心构建的 Agent 系统受到广泛关注,目前常见框架有单 Agent 和多 Agent 场景。单 Agent 核心在于 LLM 与工具的协同配合,多 Agent 会为不同 Agent 指定不同角色并通过协作完成复杂任务。构建多 Agent 框架需要考虑环境(所有 Agent 处于同一环境,环境包含全局状态信息,Agent 与环境有信息交互与更新)、阶段(采用 SOP 思想将复杂任务分解为多个子任务)、控制器(可以是 LLM 或预先定义好的规则,负责环境在不同 Agent 和阶段之间的切换)和记忆(多 Agent 框架中由于 Agent 数量增多,消息数量增多,每条消息可能需记录更多字段)等组件。
在工作流 Workflow 方面,也可以理解为多智能体协作。以“什么值得买”智能体为例,通过多个智能体的组装解决复杂场景的搜索问题,如给新产品取名,涉及多个步骤和智能体的协作,还需要有调度中枢协调工作和做决策。
前言📣我们在🐫 CAMEL框架中新增了多智能体协作Workforce模块!本期公众号将为大家带来什么是Workforce,具体选择Workforce的原因以及对其特点和流程的图解。[heading1]❓什么是Workforce[content]- Workforce是一个让多个Agent协同工作以解决任务的系统。-该模块采用分层架构,包含多个工作节点,每个工作节点可以包含一个或多个Agent作为工作者。工作节点由协调Agent进行管理,协调Agent根据工作节点的描述和工具集为其分配任务。-在工作队伍中,还有一个任务规划Agent,负责将任务分解和组合,使工作队伍能够一步步地解决任务。🤔⬇️下图的示例展示了工作队伍如何协作,利用具有不同工具的Agent规划前往巴黎的旅行,以及实现代码。[heading1]为何选Workforce?[content]🤔可能你会问:“Multi-Agent Workforce和传统Workflow工作流有什么区别?”答案在于Multi-Agent系统的动态问题解决能力。与静态工作流不同,Workforce可以实时适应。当你将一个复杂任务分配给一组Agents时,即使任务的某个部分失败,Workforce也会自动分解问题,重新启动新的Agent,并持续迭代,直到任务完全解决。🔄这种灵活性使Multi-Agent系统在大规模解决复杂问题时成为一个改变游戏规则的工具。🚀⬇️详情也可以在官网的Doc中查看!https://docs.camel-ai.org/key_modules/workforce.html
多智能体(Multi-Agent)是由多个自主、独立的智能体(Agent)组成的系统。在这个系统中,每个智能体都能够感知环境、进行决策并执行任务,同时它们之间可以进行信息共享、任务协调以及协同行动,以实现整体的目标。[heading2]关于Multi-Agent[content]随着大型语言模型(LLM)的出现,以LLM为核心构建的Agent系统近期受到了广泛关注。Agent系统旨在利用LLM的归纳推理能力,为不同的Agent分配角色和任务信息,并配备相应的工具插件,以完成复杂的任务。目前,更常见的框架主要集中在单Agent场景下。单Agent的核心在于LLM与工具的协同配合。LLM根据用户任务的理解,推理出需要调用的工具,并根据调用结果向用户提供反馈。在任务完成过程中,Agent可能需要与用户进行多轮交互。与此同时,越来越多的Agent框架开始关注多Agent场景。为了完成任务,多Agent会为不同的Agent指定不同的角色,并通过Agent之间的协作来完成复杂的任务。与单Agent相比,在任务完成过程中,与用户的交互可能会减少一些。[heading2]主要组成部分[content]为构建一个多Agent框架,我们需要思考相对于单Agent,框架中增加了哪些组件。环境(environment):所有Agent应该处于同一个环境中。环境中包含全局状态信息,Agent与环境之间存在信息的交互与更新。阶段(stage):为了完成复杂任务,现有多Agent框架通常采用SOP思想,将复杂任务分解为多个子任务。控制器(controller):控制器可以是LLM,也可以是预先定义好的规则。它主要负责环境在不同Agent和阶段之间的切换。记忆:在单Agent中,记忆只包括用户、LLM回应和工具调用结果等部分。而在多Agent框架中,由于Agent数量增多,导致消息数量增多。同时,每条消息可能需要记录发送方、接收方等字段。
以Kimi+的“什么值得买”智能体举例,假设用户输入“我想买个笔记本电脑”,智能体会先做Query Rewrite提取出“笔记本电脑”关键词,再通过“什么值得买”的API检索对应的商品信息,拿到检索结果后,跟智能体内置的提示词组装成上下文,请求大模型回答。于是这个智能体便成了一个电商导购类的垂直搜索()应用,在商品推荐方面有更好的回答效果。1.工作流Workflow工作流Workflow也可以理解为多智能体协作Multi-Agents,通过多个智能体的组装,解决一些复杂场景的搜索问题。比如:给新产品取名,我习惯的步骤是告诉大模型新产品是做什么的,大模型推荐几个可取的名字选择其中一个名字,去谷歌检索,是否有同名去Twitter检索是否有同名去Github检索是否有同名选择一个域名,去Namecheap搜索是否已被注册全部检测通过,确定产品名,注册域名这里涉及到一个回溯的问题,也就是在其中某个步骤发现产品名不可用,要回到第一步重新选择名字,再继续走后面的检测步骤。人工去做这件事,毫无疑问是很费时间的。AI搜索+ Workflow的模式,可以有效解决这个问题。首先定义几个智能体,每个智能体完成一项功能。比如A智能体只负责给出建议的名字,B智能体负责检索谷歌是否有同名,C智能体负责检索Twitter是否有同名,D智能体负责检测Github是否有同名,E智能体负责检测可用的域名...另外还需要有一个调度中枢,协调每个智能体的工作,需要做决策,决定是继续下一步还是回溯到之前的步骤。