🤖 OpenClaw子Agent任务编排指南

sessions_spawn实战教程 — 并行任务、上下文传递、超时控制、多模型协同

什么是子Agent任务编排?

OpenClaw的 sessions_spawn 是核心的子Agent任务编排机制。想象一下,你是一个项目经理,手下有多个专家同时干活——这就是子Agent编排的精髓。

世界上有一种编程范式叫"分而治之",在AI Agent的世界里,它有了新的名字:sessions_spawn。每个子Agent都是一个独立的思考单元,它们可以并行执行、互不干扰,最后把结果汇总到你面前。

💡 核心概念: sessions_spawn 创建一个隔离的子Agent会话,它继承父Agent的工作空间,但拥有独立的模型选择、工具权限和执行上下文。

基础用法:启动一个子Agent

1. 最简单的spawn

sessions_spawn({
  task: "搜索最新的AI Agent新闻并生成摘要",
  mode: "run"
})

这会创建一个子Agent,执行指定任务,完成后自动通知父Agent。

2. 指定模型和参数

sessions_spawn({
  task: "分析这段代码的安全漏洞",
  model: "gpt-4o",
  thinking: "high",
  timeoutSeconds: 120,
  mode: "run"
})

3. 带标签的任务

sessions_spawn({
  task: "生成SEO优化的HTML页面",
  taskName: "seo-page-gen",
  label: "SEO生成器",
  mode: "run"
})

taskName 是稳定别名,后续可通过它精确查找任务。 label 是显示名称,方便在列表中识别。

并行任务:多Agent同时工作

周星驰在《功夫》里说过:"天下武功,无坚不摧,唯快不破。" 在AI Agent的世界里,唯并行不破。

// 同时启动3个子Agent
sessions_spawn({
  task: "搜索OpenClaw最新博客文章",
  taskName: "blog-search",
  mode: "run"
})

sessions_spawn({
  task: "分析竞品futuretools.io的最新变化",
  taskName: "competitor-analysis",
  mode: "run"
})

sessions_spawn({
  task: "检查网站sitemap是否有死链",
  taskName: "sitemap-check",
  mode: "run"
})

// 等待所有子Agent完成
sessions_yield({ message: "等待3个子任务完成..." })
💡 并行优势: 3个任务同时执行,总耗时约等于最慢那个任务的时间,而非三者之和。搜索、分析、检查三管齐下。

上下文传递:fork模式

默认情况下,子Agent是隔离的(isolated),看不到父Agent的对话历史。但有些场景需要子Agent了解上下文:

sessions_spawn({
  task: "根据刚才的讨论,生成一份总结报告",
  context: "fork",  // 继承父Agent的完整对话上下文
  mode: "run"
})
⚠️ 注意: context: "fork" 会复制当前完整对话记录到子Agent,token消耗较大。仅在确实需要上下文时使用。

多模型协同

不同任务用不同模型,就像不同岗位用不同人才:

// 复杂推理用高级模型
sessions_spawn({
  task: "分析这份财报的核心数据和趋势",
  model: "gpt-4o",
  thinking: "high",
  taskName: "financial-analysis",
  mode: "run"
})

// 简单格式转换用轻量模型
sessions_spawn({
  task: "将Markdown表格转换为HTML",
  model: "gpt-4o-mini",
  taskName: "format-convert",
  mode: "run"
})
场景推荐模型说明
复杂推理gpt-4o / claude-opus需要深度思考的任务
代码生成gpt-4o / claude-sonnet编程相关任务
格式转换gpt-4o-mini简单但量大的任务
搜索摘要gpt-4o-mini信息提取和总结

超时与错误处理

sessions_spawn({
  task: "爬取100个网页并分析内容",
  timeoutSeconds: 300,  // 5分钟超时
  runTimeoutSeconds: 600,  // 总执行超时10分钟
  mode: "run"
})

错误处理策略

实战案例:SEO批量生成流水线

// 第一步:搜索热词
sessions_spawn({
  task: "搜索当前AI Agent和OpenClaw相关的热门关键词",
  taskName: "keyword-research",
  mode: "run"
})

// 第二步:生成内容(依赖第一步结果)
sessions_yield({ message: "等待关键词研究完成..." })

// 第三步:并行生成多个页面
const topics = ["MCP教程", "Agent安全", "Skill开发"]
topics.forEach(topic => {
  sessions_spawn({
    task: `生成关于"${topic}"的SEO优化HTML页面`,
    taskName: `seo-${topic}`,
    mode: "run"
  })
})

sessions_yield({ message: "等待所有页面生成完成..." })

查看和管理子Agent

// 列出当前会话的所有子Agent
subagents({ action: "list" })

// 查看子Agent历史
sessions_history({ sessionKey: "子Agent的sessionKey" })

// 向子Agent发送消息
sessions_send({
  sessionKey: "子Agent的sessionKey",
  message: "请调整输出格式"
})

最佳实践

✅ 推荐做法

❌ 常见错误

进阶:Session绑定

sessions_spawn({
  task: "持续监控网站状态",
  taskName: "site-monitor",
  // 绑定到一个命名session,可跨对话复用
  mode: "run",
  cleanup: "keep"
})