惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

J
Java Code Geeks
G
Google Developers Blog
人人都是产品经理
人人都是产品经理
U
Unit 42
爱范儿
爱范儿
Hugging Face - Blog
Hugging Face - Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
WordPress大学
WordPress大学
B
Blog RSS Feed
The Cloudflare Blog
D
Docker
A
About on SuperTechFans
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Y
Y Combinator Blog
月光博客
月光博客
云风的 BLOG
云风的 BLOG
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
The GitHub Blog
The GitHub Blog
博客园_首页
Stack Overflow Blog
Stack Overflow Blog

博客园 - 沐子馨

花几天把 DeepSeek Harness 跑了个遍,跟你说说值不值得装 Loop 不够用了?AI 工程下一站叫 Graph Agent 审代码总塞满上下文,怎么解? 什么是Agent? Agent Loop:从对话式 AI 到自主智能体的范式跃迁 解锁图数据建模的奥秘 基于 Neo4j 与 Milvus 的图RAG系统搭建指南 解决复杂推理难题:KG-RAG 在大模型中的应用 RAG 评估常用工具简介 RAG系统效果不好?一文看懂如何进行系统评估 写出让 AI “秒懂”的技能Skill 深入理解 RAG 中的格式化生成与函数调用 解锁 RAG 系统中的高级检索与重排序策略 掌握查询重构与智能路由的艺术 告别黑盒:手把手实现一个可解释、可调试的 Text2SQL 代理系统 告别简单向量搜索:RAG 中的高级查询构建与优化策略 深入理解 RAG 中的混合搜索策略 告别基础检索:掌握 RAG 中的句子窗口与递归路由策略 构建多模态检索系统:Milvus 部署、Schema 设计与混合检索实践 向量数据库原理与实战:从核心机制到 FAISS 应用 多模态向量嵌入:从文本到图像的语义统一与 RAG 应用 构建高效 RAG 的基石:深度解析 Embedding 模型原理与优化 All-in-RAG:解锁大模型“开卷考试”的终极能力 AI Agent 是如何思考的?一文读懂推理与决策引擎 终端革命:AI Agent 正在重新定义命令行 给企业装上“AI 大脑”:AgentSpace 如何从“手动检索”跨越到“智能决策”? Agentic 框架快速概览 AI 智能体交互如何带领它走出对话框,从屏幕像素迈向真实物理世界 高级提示词技巧如何带领大模型走出“一本正经胡说八道”的误区? 当 AI 学会“开疆拓土”:探索与发现模式如何从源头打破静态知识的桎梏,在陌生领域催生新洞见?
一文讲透 Multi-Agent 四大协作模式:Workflow、Supervisor、...
沐子馨 · 2026-09-09 · via 博客园 - 沐子馨

一、它不是不会做,而是什么都在做

很多团队第一次做 Agent,往往都从一个看似合理的念头开始:先把所有能力都塞进同一个 Agent 里,能搜资料、会写代码、懂业务、能调用工具,最好还能自己把事情闭环。刚开始确实很惊艳,几句指令就能跑出结果;可当任务真正进入业务现场,问题也会慢慢浮出来——它不是不会做,而是什么都在做;不是能力不够,而是所有事情都挤在同一个“大脑”里。于是,一个值得认真讨论的问题出现了:当 Agent 已经越来越强,我们为什么还要把它们拆开,组成一支团队

1. 从一个 Agent,到一支 Agent 团队·FROM SOLO TO TEAM

过去一年,“LLM + Tools + Agent Loop”这套组合基本上已经是行业共识了——一个 Agent 配上合适的工具,能把很多任务从头做到尾,不需要人在中间插手。但问题是,任务一旦复杂起来,这个“一个人打天下”的 Agent 就开始吃不消了。它要负责调研、要负责分析、要写代码、要跑测试、还要输出最终的文案。角色一多,麻烦就跟着来了。

这时候真正值得琢磨的问题,已经不是“模型够不够聪明”了,而是“一个 Agent 到底该不该同时干这么多事”

单 Agent 撑不住的三个地方:

第一个瓶颈是工具太多。工具一多,模型在调用哪个工具这件事上就开始犹豫,选择空间变大了,判断反而变差了。更麻烦的是,一堆工具描述堆在上下文里,真正有用的信息占比越来越低

第二个瓶颈是上下文越来越乱。不同子任务的信息会互相污染——比如测试阶段抛出来的报错信息,莫名其妙就混进了文案撰写的上下文里,模型看着这些不相关的信息,输出质量自然跟着下滑。

