子代理与多智能体协作(Subagents/Swarm)
本教程共 26 篇 · 第 14 篇 · 更新于 2026-07-27 · 约 6 分钟阅读
14. 子代理与多智能体协作(Subagents/Swarm)
本节目标:分清”多智能体”和”子代理”两件事,知道什么时候该把活拆给多个 AI,以及它们大致怎么配合。
先分清两个概念
新手最容易混。这一章其实在讲两种不太一样的东西,名字都带”多个 AI”:
- 多智能体(Multi-agent):你一个网关里跑好几个”人格”不同的智能体,各管各的渠道和会话。
- 子代理(Subagents)/ Swarm:一个智能体在干一件复杂活时,临时派生出几个”小弟”并行去跑,跑完把结果交回来。
前者是”排兵布阵”,后者是”一把手下达分包”。下面分开讲。
多智能体:一个网关,多个分身
默认情况下,OpenClaw 只跑一个智能体,编号为 main。但你可以配置多个。
每个智能体都有自己的”地盘”:
- 独立的工作区文件(
AGENTS.md、SOUL.md、USER.md等)。 - 独立的身份目录
agentDir,放着认证信息和配置。 - 独立的会话存储,记录在
~/.openclaw/agents/<agentId>/agent/openclaw-agent.sqlite。
换句话说,每个智能体是一个完整的”人格边界”。它能有不同的性格设定、接不同的渠道账号、记住不同的事。
Note多智能体常用来”一家人/一个团队共用一个网关”。比如家里的助手叫
home,工作的叫work,互不打扰。
消息怎么分给谁
靠的是绑定(bindings)。你告诉网关:“这个渠道的这条消息,归哪个智能体处理。”
比如把个人 WhatsApp 号分给 home,把工作号分给 work。规则是确定性的,最具体的匹配优先。
{
agents: {
list: [
{ id: "home", name: "Home" },
{ id: "work", name: "Work" }
]
},
bindings: [
{ agentId: "home", match: { channel: "whatsapp", accountId: "personal" } },
{ agentId: "work", match: { channel: "whatsapp", accountId: "biz" } }
]
}
加一个新智能体也很简单:
openclaw agents add work
Tip不想折腾配置文件,用交互向导最省事:
openclaw agents add <名字>,向导会带你建工作区、绑渠道。
子代理:任务里临时派活
多智能体是”长期分身”。子代理则是”临时帮手”。
设想你要让 AI 读 20 篇文档各写摘要。让主智能体一份份串行读,很慢。更好的办法:派生出几个子代理,每人分几篇,并行处理,最后主智能体把结果汇总。
这种”派一拨小弟、各自跑、再汇合”的编排,在 OpenClaw 里叫 Swarm(集群)。
NoteSwarm 是较进阶的能力,默认关闭,需要在配置里显式开启(如
tools.swarm.enabled)。它面向”用代码模式写编排脚本”的场景,不是日常聊天里随便点的按钮。新手了解概念即可,不必急着开。
Swarm 的协作长什么样
它的核心思想很朴素:控制流就是编排本身。
- 父脚本派生 N 个子代理(reader),每人领一块活。
- 子代理各自独立跑,互不干扰,数量有上限保护。
- 父脚本等它们交卷(谁先完成先收谁),做汇总。
- 需要子代理之间对抗式校验时,也可以让一个去挑另一个的刺。
它刻意没有搞一套复杂的图形化流程语言,而是用普通的控制语句(if、while、并行等待)来表达编排。这样你写起来就像写普通程序。
Tip子代理跑任务时,默认走”非交互、出错即拒”的策略。需要人工审批的操作会被直接拒绝,并把拒绝原因写进结果,由父脚本决定怎么办。这避免了一拨子代理疯狂弹窗等你确认。
什么时候该拆给多个 Agent
不是越复杂越好。给你几条经验判断:
- 用多智能体:当不同人群/不同身份需要隔离的助手时。比如家人用和家庭助手、工作和私人助手分开。
- 用子代理/Swarm:当一件任务能自然切成互不依赖的若干小块,且并行能明显提速时。比如批量读文档、多路信息搜集后汇总。
- 都不用:大多数日常对话,一个智能体就够。别为了”看起来高级”而拆。
Warning拆得越碎,协调和排查越麻烦。子代理出错时,先确认是单个子代理的问题,还是父脚本的编排问题。
隔离与边界
无论是多智能体还是子代理,隔离都是底线。
- 多智能体之间默认不共享核心状态。要跨智能体搜记忆、共享知识库,需要显式配置。
- 子代理是普通的子会话,受同样的工具权限和审批策略约束。它们不能偷偷拿到父智能体没有的权限。
- 主网关(编排者)始终留在原处,子代理跑在哪台机器由调度决定。
Note如果你让多个智能体共享一个知识库(比如 Memory Wiki),可以在配置里把保险库范围设成
agent,让每个智能体各用各的编译后知识,互不串味。
小结
这一章的关键是分清两层:
- 多智能体 = 长期共存、各自独立人格,靠绑定把渠道消息分出去。
- 子代理/Swarm = 临时派生、并行干活、结果汇总,适合可切片的重活。
两者都建立在”网关统一调度”之上。下一章我们看更底层的东西:AI 到底能调用哪些内置工具。