AI Agent原理篇11:多 Agent 协作:编排、子 Agent 与交接

一个 Agent 不够用时,自然会想到用多个 Agent 分工合作。多 Agent 架构确实能解决一些单 Agent 解决不了的问题,但它也是最容易被滥用的模式。这一篇讲清楚它的价值和代价。

一、常见的多 Agent 模式

1. 主从模式(Orchestrator-Worker)

一个主 Agent 负责理解任务、拆分子任务、分派给子 Agent,再汇总结果。子 Agent 各自完成分到的部分,把结论返回给主 Agent。

主 Agent:调研三家竞品的定价策略
  ├─ 子 Agent A:调研竞品 1 → 返回定价摘要
  ├─ 子 Agent B:调研竞品 2 → 返回定价摘要
  └─ 子 Agent C:调研竞品 3 → 返回定价摘要
主 Agent:对比三份摘要,写出分析报告

这是最常用、也最实用的多 Agent 模式。

2. 流水线模式

每个 Agent 负责一个固定环节,前一个的输出是后一个的输入。比如:收集资料 → 撰写初稿 → 审核修改。本质上是一个工作流,每个环节用 Agent 实现。

3. 角色协作模式

多个 Agent 扮演不同角色,比如「产品经理」「工程师」「测试」,互相对话完成任务。看起来很热闹,但在实际生产中效果往往不如前两种稳定。

二、为什么要用子 Agent

1. 上下文隔离

这是最重要的理由。一个调研子任务可能要搜索十几次、读几十个网页,产生大量中间内容。如果都放在主 Agent 的上下文里,很快就会被塞满(第 07 篇讲过的问题)。交给子 Agent 后,这些中间内容留在子 Agent 自己的上下文里,主 Agent 只收到一段精简的结论。

2. 并行

互相独立的子任务可以同时执行,总耗时从各任务之和变成最长那个任务的耗时。上面调研三家竞品的例子,并行能快三倍左右。

3. 专门化

不同子 Agent 可以有不同的 System Prompt、不同的工具,甚至用不同的模型。比如简单的资料整理用更快更便宜的模型,关键的分析用更强的模型。

三、多 Agent 的代价

  • 成本成倍增加:每个子 Agent 都要独立建立上下文,重复加载 System Prompt 和工具定义,总 token 消耗可能是单 Agent 的数倍。
  • 交接信息丢失:子 Agent 看不到主 Agent 的完整上下文,它只知道你交给它的那段任务描述。描述不完整,它就会做错或做偏。
  • 协调复杂:子任务之间有依赖时,需要处理顺序、冲突、结果合并。
  • 调试困难:出了问题,需要追踪多个 Agent 的执行记录才能定位。

四、交接:多 Agent 成败的关键

主 Agent 给子 Agent 的任务描述,决定了子 Agent 能否做对。好的交接应该包含:

  • 目标:要完成什么,以及这个结果会被用来做什么。
  • 背景:子 Agent 需要知道的上下文,比如已经排除了哪些可能。
  • 范围:做什么、不做什么,避免越界或重复。
  • 输出格式:结果以什么形式返回,方便主 Agent 汇总。

对比:

差的交接 好的交接
调研竞品 1 的定价 调研竞品 1 的会员定价策略,用于和我们的方案对比。重点:各档位价格、包含的功能、近一年是否调价。不需要调研免费版。用表格返回各档位信息,最后用两三句话总结其定价思路。

五、什么时候用单 Agent 就够

多 Agent 不是升级版,而是一种有代价的工具。以下情况优先用单 Agent:

  • 任务步骤之间强依赖,后一步必须基于前一步的全部细节;
  • 任务规模不大,单个上下文装得下;
  • 对成本敏感;
  • 需要整体一致性,比如写一篇风格统一的文章。

判断标准:子任务能否独立完成,并且只需要返回一个简短的结论?如果能,适合拆给子 Agent;如果子任务需要频繁和主任务交换细节,就不要拆。

本篇小结

  • 常见模式:主从、流水线、角色协作,主从最实用。
  • 子 Agent 的价值:上下文隔离、并行、专门化。
  • 代价:成本增加、交接信息丢失、协调与调试复杂。
  • 交接要讲清目标、背景、范围、输出格式。
  • 子任务能独立完成且只需返回简短结论时,才适合拆分。

思考与练习

  • 什么情况下单 Agent 比多 Agent 更好?举两个具体例子。
  • 为「分析过去一周三个业务线的异常指标」设计一个主从结构,写出主 Agent 给子 Agent 的交接描述。

上一篇:AI Agent原理篇10:规划、反思与任务分解
下一篇:AI Agent原理篇12:MCP 协议原理
返回系列总目录

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