🔀 OpenClaw 子 Agent 编排模式

Isolated · Fork · Session — 三种模式深度对比与实战指南

📅 2026-06-09⏱️ 阅读 15 分钟🏷️ SubAgent · Architecture

1. 三种模式概览

OpenClaw 的 sessions_spawn 工具支持三种子 Agent 上下文模式,每种适用于不同场景:

模式上下文适用场景资源消耗
Isolated全新干净会话独立任务、批量处理🟢 低
Fork复制父会话完整历史需要上下文的复杂推理🔴 高
Session指定已有会话跨会话协作、持久任务🟡 中
💡 选择原则:默认用 Isolated(省资源),需要父会话上下文时用 Fork,需要跨会话复用时用 Session。

2. Isolated 模式详解

🟢 Isolated — 干净隔离

创建一个全新的子 Agent 会话,不继承任何父会话上下文。子 Agent 只知道你给它的 task 描述。

# Isolated 模式(默认,不传 context 即可) sessions_spawn({ "task": "搜索最新的 AI Agent 框架对比文章,总结 Top 5 框架的优缺点", "taskName": "ai-framework-research", "mode": "run", "runtime": "subagent" })

✅ 适用场景

❌ 不适用场景

3. Fork 模式详解

🟣 Fork — 分叉继承

创建子 Agent 时,将父会话的完整对话历史复制给子 Agent。子 Agent 知道之前聊了什么。

# Fork 模式 — 继承父会话上下文 sessions_spawn({ "task": "基于我们刚才讨论的 SEO 策略,生成一篇 2000 字的深度文章", "taskName": "seo-article-gen", "context": "fork", // 关键参数 "mode": "run", "runtime": "subagent" })

⚠️ 资源消耗

Fork 模式会复制完整的对话历史到子 Agent。如果父会话已经有 50 轮对话,子 Agent 的初始 token 消耗就是 50 轮对话的 token 量。这意味着:
  • Token 消耗 = 父会话历史 + 子 Agent 新对话
  • 父会话越长,Fork 越贵
  • 建议在 Fork 前先清理不必要的上下文

✅ 适用场景

4. Session 模式详解

🔴 Session — 指定会话

将子 Agent 绑定到一个已有的命名会话,实现跨会话的持久化协作。

// 绑定到命名会话 sessions_spawn({ "task": "更新今天的 SEO 数据报告", "taskName": "daily-seo-report", "sessionTarget": "session:seo-analyst", // 指定会话名 "mode": "run", "runtime": "subagent" })

✅ 适用场景

5. 性能与资源对比

维度IsolatedForkSession
初始 Token🟢 ~500🔴 父会话全部🟡 会话历史
启动速度🟢 快🟡 中🟡 中
上下文质量🟡 仅 task🟢 完整🟢 累积
资源消耗🟢 低🔴 高🟡 中
并发安全🟢 天然隔离🟢 天然隔离🟡 需注意
状态持久❌ 无❌ 无✅ 有

6. 实战编排模式

模式 1: 扇出(Fan-Out)

// 一个主 Agent 分发任务给多个子 Agent // 每个子 Agent 独立执行,互不干扰 // 子 Agent 1: 搜索新闻 sessions_spawn({ task: "搜索今日 AI 新闻", context: "isolated" }) // 子 Agent 2: 生成报告 sessions_spawn({ task: "生成 SEO 报告", context: "isolated" }) // 子 Agent 3: 社区运营 sessions_spawn({ task: "生成 Discord 社区内容", context: "isolated" }) // 等待所有子 Agent 完成 sessions_yield({ message: "等待三个子任务完成..." })

模式 2: 管道(Pipeline)

// 子 Agent 1 的输出作为子 Agent 2 的输入 // Step 1: 搜索 spawn({ task: "搜索 OpenClaw 最新功能", taskName: "search" }) → yield → 获取搜索结果 // Step 2: 分析(Fork 模式,继承搜索结果上下文) spawn({ task: "分析搜索结果中的关键技术点", context: "fork", taskName: "analyze" }) → yield → 获取分析 // Step 3: 生成(Fork 模式,继承分析上下文) spawn({ task: "基于分析生成教程文章", context: "fork", taskName: "write" })

模式 3: 监督者(Supervisor)

// 主 Agent 监督子 Agent 的工作质量 while (quality < threshold) { spawn({ task: "生成内容", taskName: "content-gen" }) yield → 获取结果 quality = evaluate(result) if (quality < threshold) { spawn({ task: "改进内容:" + feedback, context: "fork" }) } }

7. 反模式与踩坑

❌ 反模式 1: 无限 Fork
父 → Fork 子1 → Fork 子2 → Fork 子3...
每一层 Fork 都复制完整历史,token 消耗呈指数增长。最多 2 层 Fork。
❌ 反模式 2: 忘记 yield
spawn 了子 Agent 但没有 yield,主 Agent 继续执行,子 Agent 的结果丢失。
❌ 反模式 3: Isolated 时引用上下文
用 Isolated 模式 spawn 子 Agent,但 task 里写了"基于我们刚才讨论的..."——子 Agent 根本不知道"刚才"发生了什么。

8. 最佳实践

🚀 掌握子 Agent 编排,释放 AI 协作潜力

探索妙趣AI →