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

开篇:一个 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 避坑指南