# 多 Agent 模式 ## 多 Agent 模式概述 你可以通过多 Agent 模式搭建功能更加全面和复杂的低代码智能体。 在扣子编程中创建智能体后,智能体默认使用单 Agent 模式。在单 Agent 模式下处理复杂任务时,你必须编写非常详细和冗长的提示词,而且你可能需要添加各种插件和工作流等,这增加了调试智能体的复杂性。调试时任何一处细节改动,都有可能影响到智能体的整体功能,实际处理用户任务时,处理结果可能与预期效果有较大出入。 为了解决上述问题,扣子编程提供了多 Agent 模式,该模式下你可以为智能体添加多个 Agent,并连接、配置各个 Agent 节点,通过多节点之间的分工协作来高效解决复杂的用户任务。 多 Agent 模式通过以下方式来简化复杂的任务场景。 * 你可以为不同的 Agent 配置独立的提示词,将复杂任务分解为一组简单任务,而不是在一个智能体的提示词中设置处理任务所需的所有判断条件和使用限制。 * 多 Agent 模式允许你为每个 Agent 节点配置独立的插件和工作流。这不仅降低了单个 Agent 的复杂性,还提高了测试智能体时 bug 修复的效率和准确性,你只需要修改发生错误的 Agent 配置即可。 ## 切换到多 Agent 模式 默认情况下,智能体为单 Agent 模式,你需要按照以下步骤切换为多 Agent 模式。 1. 登录[扣子编程](https://code.coze.cn/home)。 2. 在页面顶部选择目标工作空间,然后在左侧导航栏中单击**新建项目**。 3. 在**低代码模式**区域,单击**智能体开发**。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/5e345d9a929c44faa8711cfab5042db8~tplv-goo7wpa0wc-image.image) 4. 根据页面提示,创建一个新智能体。 5. 在智能体的**编排**页面选择**多Agents模式**。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/a895c957b36b42919e6534436a87ddfc~tplv-goo7wpa0wc-image.image) 与单 Agent 模式类似,页面分为以下 4 个面板: * 面板1:在顶部区域,你可以查看智能体的基本信息,包括所属工作空间、发布历史。 * 面板2:左边是编排面板,你可以在其中为整个智能体添加提示词、变量和其他配置。你可以单击 **<** 图标,折叠此面板。 * 面板3:中间是可以添加和连接 Agent 的画布。 * 面板4:右边是**预览与调试**面板,你可以在其中测试智能体是否按预期运行,并进行调试、检查运行详情等操作。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/2c06661e98b946dc9d7090508d8c8f49~tplv-goo7wpa0wc-image.image) ## 创建多 Agent 模式智能体 参阅以下步骤,搭建多 Agent 模式的智能体。 ### 步骤一:创建智能体并设置模式 默认情况下,新的智能体使用单 Agent 模式,你需要在创建智能体后将其设置为多 Agent 模式。 1. 登录[扣子编程](https://code.coze.cn/home)。 2. 在页面顶部选择目标工作空间,然后在左侧导航栏中单击**新建项目**。 3. 在**低代码模式**区域,单击**智能体开发**。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/5e345d9a929c44faa8711cfab5042db8~tplv-goo7wpa0wc-image.image) 4. 输入智能体名称和功能介绍,然后单击**图标**旁边的**生成**图标,自动生成一个头像。 你也可以切换到 **AI 创建**,通过自然语言描述你的智能体创建需求,扣子编程将根据你的描述自动创建一个专属于你的智能体。详细请参考[通过AI创建智能体](https://docs.coze.cn/api/open/docs/guides/assistant_coze#d11d798b)。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/477ea1f1456d46e1ac30508f31837b9f~tplv-goo7wpa0wc-image.image) 5. 在智能体的**编排**页面,单击**单 Agent 模式**,然后选择**多 Agents 模式**。 ### 步骤二:配置全局设置 与单 Agent 模式类似,第一步是为智能体构建人物设定。 在智能体的编排面板,描述智能体的人物设定,并根据实际情况为智能体添加其他配置。 该区域中的配置是全局配置,将适用于所有添加的 Agent。其中,快捷指令默认不指定节点,即根据智能体用户的输入自动分配节点处理,你也可以为每个快捷指令指定对应的节点处理。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/373b14148554469fa415ba85d9d0a421~tplv-goo7wpa0wc-image.image) ### 步骤三:添加节点 配置全局设置后,你可以在中间画布区域,为智能体添加节点。 默认情况下,**开始**节点已连接到了具有智能体名称的 Agent 节点。你可以单击**添加节点**向画布内添加更多的节点,并连接节点。 不同的节点对应配置和功能不同,具体说明如下所示。 #### 开始节点 开始节点是智能体处理新对话时的默认起始节点,开始节点根据用户的问题及整体分发对话人物的逻辑,指定某个节点接管用户的问题。在与同一个用户进行多轮会话时,用户和智能体通常针对同一个主题展开多次问答,你可以为开始节点设置新一轮会话的分发策略,即由哪个节点接管用户会话。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/a39fd83b727247b881f838c87246c1a8~tplv-goo7wpa0wc-image.image) 配置说明如下: * **上一次回复用户的节点**:用户新的消息将继续发送给上次回复用户的节点。如果用户手动清除历史对话记录,则系统会把消息发送给开始节点。该设置适用于连贯会话比较多的智能体,用户通常需要多轮对话才能完成某个任务,例如积分制游戏等。 * **开始节点**:用户的所有消息都会发送给开始节点,该节点会根据 Agent 的适用场景,把用户消息移交给适用的 Agent 节点。该设置适用于功能丰富且互相独立的智能体,上次回复用户的节点通常不适用于回答新一轮的用户问题,例如售后客服场景。 调试智能体时,在节点右上角单击对话按钮,可以直接和指定节点会话,测试该节点是否按预期运行。清除历史对话记录后,智能体仍旧根据预设的分发逻辑来处理新对话,将对话流转至上次回复用户的节点或开始节点。 #### Agent 节点 Agent 节点是可以独立执行任务的智能实体。默认情况下,智能体内添加了使用智能体名称的 Agent,且该 Agent 与**开始**节点相连接。Agent 节点包含以下配置: * 单击**设置**图标(三个点)更改 Agent 设置: * 单击**重命名**为 Agent 输入新名称。建议使用清晰明确的名称,这将有助于大型语言模型准确为 Agent 分配用户任务。 * 单击**创建副本**,创建另一个具有相同配置的 Agent。 * 单击**模型设置**,选择 Agent 所使用的大语言模型以及配置。 * **适用场景**:说明此节点的功能和适用场景,用于帮助前序节点判断在何种情况下应该切换到此节点。 以下图中的场景为例,当用户有中文翻译需求时,父节点 `分发翻译任务` 会根据 `翻译为中文` 节点中 **适用场景** 的描述,将中文翻译任务交给 `翻译为中文` 节点进行处理。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/606961db2a9349dfad396f9b6691107f~tplv-goo7wpa0wc-image.image) * **Agent 提示词**:提供当前 Agent 的运行逻辑与处理问题的步骤。 * **技能**:单击添加按钮(**+**)添加 Agent 所需使用的工具、工作流或知识库。 * **用户问题建议**:该功能默认为启用状态。启用后,智能体在响应用户查询后会根据该提示自动生成 3 个问题。选择**用户自定义 Prompt** 复选框可输入提示词。如果你想禁用这个功能,可将开关设置为**关闭**。 #### 智能体节点 支持将已发布的、可以执行特定任务的单 Agent 智能体添加为节点。 一个智能体节点包含以下配置: * 单击**设置**图标(三个点)更改 Agent 设置: * 单击**创建副本**,创建另一个具有相同配置的智能体。 * 单击智能体**详情**,查看和更新智能体配置。 * **适用场景**:说明此节点的功能和适用场景,用于帮助前序节点判断在何种情况下应该切换到此节点。 * **用户问题建议**:该功能默认为**跟随原始智能体**状态。你也可以自行选择开启或关闭。 * 开启后,智能体在响应用户查询后会根据该提示自动生成 3 个问题。选择**用户自定义 Prompt** 复选框可输入提示词。 * 如果你想禁用这个功能,可将开关设置为**关闭**。 #### 全局跳转条件 适用于所有 Agent 的全局条件。只要用户输入满足该节点的条件,则会立即跳转到 Agent。 * 全局跳转条件的优先级高于节点适用场景。 * 一个智能体中最多可以添加 5 个条件节点。 ### 步骤四:调试智能体 配置智能体后,你可以在**预览与调试**区域测试智能体,你还可以单击 Agent 的运行图标来调试特定节点。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/df85f38ee9d5452a91e60537c074026e~tplv-goo7wpa0wc-image.image) ## 多 Agent 模式示例 ### 智能体概述 以能够将用户输入内容翻译多语种的翻译智能体为例,该智能体包含 3 个独立负责翻译的 Agent。 ### 配置和测试智能体 1. 创建一个名为 `实时翻译` 的智能体。 2. 切换到多 Agent 模式并输入智能体的全局提示词。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/06e56e8f194044b981bd88edd6250f58~tplv-goo7wpa0wc-image.image) 3. 配置父 Agent 。 * **适用场景**:描述 Agent 的功能。例如,`将用户输入翻译为目标语言`。 * 其他配置项保持默认值即可。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/59a0dcf7942e4a81b22740fe37651703~tplv-goo7wpa0wc-image.image) 4. 将用于处理翻译任务的 Agent 节点,依次连接到父节点,并配置。 共计添加三个 Agent 节点,用于处理中文翻译任务、日语翻译任务和韩语翻译任务。以处理中文翻译任务的 Agent 为例,配置说明如下: * **Agent 名称**:点击 **…** 图标,然后单击重命名将 Agent 名称更改为 `翻译为中文`。 * **适用场景**:描述 Agent 的功能。例如: `将用户输入翻译为中文`。 * **Agent 提示词**:输入 Agent 需要执行的任务。 * 其他配置项保持默认值即可。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/404056c4f2af405c9fd718973020f4f4~tplv-goo7wpa0wc-image.image) 5. 复制两个 `翻译为中文` Agent,并更改 Agent 名称,包括 Agent 提示和适用场景。然后将这两个 Agent 连接到父节点。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/cb54da696da74a658b5cf2270a46fb80~tplv-goo7wpa0wc-image.image) 6. 在智能体的**预览与调试**区域,发起翻译任务以检查 Agent 能否正确处理该任务。 ![Image](https://p9-arcosite.byteimg.com/tos-cn-i-goo7wpa0wc/356199cc7e3649dc829b88ec748e6a3c~tplv-goo7wpa0wc-image.image) ### ## 常见问题 ### 切换 Agent 模式时会保留原有 Agent 的配置吗? 这取决于下表中描述的切换操作。 | **切换模式** | **效果** | | --- | --- | | 从单 Agent 模式到多 Agent 模式 | * 人设与回复逻辑、触发器、变量、数据库、开场白、快捷指令、背景图片和语音,这些全局配置会保留。
* 切换后,快捷指令默认不指定节点,即根据智能体用户的输入自动分配节点处理,你也可以为每个快捷指令指定对应的节点处理。
* 如果是第一次切换到多 Agent 模式,添加的工作流、插件工具和知识库将被保留,这些配置将被添加到默认创建的第一个 Agent 中。 | | 从多 Agent 模式到单 Agent 模式 | * 人设与回复逻辑、触发器、变量、数据库、开场白、背景图片和语音,这些全局配置会保留。
* 快捷指令、添加到每个 Agent 的工作流、插件工具和知识库将不会被保留。 | ### 工作流和多 Agent 模式有什么区别? * 工作流是一种以低代码方式开发插件的方法。你可以将各种节点添加到工作流中,并像为智能体添加插件一样,添加并使用工作流。 * 多 Agent 模式允许您通过将不同的人物设定分配给不同的 Agent 来扩展智能体的功能。用户与一个 Agent 交谈时,当用户输入的内容满足跳转条件时,对话将移交给另一个 Agent 进行处理。多 Agent 模式更适合处理复杂的任务。 ### 为什么多 multi-agent 模式的智能体无法选择公开配置? 在 multi-agent 模式下,如果节点中包含智能体节点,那么在将 multi-agent智能体发布到商店时无法选择公开配置。