乐于分享
好东西不私藏

OpenClaw 多智能体协作:从 CEO 到 Worker 的完整编排

OpenClaw 多智能体协作:从 CEO 到 Worker 的完整编排

OpenClaw 不仅支持单个智能体工作,还提供了完整的多智能体协作机制。从多智能体路由到子智能体派生,再到 Orchestrator 编排模式,本文带你搞懂 OpenClaw 如何实现"一个 CEO + 多个 Worker"的团队协作。

一、三种多智能体协作机制

OpenClaw 提供了三种不同层次的多智能体协作机制,分别适用于不同的场景:

机制
定位
适用场景
多智能体路由(Multi-Agent Routing)
平行隔离的多个独立智能体
多人/多账号/多人格隔离
子智能体(Sub-Agents)
父子关系的动态派生
并行子任务、研究、长任务
ACP 协议
编排外部 AI CLI 工具
集成 Codex、Claude Code 等

一句话理解: 多智能体路由是"多个独立的人",子智能体是"一个人派生多个助手",ACP 是"调用外部工具"。

二、多智能体路由:完全隔离的平行世界

核心概念

在单个 Gateway 进程中运行多个完全隔离的 Agent,每个 Agent 拥有独立的:

隔离项
说明
工作区(workspace)
独立的文件系统目录
会话历史(sessions)
各自的聊天记录和状态
认证配置(auth-profiles)
独立的账号和权限
模型配置
可以使用不同的 AI 模型

配置示例

通过 bindings 将不同渠道/账号/联系人路由到不同 Agent:

{  agents: {    list: [      {         id: "home"        default: true,        workspace: "~/.openclaw/workspace-home"       },      {         id: "work"        workspace: "~/.openclaw/workspace-work"       },    ],  },  bindings: [    {       agentId: "home"      match: {         channel: "whatsapp"        accountId: "personal"       }     },    {       agentId: "work"      match: {         channel: "whatsapp"        accountId: "biz"       }     },  ],}

典型场景

场景
说明
多人共享服务器
每个人有自己的 Agent,数据完全隔离
多账号管理
个人账号和工作账号使用不同的 Agent
多人格切换
不同的 Agent 有不同的性格和行为模式

类比: 就像一台服务器上运行多个虚拟机,每个虚拟机都是独立的操作系统。

三、子智能体:动态派生的并行助手

核心概念

主 Agent 可以通过 sessions_spawn 工具在后台并行派生子 Agent 执行任务,子 Agent 完成后将结果 announce 回父 Agent。

关键特性

特性
说明
非阻塞派生
主 Agent 派生子 Agent 后立即返回,不等待完成
并行执行
多个子 Agent 可以同时工作
结果回传
子 Agent 通过 announce 机制推送结果,父 Agent 无需轮询
默认隔离
子 Agent 默认没有 session 工具,不能再派生子 Agent

默认限制

