AI Agents多工作流协作是一种基于多个人工智能代理(AI Agents)的系统设计方法,旨在让多个代理通过不同的工作流(Workflow)相互配合,以分工协作的方式高效完成复杂任务。这种模式广泛应用于需要并行处理、多任务执行或动态调整的场景,是实现高度智能化应用的关键。
多工作流协作 概念
AI Agent 是一种能自主感知环境、决策和执行任务的智能体,通常通过自然语言处理、大数据分析等技术实现。每个Agent有自己的专长,例如客服、推荐、数据处理等。
工作流是一个任务的执行步骤和规则,定义了任务完成的流程,包括输入、处理逻辑和输出。例如,安排会议的工作流可能包括检查时间表、发送邀请和发送提醒。
多个AI Agent通过各自的工作流协作完成一个复杂任务。协作时,各Agent的工作流既可以独立完成特定任务,也可以共享信息、相互触发,从而实现更大的整体目标。
每个AI Agent专注于执行其特定的任务。例如,一个Agent负责语音识别,另一个Agent负责自然语言理解,第三个Agent负责执行用户的指令。
工作流可以并行运行(同时处理多个子任务)或串行运行(任务有严格的先后顺序),根据场景灵活适配。
一个工作流的输出可以触发其他工作流。例如,客户咨询触发客服Agent的对话流程,同时触发库存检查的工作流。
多个工作流间通过共享数据实现协作。例如,行程规划Agent将生成的日期和地点传递给酒店预订Agent。
多工作流协作可以轻松扩展,增加新的Agent和流程,不影响现有系统的运行。
多工作流协作的核心步骤
将一个复杂的任务拆解为多个子任务,例如用户咨询“安排一场旅行”可能拆解为以下子任务:
确定目的地和日期。
规划行程。
预订交通和住宿。
工作流分配
为每个子任务分配特定的AI Agent和对应的工作流。
例如:
大语言理解Agent解析用户意图。
行程规划Agent负责日程生成工作流。
预订Agent负责交通和酒店的工作流。
各Agent在各自的工作流中执行任务,并实时将结果反馈到主任务协调Agent。例如,预订完成后通知用户行程已生成。
动态调整
如果任务中途发生变化(例如用户修改目的地),主协调Agent会触发相关工作流重新执行。
最终输出
汇总所有子任务的结果,生成最终的解决方案并反馈给用户。
使用Flowise进行多工作流协作开发
01、Flowise 多工作流示意图
02、构建一个新闻自动撰写系统
1. 我们使用Flowise构建一个新闻自动撰写系统,首先我们在Flowise的agentflows中创建一个新的代理,命名为"新闻自动撰写系统",如下图:
2. 我们在界面上依次拖入一个Supervisor,和3个Worker,并将它们命名及连接起来,如下图:
3. 设置每个代理的提示词:
# Supervisor
你是一个Supervisor,负责管理以下工作者之间的交流:{team_members}。
以下是任务的流程:
1. 发送任务给worker1,让他搜索最新的新闻。
2. 等待worker1返回结果,并将最新的新闻内容传递给worker2。
3. 等待worker2将新闻编写成文章后,将文章内容传递给worker3。
4. 确保worker3成功保存文章后,通知任务完成。
始终以准确、协调的方式调度任务,避免遗漏任何步骤。
# worker1
你是一个新闻搜索引擎。你的任务是:
1. 根据接收到的请求,搜索最新的10条新闻。
2. 提取新闻标题、新闻内容摘要、和新闻核心点。
3. 将这些信息清晰地返回给调用者。
例如:
- 标题: [新闻标题]
- 摘要: [新闻摘要]
- 来源: [新闻链接]
- 核心点:[新闻核心点]
专注于时效性和准确性。
# worker2
你是一名专业的文章撰稿人。你的任务是:
1. 根据提供的新闻标题、摘要和内容来源,编写一篇完整且流畅的文章。
2. 确保文章逻辑清晰,语言简洁,避免冗长。
3. 格式要求:标题(单独一行),正文内容分段清晰。
4. 返回完整的文章内容给调用者。
# worker3
你是一个文件保存助手。你的任务是:
1. 接收完整的文章内容,包括标题和正文。
2. 根据标题为文件命名,确保文件名简洁且有意义(例如:使用标题的前几个词并去除特殊字符)。
3. 将文件保存为TXT格式到指定的电脑路径。
4. 返回保存的文件路径和成功状态给调用者。
例如:
- 文件路径: [保存路径]
- 状态: 保存成功
4. 设置Supervisor的Tool Calling Chat Model 和 Agent Memory,请根据自己实际情况,选择合适的大模型,如下图:
5. 为worker1选择合适的搜索工具,请根据自己的环境选择,如下图:
6. 为worker3选择合适的文件保存工具,如下图:
7. 最终整体配置如下图:
8. 配置完成后,我们点开右上角的对话框,输入关键词"大模型",如下图:
我们看到worker依次执行,完成了我们配置的任务。
9. 点击右上角的代码图标,我们就可以看到如何调用此系统的API,如下图: