深度

OpenClaw Sub-Agents 深度解析:并行任务、嵌套编排与线程绑定会话

OpenClaw Sub-Agents 并行任务系统深度解析:sessions_spawn 参数详解、嵌套编排模式(maxSpawnDepth: 2)、三层深度结构与结果冒泡链、Discord 线程绑定持久 Session、自动归档配置、工具权限按深度分配,以及与 ACP Harness 的区别和成本优化建议。

2026/3/103分钟 阅读ClaudeEagle

Sub-Agent 是从现有 Agent 运行中派生的后台 Agent,运行在独立 Session 中,完成后将结果推送回发起者的频道。

核心价值

  • 并行执行:研究/长任务/慢工具不阻塞主 Agent
  • 默认隔离:独立 Session + 可选沙箱
  • 可嵌套:支持 orchestrator 模式(主 Agent → 编排 Agent → 工作 Agent)
  • 成本可控:Sub-Agent 可使用更便宜的模型

斜杠命令

/subagents list /subagents kill <id|#|all> /subagents log <id|#> [limit] [tools] /subagents info <id|#> /subagents send <id|#> <message> /subagents steer <id|#> <message> /subagents spawn <agentId> <task> [--model <model>] [--thinking <level>]

sessions_spawn 工具参数

参数说明
task任务描述(必填)
label可选标签
agentId指定在哪个 Agent 下运行
model覆盖 Sub-Agent 模型
thinking覆盖思维级别
runTimeoutSeconds超时秒数(0 = 不超时)
threadtrue 时绑定到频道线程
moderun(一次性)或 session(持久)
cleanupdelete 或 keep
sandboxinherit 或 require

嵌套 Sub-Agent:orchestrator 模式

默认 maxSpawnDepth: 1(Sub-Agent 不能再派生子 Agent)。设为 2 启用编排模式:

json
{
  "agents": {
    "defaults": {
      "subagents": {
        "maxSpawnDepth": 2,
        "maxChildrenPerAgent": 5,
        "maxConcurrent": 8,
        "runTimeoutSeconds": 900
      }
    }
  }
}

深度层级

深度Session Key角色能否派生?
0agent:<id>:main主 Agent始终可以
1agent:<id>:subagent:<uuid>编排 Agent仅 maxSpawnDepth >= 2
2agent:<id>:subagent:<uuid>:subagent:<uuid>工作 Agent不能

结果冒泡链

  1. 深度 2 工作完成 → 通知深度 1 编排 Agent
  2. 深度 1 综合结果完成 → 通知主 Agent
  3. 主 Agent 接收并交付给用户

线程绑定 Session(Discord)

json
{
  "channels": {
    "discord": {
      "threadBindings": {
        "enabled": true,
        "idleHours": 1,
        "maxAgeHours": 24,
        "spawnSubagentSessions": true
      }
    }
  }
}

线程绑定流程:

  1. 用 sessions_spawn(thread: true)派生
  2. OpenClaw 创建或绑定线程到该 Session
  3. 该线程的后续消息路由到绑定的 Session
  4. /unfocus 手动解绑

线程控制命令:

/focus <subagent-label|session-key> /unfocus /agents /session idle <duration|off> /session max-age <duration|off>

自动归档

json
{
  "agents": {
    "defaults": {
      "subagents": {
        "archiveAfterMinutes": 60
      }
    }
  }
}
  • Sub-Agent Session 在 60 分钟后自动归档
  • cleanup: "delete" 在通知后立即归档
  • 归档保留转录文件(重命名为 *.deleted.<timestamp>)

安全控制

Allowlist:

json
{
  "agents": {
    "list": [{
      "id": "main",
      "subagents": {
        "allowAgents": ["worker-1", "worker-2"]
      }
    }]
  }
}
  • allowAgents: ["*"]:允许派生任何 Agent
  • 沙箱继承保护:沙箱化 Session 不能派生非沙箱子 Agent

工具权限(按深度)

  • 深度 1(编排 Agent):可使用 sessions_spawn、sessions_send、sessions_list
  • 深度 2(工作 Agent):默认不获得 Session 工具
  • 两个深度都默认不获得频道投递工具(需通过 message 工具显式发送)

成本优化建议

json
{
  "agents": {
    "defaults": {
      "subagents": {
        "model": "anthropic/claude-haiku-4-5",
        "thinking": "off"
      }
    }
  }
}

主 Agent 保持高质量模型,Sub-Agent 使用便宜模型。

与 ACP Harness 的区别

Sub-AgentACP Harness
适用场景内部后台任务Codex/Claude Code/Gemini CLI
调用方式sessions_spawn(内置)sessions_spawn runtime="acp"
工具访问继承 OpenClaw 工具目标 CLI 的工具集

原文:Sub-Agents - OpenClaw | 来源:OpenClaw 官方文档

相关文章推荐

深度OpenClaw Session ID 生命周期规则:什么时候会开新会话,什么时候延续旧会话详解 OpenClaw sessionKey 与 sessionId 的区别,以及触发新会话的四种情形:手动重置、每日重置、空闲过期、父级分叉保护,附 Session Store 字段说明和 Cron 会话保留策略。2026/8/13深度OpenClaw 计费故障处理机制:余额不足时系统怎么办,Backoff 退避策略详解详解 OpenClaw 账单/额度类故障处理机制:与普通限流超时不同,计费故障采用更长的指数退避(5小时起步翻倍至24小时封顶)并标记禁用,附三类故障处理力度对比表和多账号部署实战建议。2026/8/13深度OpenClaw Model Failover 完全解析:Auth Profile 怎么轮换,为什么你的 OAuth 账号会"莫名其妙"被切走详解 OpenClaw Model Failover 机制:Auth Profile 轮换顺序、Session Stickiness 会话粘性、指数退避冷却规则,解释多账号场景下 OAuth 与 API Key 切换的常见困惑及固定账号的配置方法。2026/8/13深度OpenClaw Context Engine 完全指南:四个生命周期钩子如何决定模型看到什么详解 OpenClaw 可插拔上下文引擎架构:Ingest/Assemble/Compact/After turn 四个生命周期钩子的工作原理,systemPromptAddition 动态注入机制,以及如何安装和配置自定义 Context Engine 插件。2026/8/12深度OpenClaw Delegate 架构详解:让 Agent 以组织身份代表你行动,而不是冒充你详解 OpenClaw Delegate 代表架构:Agent 如何拥有独立身份代表组织成员行动而不冒充人类,三级能力分层(只读起草/代表发送/主动式)及硬性阻断规则、Gateway工具限制、沙箱隔离等安全配置。2026/8/12深度OpenClaw Capability 架构指南:插件边界、共享运行时和供应商解耦OpenClaw Capability Cookbook 官方文档中文整理:什么时候创建 capability、标准开发顺序、core/vendor plugin/feature plugin 分工、provider registry、runtime helper、image generation 示例和架构审查清单。2026/6/4