第三个瓶颈是一份提示词要伺候好几种角色。不同角色的行为准则本来就是矛盾的——“要发散、要有创意”和“要严谨、要反复核查”,这两条要求硬塞进同一份系统提示词,基本没法共存,模型只能在两边反复横跳,哪头都做不好。

Multi-Agent 换来的三样东西:

把一个 Agent 拆成几个,能拿到的好处也很实在。

多个子任务可以并行跑,不用排队等一个 Agent 一件件处理完;每个 Agent 只带自己需要的那部分信息,不会出现“上下文串味”的情况;每个 Agent 还可以配上专门为它定制的提示词、工具集,甚至换一个更适合的模型。

但代价也不小:

这里必须把话说重一点,因为这正是很多团队一头扎进 Multi-Agent 之后才后悔的地方。

多个 Agent 意味着多份上下文、多轮调用,Token 成本直接上去了。谁来决定下一步该谁做,这是个调度问题,本身就要花代价去设计。Agent 之间怎么传递信息才不失真,是个通信问题。出了 bug 之后,要定位是哪个 Agent、哪一步出的错,比单 Agent 难得多——单 Agent 出错你顶多是“复盘一条链路”,Multi-Agent 出错你得先搞清楚是谁的锅。工程实现、监控、重试逻辑,复杂度也是全面往上走的。

所以有必要把这句话说清楚:

Multi-Agent 不是单 Agent 的“升级版”,而是一种新的系统架构。

它不是给 Agent 加了个 buff,而是换了一套完全不同的组织方式,伴随而来的是完全不同的成本结构。这一点想不明白,很容易在项目还没跑起来之前就先把自己拖垮。

2. 真正要解决的问题:Agent 之间怎么协作?COLLABORATION QUESTIONS

不是“有几个 Agent”,而是三个问题:

很多人一上来就纠结“我要几个 Agent”,这其实问错了方向。Multi-Agent 系统真正的核心,是另外三个问题:

  1. 谁来决定下一步做什么?
  2. 谁负责把大任务拆成小任务?
  3. 控制权到底握在谁手里?

这三个问题想清楚了,“要几个 Agent”反而是最容易回答的那部分

一条自主性谱系

如果把不同的协作方式排成一条线,大致是这样的:

image

越往右走,系统的自主性越高——Agent 能自己做的判断越多,人为写死的规则越少。但代价也很直接:不确定性和工程复杂度是跟着自主性一起涨的

这里有个容易想岔的地方:这条线不是“越靠右边越先进”的排行榜。选型的本质,是拿“自主性”去换“可控性”——你换来的自主性越多,愿意为不确定性买的单也就越多。谱系右边不代表更高级,只代表更贵、更难兜底。

生产系统很少是一种纯粹的模式

真实项目里,几乎不会有人把系统做成纯粹的某一种。混合形态才是常态:Workflow 套 Supervisor,Supervisor 套 Swarm,Hierarchical 里面又嵌了一层 Workflow。

举个例子,一套在线客服系统,整体走的可能是Swarm 式的接力——用户问题在不同 Agent 之间流转,谁合适谁接手。但一旦进入退款流程,内部处理的每一步其实是被写死的固定 Workflow,不会有人让“退款该走哪一步”这种事交给 Agent 自己判断。

所以真正重要的,是理解这几种模式各自的逻辑,而不是给系统贴一个标签说“我们做的是 Supervisor 架构”。标签解决不了任何工程问题。

3. 四种主流 Multi-Agent 协作模式·FOUR PATTERNS

接下来把这四种模式挨个拆开讲。每一种都按同样的节奏来:先说核心逻辑,再看案例,再说什么场景适合、什么时候是在硬凑,最后给几个关键词收个尾。

3.1 Workflow:像工厂流水线一样组织 Agent

核心逻辑很简单——流程由代码决定,Agent 只是流程里的一个执行节点,该干嘛干嘛,没有自主判断的空间。

image

典型场景是销售数据报表生成。每一步该做什么、做完之后交给谁,全部写死在代码里,Agent 只需要在自己那个节点里把活干好,不需要,也不应该有别的想法。

这套模式适合数据分析、报表、ETL 这类任务,也适合固定的审批流程和内容生产流水线——凡是路径本身不会变的场景,都很合适。

但有两个信号,说明你可能在硬凑 Workflow。第一,如果任务路径其实经常在变,却被你写死成了固定流程,那么每次业务一调整,你就得回去改代码,这套系统会变得越来越难维护。第二,如果流程中间某一步经常需要“临场判断”而不是照本宣科,说明这一步该换成 Supervisor,而不是继续硬着头皮写死。

