声明:本篇博客是以吴恩达的【Agent智能体】教程为基础,并对其中的内容做了笔记整理以及个人收获的总结。

这一篇开始介绍多智能体开发,现在市面上也有很多"AI编排流"平台,它们本质上就是为了让"多智能体协作"变得可视化、流程化和易于构建
使用多智能体开发,可以为处理复杂问题提供另一种思路,将其拆解为子任务,并针对每个子任务进行开发
一些任务需要多个人

这些例子说明复杂任务本身就可以自然拆分成多个不同的子任务,由不同技能的人分别完成:
- 创建营销物料 (Create marketing assets)
- 研究员 (Researcher): 负责市场调研、受众分析和数据收集。
- 平面设计师 (Graphic Designer): 负责视觉排版、图像制作和整体设计。
- 文案 (Writer): 负责撰写吸引人的广告语或文本内容。
- 撰写研究文章 (Writing a research article)
- 研究员 (Researcher): 负责进行核心研究、文献查阅或实验。
- 统计学家 (Statistician): 负责处理、分析数据并确保数据模型的准确性。
- 主笔 (Lead writer): 负责起草和统筹文章的核心内容。
- 编辑 (Editor): 负责润色语言、校对格式并审核最终稿件。
- 准备法律案件 (Preparing a legal case)
- 助理律师 (Associate): 负责处理案件的法律核心工作、出庭准备和法律分析。
- 律师助理 (Paralegal): 协助整理案卷文件、检索法律条文等基础性辅助工作。
- 调查员 (Investigator): 负责搜集案件证据、寻找证人和查明客观事实。
例子:营销团队的角色分工与工具配置

- 研究员 (Researcher)
- 任务 (Tasks): 分析市场趋势 (Analyze market trends),研究竞争对手 (Research competitors)。
- 工具 (Tools): 网络搜索 (Web search)。主要用于从互联网获取最新资讯和数据。
- 平面设计师 (Graphic designer)
- 任务 (Tasks): 创建数据可视化 (Create data visualizations),创作视觉插图/艺术图 (Create artwork)。
- 工具 (Tools): 图像生成与处理工具 (Image generation, manipulation),以及用于生成图表的代码执行能力 (Code execution for chart generation)。这表明该角色可以利用代码(如 Python 的绘图库)或绘图模型来完成视觉资产的制作。
- 文案作者 (Writer)
- 任务 (Tasks): 将研究成果转化为报告文本和营销宣传文案 (Transform research into report text and marketing copy)。它负责将研究员收集到的生硬数据转化为引人入胜的文字。
- 工具 (Tools): 无 (None)。这意味着该角色的核心在于纯文本的语言组织和生成能力,不需要借助外部的搜索或执行工具。
通过明确每个角色的个人身份,擅长做什么,这样就可以构建不同的agent。
采用线性工作流的营销团队协作

创建好之后,演示了前面定义的三个角色(研究员、平面设计师、文案)如何像流水线一样,接力完成一个具体的项目。
核心项目任务:为太阳镜策划一场夏季营销活动(Create a summer marketing campaign for sunglasses)
- 第一步:研究员 (Researcher) 启动
- 接收初始任务指令。
- 输出: 提供基础研究数据(Research):"这是当前的太阳镜趋势和竞争对手的产品情况......"(Here are current sunglasses trends and competitor offerings...)。
- 流转: 将研究结果传递给下一个环节。
- 第二步:平面设计师 (Graphic Designer) 接力
- 接收研究员传来的数据,并基于这些数据进行创作。
- 输出: 整合了前人工作和自己成果的组合包,即"研究结果、可视化图表、艺术图"(research, visualizations, artworks)。图中示例为生成了"5个数据可视化图表和5个艺术图选项"(并配有饼图和太阳镜的缩略图示意)。
- 流转: 将所有的素材(文字研究+视觉素材)打包传递给最后一个人。
- 第三步:文案 (Writer)
- 动作: 接收前面所有研究数据和视觉设计图。
- 输出内容: 进行最终的内容整合与撰写,产出一份完整的"最终报告" (Final report)。
线性工作模式 其特点是单向传递、层层递进:上一个环节的输出直接作为下一个环节的输入。这种模式逻辑清晰,非常适合需要严格前置条件的任务
优势在于,每个agent可以专注于自己的某项任务。
例子:基于大语言模型(LLM)的多智能体规划(Planning with multiple agents)

除了线性流程,也可以让agent之间以更复杂的方式相互协作。这张图引入了一个"经理"(Manager)角色,由 LLM 扮演。它负责动态拆解任务并指挥团队。
-
任务输入与角色设定
- 用户请求 : 依然是"为太阳镜策划一场夏季营销活动"。
- 系统提示词 (System Prompt): 赋予 LLM 大脑一个身份。它被设定为"营销经理 (Marketing Manager)",并且系统告诉它:你手下有一个团队(包含了前文提到的研究员、设计师、文案),你需要根据用户的请求,输出一个循序渐进的执行计划 (step-by-step plan)。
-
LLM进行动态规划
-
核心位置的 LLM 接收到任务和团队信息后,自动生成了一份包含 4 个步骤的行动指南(Planning)
- 分配给研究员: 去调查当前的太阳镜流行趋势。
- 分配给平面设计师: 去创作广告图像。
- 分配给文案: 去撰写最终的营销报告。
- 经理自己: 审查最终报告。
-
-
任务的执行与上下文传递
- 第一步: 营销经理将"步骤1的指令 (Step 1 text)"发送给研究员 (researcher)。
- 第二步: 研究员完成工作后,其输出成果 (Step 1 output) 会与营销经理制定的"步骤2的指令 (Step 2 text)"打包在一起,共同发送给平面设计师 (graphic designer)。这就意味着设计师在作图时,是参考了最新的研究数据的。
- 第三步: 同理,设计师的输出成果 (Step 2 output) (也就是做好的图)会和"步骤3的指令 (Step 3 text)"打包,一起发送给最后的文案 (writer),让文案看着图和数据写最终报告。
这个工作流有一个有趣的视角,就像你有这三个agent,但是左侧的LLM就像是第四个agent,相当于市场经理的身份,负责分配任务给这三个agent。
总结
上面共讲解了两种沟通模式
- 线性:agent依次执行任务直到结束
- 协调:一个LLM协调其他几个agent
事实证明,构建多代理系统的时候,可能需要做出的关键设计决策之一是:你的不同agent之间采用什么样的沟通方式。
下一篇会讲解几种常见的沟通方式。
如果这篇文章对你有帮助,欢迎点赞、评论、关注、收藏。你们的支持是我前进的动力!