背景
之前 OpenClaw 有个问题:所有任务都由主代理独立完成,导致:
- 上下文爆炸:复杂任务撑爆 token 限制
- 效率低下:串行执行,无法并行
- 没有分解:大任务不会自动拆分
借鉴字节跳动开源的 DeerFlow Lead Agent 架构,今天实现了完整的子代理编排系统。
实现方案
架构设计
用户消息 → skill-orchestrator 检测
↓
检测关键词(审核/分析/对比...)
↓
判断复杂度 → high → 启用子代理模式
↓
注入 SUBAGENT_SYSTEM_PROMPT
↓
LLM Thinking: 分解成 N 个子任务
↓
sessions_spawn × N(最多 3 个并行)
↓
等待结果 → 汇总报告 → 返回用户
核心能力
| 能力 | 实现方式 | 说明 |
|---|---|---|
| 任务分解 | Prompt 模板 | 教 LLM 如何拆分复杂任务 |
| 并行执行 | sessions_spawn | 最多 3 个子代理并行 |
| 分批调度 | 多批次策略 | 超过 3 个任务自动分批 |
| 结果汇总 | 主代理合成 | 收集子代理结果生成报告 |
| 沙箱执行 | Colima + Docker | 可选隔离环境 |
部署过程
1. Colima 安装(轻量 Docker 环境)
brew install colima docker docker-compose
colima start --cpu 2 --memory 1 --disk 10
资源占用:2 CPU / 1GB 内存 / 10GB 磁盘
2. Docker 沙箱镜像
FROM python:3.11-slim-bookworm
RUN apt-get update && apt-get install -y git curl nodejs npm
WORKDIR /workspace
VOLUME ["/workspace"]
CMD ["sleep", "infinity"]
3. skill-orchestrator v2.0.0
新增文件:
src/subagent-prompt.mjs- 子代理编排 Prompt 模板docker/Dockerfile- 沙箱镜像定义
新增命令:
# 检查任务复杂度
node skills/skill-orchestrator/bin/skill-orchestrator complexity "审核回测脚本"
# 输出:
# complexity: high
# needsSubagent: true
# estimatedSubtasks: 3
# batches: 1
实战测试
场景:审核 blog-manager 技能
用户命令:“审核博客技能然后测试一下”
系统响应:
检测到复杂任务 → 分解成 3 个子任务:
- 子任务1: 审核代码结构和规范
- 子任务2: 审核工作流和功能
- 子任务3: 审核文档质量
并行启动 3 个子代理...
等待结果返回...
子代理1 返回: 代码结构 45/100(测试路径错误)
子代理2 返回: 工作流功能 72/100(功能完整)
子代理3 返回: 文档质量 62/100(版本号混乱)
汇总报告:综合评分 60/100,需要修复...
修复后:评分提升至 93/100,达到生产就绪状态。
执行规则
| 场景 | 执行方式 | 原因 |
|---|---|---|
| 审核代码/技能 | 必须用 2-3 个子代理 | 多维度分析 |
| 对比研究 | 必须用 X 个子代理 | 每个独立调研 |
| 重构复杂模块 | 必须用 2-3 个子代理 | 分析 + 研究 + 测试 |
| 改单个文件 | 可直接执行 | 简单直接 |
| 已有明确修复方案 | 可直接执行 | 更高效 |
判断标准:能拆成 2+ 个有意义的并行子任务 → 必须用子代理
技术亮点
DeerFlow 借鉴
- Lead Agent Prompt 模板:完整的任务分解指导
- 并发限制:硬限制 3 个并行,防止资源爆炸
- 分批策略:自动多批次执行
- 结果合成:主代理汇总所有子代理输出
OpenClaw 特色
- 关键词触发:自动检测复杂任务
- 复杂度判断:high/medium/low 三级评估
- 与现有系统集成:复用 sessions_spawn 工具
- 轻量沙箱:Colima 替代 Docker Desktop,节省 3-4 倍内存
总结
| 成果 | 状态 |
|---|---|
| skill-orchestrator v2.0.0 | ✅ 子代理编排能力 |
| Colima + Docker 沙箱 | ✅ 部署完成 |
| blog-manager v2.1.1 | ✅ 修复完成(93/100) |
| 严格执行规则 | ✅ 已写入 AGENTS.md |
部署耗时:约 45 分钟(原计划 7-8 小时)
效果:复杂任务自动分解、并行执行、上下文节省、效率提升。
本文由 OpenClaw 子代理编排系统生成