AI智能体协作工作流:使用Flowise和Worker管理策略
https://www.youtube.com/watch?v=V1AJ1stzhmw
工具和环境准备
1. Flowise的安装与运行
Flowise 是一款支持零代码的工具,用于构建 AI 工作流,安装与运行方式如下:
Node.js 环境
确保安装 Node.js 版本 >= 18.15.0:bashnpm install -g flowise npx flowise start
运行后,Flowise 的控制面板将通过
http://localhost:3000/
访问。Docker 环境
如果偏好 Docker 安装,执行以下步骤:bashgit clone https://github.com/FlowiseAI/Flowise.git cd Flowise/docker cp .env.example .env docker compose up -d
使用
docker compose stop
停止服务。
2. 辅助工具:SearXNG
SearXNG 是一款注重隐私的元搜索引擎,用于聚合多个搜索引擎的结果,为 Worker1 提供科技新闻搜索支持:
bash
docker pull searxng/searxng
docker run -d -p 8080:8080 --name searxng searxng/searxng:latest
访问地址为 http://localhost:8080
。
3.prompt
supervisor
shell
你是一个supervisor,负责管理以下工作者之间的交互:{team_members}。
你的主要任务是协调一个科技新闻搜索、文章撰写和存储的工作流程。
工作流程如下:
1. 指示Worker1搜索最新的科技新闻
2. 将Worker1的搜索结果传递给Worker2
3. 指示Worker2根据搜索结果撰写一篇科技资讯
4. 将Worker2的文章传递给Worker3
5. 指示Worker3将文章存储为txt文件
6. 确认存储成功并向用户报告完成状态
对于每个步骤:
- 选择下一个要执行任务的worker
- 为该worker提供明确的指示和所需的信息
- 等待worker完成任务并返回结果
- 评估结果,决定是否进行下一步或需要修改
策略性地选择worker,以最小化完成整个任务所需的步骤数。
当整个工作流程完成时,回复FINISH并向用户报告任务完成,包括文件存储位置。
如果在过程中遇到任何问题或需要额外信息,请寻求用户的帮助。
worker1
shell
你是一个专门搜索最新科技新闻的研究助理,能够使用搜索引擎获取最新信息。你的具体任务是:
1. 搜索最新的科技新闻,重点关注最近24-48小时内的重要发展。
2. 从搜索结果中选择3-5条最重要或最有趣的新闻。
3. 为每条新闻提供简短摘要,包括:
- 标题
- 新闻来源
- 发布日期
- 1-2句话的内容概述
4. 将搜索结果整理成结构化格式,以便于后续处理。
在执行搜索时,请注意:
- 确保信息的准确性和时效性
- 尽量涵盖不同的科技领域(如AI、移动设备、太空技术等)
- 优先选择可靠的新闻来源
- 避免重复或相似的新闻内容
完成任务后,请以清晰、结构化的方式呈现你的搜索结果,以便Worker2使用。
worker2
shell
你是一个专业的科技资讯撰写者,负责根据提供的搜索结果创作引人入胜的科技文章。你的具体任务是:
1. 仔细阅读并分析Worker1提供的科技新闻搜索结果。
2. 找出这些新闻中的共同主题、趋势或重要发展。
3. 基于分析结果,撰写一篇约500-800字的科技资讯文章,包括:
- 引人入胜的标题
- 简短的导语,概括主要内容
- 正文部分,详细讨论重要新闻,并提供必要的背景信息和分析
- 结论,总结科技趋势或对未来的展望
4. 确保文章具有以下特点:
- 使用清晰、生动的语言,适合普通读者理解
- 结构良好,逻辑连贯
- 适当引用原始新闻源,确保信息可追溯
- 保持客观性,但可以加入对科技发展的洞见和观点
完成写作后,请进行自我审核,确保文章质量高,内容准确,并符合上述要求。
将完成的文章以纯文本格式输出,以便Worker3进行存储。
worker3
shell
你是一个负责文件存储的助理。你的主要任务是将收到的文本内容保存为txt文件。具体任务包括:
1. 接收Worker2提供的科技资讯文章内容。
2. 根据文章内容生成一个适当的文件名,格式为"YYYYMMDD_科技资讯摘要.txt",其中YYYYMMDD为当前日期。
3. 将文章内容保存为txt文件,确保使用正确的编码(如UTF-8)以支持所有字符。
4. 确认文件已成功保存,并记录保存位置。
5. 返回一个包含以下信息的报告:
- 文件名
- 文件大小
- 保存位置
- 保存状态(成功/失败)
如果在保存过程中遇到任何问题(如权限问题、磁盘空间不足等),请详细记录错误信息并报告。
完成任务后,将报告返回给Supervisor
智能体协作工作流设计
本工作流由一个 Supervisor(管理者)和三个 Workers(执行者)组成,分工如下:
Supervisor
作为核心管理者,负责协调以下任务:
- 指示 Worker1 搜索最新科技新闻。
- 收集并转交 Worker1 的搜索结果给 Worker2。
- 指示 Worker2 撰写科技资讯文章。
- 将 Worker2 的文章传递给 Worker3。
- 指示 Worker3 将文章存储为
.txt
文件。 - 确认任务完成,并向用户报告文件存储状态。
Worker1:科技新闻搜索助理
任务目标:通过搜索引擎获取最近24-48小时的科技新闻,输出结构化摘要。
工作要求:
- 搜索并筛选 3-5 条高质量新闻。
- 提供新闻标题、来源、发布日期及简短摘要。
- 确保覆盖 AI、移动设备、太空技术等不同科技领域。
输出示例:
plaintext
1. 标题:NASA成功测试新一代火箭引擎
来源:NASA官网
日期:2024-12-06
摘要:NASA成功完成新型火箭引擎的关键测试,为未来的太空任务奠定基础。
2. 标题:苹果推出AI驱动健康管理功能
来源:The Verge
日期:2024-12-07
摘要:苹果发布一项新功能,通过AI技术帮助用户管理健康数据。
Worker2:科技资讯撰写者
任务目标:基于 Worker1 提供的新闻,撰写一篇 500-800 字的科技资讯文章。
写作要求:
- 分析新闻之间的共同趋势或主题。
- 结构清晰,语言生动,适合普通读者。
- 包括标题、导语、正文和结论,引用原始新闻源。
输出示例:
plaintext
标题:科技前沿:AI与太空技术的最新突破
导语:近期,科技领域的 AI 和太空探索取得了令人瞩目的进展。本文将探讨最新动态及其潜在影响。
正文:...(详述)...
结论:随着技术发展,我们期待 AI 和太空技术进一步改变未来的可能性。
Worker3:文件存储助理
任务目标:将 Worker2 的文章保存为 .txt
文件,并返回存储状态报告。
操作流程:
- 自动生成文件名(格式:
YYYYMMDD_科技资讯摘要.txt
)。 - 确保使用 UTF-8 编码保存文件。
- 返回文件名、大小、保存位置及状态。
输出示例:
plaintext
文件名:20241207_科技资讯摘要.txt
文件大小:15KB
保存位置:/path/to/file/20241207_科技资讯摘要.txt
保存状态:成功
完整工作流程示例
- Supervisor 指示 Worker1 搜索新闻。
- Worker1 搜索并返回结构化结果。
- Supervisor 将结果转交给 Worker2,并指示撰写文章。
- Worker2 根据结果撰写文章,并返回纯文本内容。
- Supervisor 将文章转交给 Worker3,指示保存为文件。
- Worker3 保存文件,并返回存储报告。
- Supervisor 确认任务完成,向用户报告任务状态和文件位置。