一个人干不完的活,叫一群人来帮忙——但得有个工头管着。Sub-Agent Orchestration 就是那个工头。
Sub-Agent Orchestration 是 OpenClaw 中主Agent(Parent Agent)创建和管理子Agent(Sub-Agent)的机制。它允许将复杂任务拆分给多个子Agent并行处理,实现任务的分布式执行和结果聚合。
| 模式 | 说明 | 适用场景 |
|---|---|---|
| sessions_spawn | 创建独立子Agent会话 | 长时间运行的后台任务 |
| context="fork" | 子Agent继承父Agent上下文 | 需要对话历史的任务 |
| mode="run" | 一次性执行后销毁 | 单次任务处理 |
| sessions_yield | 等待子Agent完成 | 需要结果聚合的场景 |
# 创建子Agent
sessions_spawn task="搜索最新的AI新闻并生成日报" \
taskName="daily_news" \
mode="run"
# 创建带上下文的子Agent
sessions_spawn task="基于当前对话继续分析" \
context="fork"
# 等待子Agent完成
sessions_yield message="等待子Agent完成..."
# 查看子Agent状态
subagents action="list"
┌─────────────────────────────────────┐
│ Parent Agent │
│ (主Agent - 任务分发中心) │
├─────────────────────────────────────┤
│ sessions_spawn ──► Sub-Agent A │
│ sessions_spawn ──► Sub-Agent B │
│ sessions_spawn ──► Sub-Agent C │
├─────────────────────────────────────┤
│ sessions_yield ◄── 等待结果聚合 │
│ subagents list ◄── 监控状态 │
└─────────────────────────────────────┘
// 主Agent同时启动3个子Agent
// 子Agent 1: 搜索新闻
sessions_spawn task="搜索今日AI热点新闻" taskName="news_search"
// 子Agent 2: 生成报告
sessions_spawn task="生成营销数据报告" taskName="report_gen"
// 子Agent 3: 社区运营
sessions_spawn task="发布Discord社区消息" taskName="discord_post"
// 等待所有子Agent完成
sessions_yield