{  agents: {    defaults: {      subagents: {        maxSpawnDepth1,        // 最大嵌套深度(默认 1 层)        maxChildrenPerAgent5,  // 每个 Agent 最多 5 个子 Agent        maxConcurrent8,        // 全局并发上限 8 个        runTimeoutSeconds900,  // 默认超时 15 分钟      },    },  },}

工作流程

用户发送消息
      ↓
主 Agent 接收任务
      ↓
调用 sessions_spawn 派生子 Agent A、B、C
      ↓
子 Agent 并行执行任务
      ↓
子 Agent 完成后 announce 结果回主 Agent
      ↓
主 Agent 汇总结果后回复用户

典型场景

场景
说明
并行研究
同时搜索多个主题,汇总结果
长任务处理
派生子 Agent 处理耗时任务,主 Agent 继续响应用户
多步骤工作流
将复杂任务拆解为多个子任务并行执行

类比: 就像一个项目经理(主 Agent)给多个员工(子 Agent)分配任务,员工完成后汇报结果。

四、Orchestrator 模式:CEO + Worker 的两层编排

整体结构

用户


主 Agent(CEO / Depth 0)
│  收到任务后,调用 sessions_spawn 派生子 Agent
├──▶ 子 Agent A(Worker / Depth 1)── 完成后 announce 回 CEO
├──▶ 子 Agent B(Worker / Depth 1)── 完成后 announce 回 CEO
└──▶ 子 Agent C(Worker / Depth 1)── 完成后 announce 回 CEO
     │
     │(若启用 maxSpawnDepth: 2)
     ├──▶ 孙 Agent(Leaf Worker / Depth 2)
     └──▶ 孙 Agent(Leaf Worker / Depth 2)

三层角色定义

层级
Session Key 格式
角色
能否派生子 Agent
Depth 0agent:<id>:main
主 Agent(CEO)
始终可以
Depth 1agent:<id>:subagent:<uuid>
子 Agent(Worker/Orchestrator)
仅当 maxSpawnDepth ≥ 2
Depth 2agent:<id>:subagent:<uuid>:subagent:<uuid>
孙 Agent(Leaf Worker)
永远不能

CEO(主 Agent,Depth 0)

特性
说明
Session Keyagent:<id>:main
职责
接收用户消息,拆解任务,派生 Worker
工具权限
拥有所有工具,包括 sessions_spawn
结果处理
等待各 Worker 的 announce 回调,汇总结果后回复用户

Worker(子 Agent,Depth 1)

特性
说明
Session Keyagent:<id>:subagent:<uuid>
职责
执行具体任务
工具权限
默认没有 session 工具(不能再派生子 Agent)
结果回传
通过 announce 机制将结果推送回 CEO

启用 Orchestrator 模式(两层嵌套)

若 Worker 本身还需要再派生孙 Agent(Depth 2 Leaf Worker),需要配置:

{  agents: {    defaults: {      subagents: {        maxSpawnDepth: 2,        // 允许 Worker 再派生子 Agent        maxChildrenPerAgent: 5,  // 每个 session 最多 5 个活跃子 Agent        maxConcurrent: 8,        // 全局并发上限      },    },  },}

此时 Depth 1 的 Worker 会额外获得以下工具:

工具
说明
sessions_spawn
派生子 Agent
sessions_list
列出子 Agent
sessions_history
查看子 Agent 历史

类比: CEO 派生部门经理(Depth 1 Orchestrator),部门经理再派生员工(Depth 2 Leaf Worker)。

结果如何流回用户

Depth-2 Worker 完成 → announce → Depth-1 Orchestrator
      ↓
Depth-1 Orchestrator 汇总 → announce → 主 Agent (CEO)
      ↓
主 Agent 重写为正常回复语气 → 发给用户

关键规则: 每一层只能看到直接子 Agent 的 announce,不会跨层透传原始内部元数据。

五、关键限制与配置

嵌套深度限制

限制项
默认值
可配置范围
说明
最大嵌套深度
1
1–5
推荐使用 2 层(Orchestrator 模式)
每 Session 最多子 Agent
5
1–20
防止单个 Agent 派生过多子 Agent
全局并发上限
8
可调
防止资源耗尽
Depth 2 能否再派生
不能
永远不能
硬性限制,防止无限嵌套

工具权限策略

Depth
角色
工具权限
0
主 Agent
所有工具
1(maxSpawnDepth = 1)
Leaf Worker
无 session 工具
1(maxSpawnDepth ≥ 2)
Orchestrator
sessions_spawn
sessions_listsessions_history
2
Leaf Worker
无 session 工具,永远不能派生

成本考虑

重要提示: 每个子 Agent 都有自己的上下文和 token 消耗

优化建议:

{  agents: {    defaults: {      model: "gpt-4",  // 主 Agent 使用高质量模型      subagents: {        model: "gpt-3.5-turbo",  // 子 Agent 使用便宜模型      },    },  },}

类比: 就像公司里,CEO 的时薪很高,但普通员工的时薪较低,合理分配资源。

六、跨 Agent 记忆共享

默认隔离

Agent 之间默认完全隔离,无法访问彼此的会话记录。

配置记忆共享

可以通过 memorySearch.qmd.extraCollections 配置让一个 Agent 搜索另一个 Agent 的会话记录:

{  agents: {    defaults: {      workspace: "~/workspaces/main",      memorySearch: {        qmd: {          extraCollections: [            {               path"~/agents/family/sessions"              name: "family-sessions"             },          ],        },      },    },    list: [      {        id: "main",        workspace: "~/workspaces/main",        memorySearch: {          qmd: {            extraCollections: [              { path"notes" },  // 解析为 workspace 内的路径            ],          },        },      },      {         id: "family"        workspace: "~/workspaces/family"       },    ],  },  memory: {    backend: "qmd",    qmd: { includeDefaultMemory: false },  },}

使用场景

场景
说明
团队协作
工作 Agent 可以搜索个人 Agent 的历史记录
知识共享
多个 Agent 共享同一个知识库
上下文继承
新 Agent 可以访问旧 Agent 的会话历史

类比: 就像公司里的共享文档库,不同部门可以访问彼此的文档。

七、多智能体路由 vs 子智能体

维度
多智能体路由
子智能体(CEO+Worker)
关系
平行隔离(静态配置)
父子(动态派生)
触发方式
用户消息通过 bindings 路由
主 Agent 调用 sessions_spawn
工作区
各自独立 workspace
共享主 Agent 的 agentId
会话历史
完全隔离
子 Agent 可以 announce 回父 Agent
认证配置
各自独立
共享主 Agent 的认证
模型配置
可以不同
可以不同(推荐子 Agent 用便宜模型)
适用场景
多人/多账号/多人格隔离
并行子任务、研究、长任务

选择建议

需要完全隔离的多个独立智能体
      ↓
多智能体路由

需要一个主智能体派生多个助手并行工作
      ↓
子智能体(Sub-Agents)

八、官方定位与最佳实践

官方建议

官方 FAQ 明确说明:

"一个 CEO + 多个 Worker Agent"的团队模式是有趣的实验,但消耗 token 较多,对于大多数场景,推荐使用单 Bot + 多 session 并行工作,必要时再派生子 Agent。"

最佳实践

场景
推荐方案
简单任务
单 Agent,不派生子 Agent
并行任务
单 Agent + 多 session
复杂编排
单 Agent + 子 Agent(Depth 1)
极复杂编排
单 Agent + Orchestrator 模式(Depth 2)
多人使用
多智能体路由

成本优化建议

1. 优先使用单 Agent + 多 session
2. 必要时派生子 Agent,但限制数量
3. 子 Agent 使用便宜模型
4. 避免过深的嵌套(推荐最多 2 层)
5. 设置合理的超时时间

限制与注意事项

限制
说明
Announce 是尽力而为
Gateway 重启后,待处理的 announce 会丢失
共享进程资源
所有子 Agent 共享同一个 Gateway 进程
非阻塞派生sessions_spawn
 立即返回,不等待完成
上下文注入限制
子 Agent 只注入 AGENTS.md + TOOLS.md,不包含 SOUL.md 等
最大嵌套深度
硬性限制为 5 层,推荐 2 层

九、ACP 协议:编排外部 AI 工具

什么是 ACP?

ACP(Agent Control Protocol) 用于编排外部 AI CLI 工具(如 Codex、Claude Code),支持会话恢复、流式输出路由。

使用方式

通过 sessions_spawn 传入 runtime: "acp" 启用:

{  "runtime": "acp",  "command": "codex",  "args": ["--task", "implement feature X"]}

适用场景

场景
说明
集成外部工具
调用 Codex、Claude Code 等 CLI 工具
会话恢复
支持中断后恢复
流式输出
实时获取外部工具的输出

类比: 就像一个项目经理(主 Agent)外包任务给外部公司(外部 AI 工具)。

最后

一句话总结:

OpenClaw 提供了三种多智能体协作机制:多智能体路由用于完全隔离的平行世界,子智能体用于动态派生的并行助手,Orchestrator 模式实现"CEO + Worker"的两层编排。

核心机制对比:

机制
关系
触发方式
适用场景
多智能体路由
平行隔离
用户消息路由
多人/多账号/多人格
子智能体
父子派生
sessions_spawn
并行任务/研究/长任务
Orchestrator
两层嵌套
maxSpawnDepth: 2
复杂编排/CEO+Worker
ACP 协议
外部调用
runtime: "acp"
集成外部 AI 工具

配置建议:

{  agents: {    defaults: {      model"gpt-4",  // 主 Agent 用高质量模型      subagents: {        maxSpawnDepth2,        // 启用 Orchestrator 模式        maxChildrenPerAgent5,  // 限制子 Agent 数量        maxConcurrent8,        // 全局并发控制        model"gpt-3.5-turbo",  // 子 Agent 用便宜模型      },    },  },}

使用原则:

简单任务 → 单 Agent
并行任务 → 单 Agent + 多 session
复杂编排 → 子 Agent(Depth 1)
极复杂编排 → Orchestrator(Depth 2)
多人使用 → 多智能体路由

OpenClaw 的多智能体协作机制为复杂任务编排提供了强大的工具,但也要注意成本控制和合理使用。


觉得有帮助?欢迎点赞、在看、转发三连~