一个 AI 不够?让主 AI 当监工,派一群子 AI 并行干活。

An image to describe post


开篇:一个 AI 的瓶颈

你有没有遇到过这种情况:给 AI 一个大任务,它一步一步慢慢做,你等了半小时,才做完一半?

这不是 AI 不够聪明,而是单线程工作的固有局限。

想象一下:你要优化 4 个网站的 SEO。

单 AI 方案:一个个优化,每个 30 分钟,总共需要 2 小时。

多 Agent 方案:主 AI 分析任务、拆成 4 个子任务,同时启动 4 个子 Agent 各负责一个网站,30 分钟后 4 个网站同时完成,主 AI 汇总结果。

效率提升 4 倍。

这就是 Sub-agent(子代理)的核心价值:并行处理、分工协作、效率倍增。


Sub-agent 核心概念

架构图

┌──────────────────────────────────────────────────────────┐
│                    主 Agent(你正在对话的)                 │
│                                                          │
│  "优化这 4 个网站的 SEO"                                   │
│                      │                                   │
│                      ▼                                   │
│           ┌─────────────────┐                           │
│           │  任务分解        │                           │
│           │ - 网站 A         │                           │
│           │ - 网站 B         │                           │
│           │ - 网站 C         │                           │
│           │ - 网站 D         │                           │
│           └────────┬────────┘                           │
│                    │                                     │
│    ┌───────────────┼───────────────┐                    │
│    ▼               ▼               ▼               ▼    │
│ ┌──────┐      ┌──────┐      ┌──────┐      ┌──────┐    │
│ │Agent │      │Agent │      │Agent │      │Agent │    │
│ │  A   │      │  B   │      │  C   │      │  D   │    │
│ └──┬───┘      └──┬───┘      └──┬───┘      └──┬───┘    │
│    │             │             │             │         │
│    ▼             ▼             ▼             ▼         │
│  执行           执行           执行           执行       │
│  任务A          任务B          任务C          任务D      │
│    │             │             │             │         │
│    └─────────────┴─────────────┴─────────────┘         │
│                      │                                   │
│                      ▼                                   │
│           ┌─────────────────┐                           │
│           │   结果汇总       │                           │
│           │ "4 个网站已完成  │                           │
│           │   共优化 23 处"  │                           │
│           └─────────────────┘                           │
└──────────────────────────────────────────────────────────┘

关键特性

特性 说明
独立 Session 每个子 Agent 有自己的上下文,互不干扰
并行执行 多个子 Agent 同时运行,加速任务完成
非阻塞启动 sessions_spawn 立即返回,主 Agent 不用等待
自动汇报 完成后自动通知主 Agent 所在的聊天渠道
灵活配置 可为不同任务选择不同模型、不同超时时间

重要限制(必读)

⚠️ 子 Agent 不能再派生子 Agent。官方默认 maxSpawnDepth: 1,即子 Agent 无法调用 sessions_spawn。这是安全设计,防止无限嵌套。

⚠️ 每个 Agent 最多同时 5 个子 Agent(maxChildrenPerAgent: 5)。超过这个数量的请求会被排队等待。

⚠️ 子 Agent 的 announce 是尽力而为。如果 Gateway 重启,待发送的“任务完成通知”可能丢失。


使用场景

场景 1:编码任务(最常用)

任务:开发一个新功能,需要同时修改前端、后端、数据库。

分工:
- 子 Agent 1(Claude Code):写后端 API
- 子 Agent 2(Claude Code):写前端组件
- 子 Agent 3:更新数据库 schema
- 主 Agent:审核代码、协调接口

场景 2:多语言翻译

任务:把一篇英文博客翻译成 5 种语言。

分工:
- 子 Agent 1:翻译成中文
- 子 Agent 2:翻译成日文
- 子 Agent 3:翻译成韩文
- 子 Agent 4:翻译成法文
- 子 Agent 5:翻译成西班牙文

优势:5 种语言同时翻译,总时间 = 翻译 1 种语言的时间

场景 3:数据采集

任务:采集 5 个网站的信息(注意:不超过 5 个并发限制)。

分工:
- 子 Agent 1-5:各负责 1 个网站
- 每个子 Agent 独立采集、解析、保存
- 主 Agent 汇总成统一格式

场景 4:报告生成

任务:生成本周工作总结报告。

分工:
- 子 Agent 1:整理本周完成的代码提交
- 子 Agent 2:整理本周的会议记录
- 子 Agent 3:整理本周解决的问题
- 主 Agent:综合三份材料,生成最终报告

sessions_spawn:启动子 Agent

基本语法

{
  "name": "sessions_spawn",
  "arguments": {
    "description": "写后端登录 API",
    "prompt": "详细的任务说明...",
    "model": "claude-3-5-sonnet",
    "runTimeoutSeconds": 600,
    "announce": "✓ 登录 API 完成"
  }
}

💡 非阻塞执行: sessions_spawn 调用后立即返回 { status: "accepted", runId, childSessionKey },主 Agent 不会等待子 Agent 完成。子 Agent 在后台独立运行,完成后通过 announce 通知主 Agent 所在的聊天渠道。

关键参数

参数 说明 示例
description 任务简短描述(用于日志) “写登录 API”
prompt 给子 Agent 的详细指令 完整任务说明
model 使用什么模型 "claude-3-5-sonnet"
runTimeoutSeconds 超时时间(秒) 600(10 分钟)
announce 完成后的通知消息 “✓ 任务完成”

模型选择建议

任务类型 推荐模型 理由
编码任务 Claude 3.5 Sonnet 代码能力强,能迭代
文案写作 Gemini 1.5 Pro 便宜,写作好
搜索总结 Gemini 2.0 Flash 最便宜,够用
复杂推理 Claude Opus 最强能力,关键任务

Claude Code:最强 Coding Sub-agent

什么是 Claude Code?

Claude Code 是 Anthropic 官方推出的 AI 编程助手,可以作为 OpenClaw 的子 Agent 使用。它和普通子 Agent 的核心区别在于迭代能力:

普通子 Agent 遇到报错:
子 Agent:npm install 报错!
(不会自己解决,超时后失败)

Claude Code 遇到报错:
Claude Code:npm install 报权限错误
Claude Code:检查 npm 配置,发现全局目录权限问题
Claude Code:修复 npm 权限,重新安装
Claude Code:安装成功,继续下一步

Claude Code 能做到:

  • 看到报错,自己尝试解决

  • 跑测试,看到失败自己修

  • 安装依赖、配置环境

  • 提交代码到 git

安装 Claude Code

# 安装
npm install -g @anthropic/claude-code

# 配置使用 Bedrock(推荐,稳定)
export CLAUDE_CODE_USE_BEDROCK=1
export AWS_REGION=us-east-1

# 验证
claude --version

在 OpenClaw 中调用 Claude Code

{
  "name": "sessions_spawn",
  "arguments": {
    "description": "用 Claude Code 写登录功能",
    "prompt": "启动 Claude Code,执行以下任务:

1. 在 ~/workspace/auth/ 创建新项目
2. 初始化 npm 项目
3. 安装 express、jsonwebtoken、bcrypt
4. 创建用户登录 API(POST /api/login)
5. 写 3 个测试用例并运行,确保通过

完成后报告:
- 写了哪些文件
- 测试是否通过
- 如何使用这个 API",
    "model": "claude-3-5-sonnet",
    "runTimeoutSeconds": 900,
    "announce": "✓ 登录功能开发完成(详见 ~/workspace/auth/REPORT.md)"
  }
}

血泪经验:Sub-agent 避坑指南