关键词:确定性、可控、容易 Debug

3.2 Supervisor:一个主管管理多个专家

核心逻辑是,有一个中央 Agent 动态地派活,而不是走固定流程。

image

Supervisor 要干的事其实可以拆成五步:理解任务、拆解任务、选择合适的 Agent、把任务分配下去、最后把结果汇总起来。

典型场景是多轮研究编排。用户抛出一个开放式的问题,Supervisor 根据当前已经掌握的信息,动态决定下一步是该调用检索 Agent 去找资料,还是该调用分析 Agent 去处理已有的数据——这个决策没法提前写死,因为你不知道用户下一步想问什么。

这套模式适合深度研究、信息搜集、复杂分析,以及那些没法提前拆好步骤的动态任务。

!误用信号 🕳

误用信号也很明显。如果任务其实是固定几步走完的,却非要引入一个“主管”去动态决策,这就是白白多了一层调度开销和不确定性,得不偿失。另一个更隐蔽的问题是,Supervisor 本身如果承担了过多的判断逻辑,它就变成了事实上的单点瓶颈——一旦它判断错了,下游全部跟着错,而且很难在事后说清楚是哪个环节的问题。

关键词:动态规划 + 中央调度

3.3 Hierarchical:从“一个主管”变成“多层组织”

核心逻辑是,主管管理主管,形成一个真正的组织层级,而不是一个 Supervisor 直接管一堆 Agent。

image

一个比较典型的案例是多智能体软件交付:技术总监先制定接口规范,前端负责人和后端负责人各自带队并行推进,再往下拆解给具体的执行 Agent,测试环节如果发现问题,自动打回给对应的小组返工,最后集成上线。

这套模式适合规模比较大、需要多团队协作的复杂任务,也适合那些需要明确责任边界和分层汇报的场景。它还有一个额外的好处,就是“部分失败不影响全局”——某个小组的某个 Agent 出问题,不会直接把整个系统拖垮,因为层级本身就起到了隔离作用。

!误用信号 🕳

但要小心两个误用信号。一是任务规模其实不大,一个 Supervisor 就能管过来,你却硬是搭出了三层组织架构,结果沟通链路变长,反而拖慢了速度——这跟现实里的公司管理是一个道理,不是层级越多越高效。二是层级之间的接口定义得不清楚,导致“返工”这类信号在层级间传递的时候失真,上层收到的反馈跟下层实际发生的情况对不上。

关键词:组织层级 + 上下文隔离 + 责任边界

3.4 Swarm:没有中央主管,Agent 自主接力

核心逻辑跟前面三种都不一样:控制权在 Agent 之间流动,靠的是“交接”,而不是谁给谁派工。

image

比较典型的场景是在线客服中心。用户的问题会不断变化,当前接手的 Agent 根据对话内容自主判断,觉得自己搞不定或者不是自己的职责范围,就把控制权交给最合适的下一个 Agent,整个过程没有人在中间统一调度。

这套模式适合那些用户意图不断变化、没法提前规划路径的场景,也适合 Agent 之间本来就是平等协作关系、没有明显上下级的场景。

!误用信号 🕳

这里的误用信号尤其值得多说几句,因为它直接呼应“别急着上”这个基调。如果业务上其实需要审计每一步决策——比如涉及金钱、合规这类事情——却选择了控制权自由流转的 Swarm 模式,那出问题之后很难说清楚“是谁在什么时候做了什么决定”,这在很多行业里是不能接受的。另一个常见的坑是交接逻辑设计得不清楚,容易出现“来回踢皮球”的情况,Agent A 把问题交给 B,B 觉得不是自己的事又交回 A,用户在中间被反复转来转去。

这里还得澄清一个容易搞混的地方:Swarm 这个词其实有两层意思。一层是 OpenAI 早期开源的那个叫 Swarm 的实验性工具库,是一个具体的项目名字;另一层是本文讨论的“Swarm 作为一种协作模式”这个抽象概念。这两者不是一回事,别把工具名和模式概念混为一谈。

关键词:Handoff + 动态控制权

四种模式对比一览

image

4. 框架速查:别只盯着一个框架·FRAMEWORK INDEX

这一部分不打算把每个框架都展开讲,更像是一份参考索引,方便你选型的时候有个大致的判断依据。

一张能力矩阵

image

!数据时效提醒 🕳

需要提醒一句:表里具体的星数、版本、下载量这类信息会随时间变化,真要拿去做选型决策,建议动手前再核实一遍最新情况,别把某个时间点的旧数据当成现在的情况直接用。

AutoGen:一个重要的历史参照系

AutoGen 在 GitHub 上的星标数量一直很高,但星标高不代表它今天仍然是新项目的首选。看框架选型不能只看历史关注度,还得看当前的实际使用量、维护是不是活跃、官方接下来打算往哪个方向发展——这几件事合在一起才是完整的判断依据。

AgentScope:一次讲透

在众多框架里,AgentScope 值得多花点篇幅,不是因为它“又是一个 Agent Framework”,而是因为它把 Multi-Agent 协作本身当成一等公民来设计,而不是在单 Agent 框架上打了个补丁。

先看它怎么实现前面说的四种模式:

image

再往下深挖一层,看看它为什么能做到这一点——这大概是本文除了四种协作模式之外,最有方法论价值的一段

AgentScope 能同时覆盖四种模式,本质上是因为它把 Multi-Agent 拆成了三层清清楚楚的抽象

image

最底层是 Agent 本身,每个 Agent 有自己的角色定位、上下文和工具集,以及明确的能力边界。中间一层是消息机制,Agent 之间靠结构化的消息来传递信息——谁发给谁、内容是什么、要完成什么任务、结果是什么,都是结构化的,不是含糊的自然语言堆在一起。最上面才是协作模式,Workflow、Supervisor、Hierarchical、Swarm 这些形态,是在消息机制这个基础之上叠加出来的,而不是各自独立实现的四套逻辑。

这里有句话值得划重点:

Multi-Agent 的本质不是“多模型”,而是“多个 Agent 之间如何组织消息与协作”

所以比较框架的时候,不要只看它的 API 长什么样、写起来顺不顺手,更应该看它对不同协作模式的抽象方式是不是清晰——这才是决定你系统未来好不好扩展、好不好维护的地方。

5. 框架只是工具,真正决定架构的是通信机制·COMMUNICATION MECHANISM

不管上层套的是哪种协作模式,底层的通信机制基本上逃不出两种

共享状态(Shared Memory)

image

关键词是 State、Blackboard、上下文共享、状态读写。这种方式适合的场景是,多个 Agent 需要“看到同一份进展”,而不是互相传话——大家都盯着同一块白板,谁需要什么信息就自己去读,不需要专门有人告诉它。

消息传递(Message Passing)

image

这里面还能再拆成两种子形态。一种是调用—返回,类似 Supervisor 派活给 Worker,Worker 干完把结果交回来,控制权用完就回到发起方手里;另一种是控制权接力,Agent A 把控制权彻底转交给 Agent B,交完就不再回来了,这正是 Swarm 里 handoff 的底层实现。

这两种通信范式,分别对应前面说的 Workflow/Supervisor(偏共享状态,或者是调用—返回)和 Swarm(偏控制权接力)的底层实现方式。说到底,通信机制才是决定协作模式能不能真正落地的东西——你选了 Swarm 这个模式,但底层通信如果还是“调用—返回”那一套,控制权压根转不出去,模式就是纸面上的

6. 当 Agent 跨出应用边界:A2A·AGENT TO AGENT

前面解决的都是一个系统内部 Agent 之间怎么协作的问题。但如果协作发生在不同系统、不同组织之间——比如企业自己的销售 Agent 要对接外部的物流 Agent、支付 Agent——前面说的这几种模式就不够用了。这就是A2A(Agent-to-Agent)协议要解决的问题。

image

这里面涉及几个核心概念:Agent Card、Task、Message、Artifact、Progress。具体怎么落地,值得单独写一篇来拆解,这里先把这个概念埋下,感兴趣的话可以留意后续内容。

7. 到底什么时候应该上 Multi-Agent?·DECISION TREE

一棵决策树

把前面所有的判断标准串起来,大致是这样一条路径:

image

这条路径的意思很直白:能用一次调用解决的,别上 Agent;能用固定流程解决的,别上动态调度;能用一个 Supervisor 管住的,别搭三层组织。每往下走一步,都是因为上一步真的解决不了问题,而不是因为“这个架构听起来更高级”。

别忘了留一个人工介入点

哪怕系统最终走到了 Hierarchical 或者 Swarm 这种自主性很高的模式,也建议至少保留一个人工介入的口子——比如在关键决策前设一个确认环节,或者给异常情况留一个人工兑底的通道。

道理很简单:系统的自主性越高,越需要在工程上为“万一它判断错了”这件事留后路,而不是完全相信系统会自己收敛到正确的结果。自主性带来的效率提升是真的,但把兑底这件事也一起省掉,风险就是真的

不要从“我要不要做 Multi-Agent”开始设计系统,应该从“这个任务的控制权应该如何流动”开始设计