Swarm Coord — 多 Agent 协作
把大任务拆成小任务,分配给多个 Agent 并行执行,自动汇总结果。
什么时候用
- 用户下达复合型任务(涉及多个领域)
- 用户说"分工"、"协作"、"团队干"、"swarm"
- 任务明显可以并行处理(不存在强依赖关系)
- CEO 主动判断当前任务适合拆分
核心理念
一个人干所有事太慢。把任务拆开,多个 Agent 同时干,CEO 统筹汇总。
模式参考:Team Lead + Teammates
- Team Lead(CEO):拆分任务、分配、监控进度、汇总结果
- Teammates(coding/secretary/HR 等):各自执行分配到的子任务
执行流程
Phase 1 — 分析与拆分(Decompose)
- 分析用户的原始请求
- 识别可并行的子任务
- 为每个子任务确定:
- 负责 Agent:coding / secretary / HR / 或新建临时 Agent
- 任务描述:清晰的执行指令
- 预期输出:需要返回什么结果
- 依赖关系:是否需要等其他任务完成
输出拆分方案供用户确认(除非用户说"直接干")。
Phase 2 — 分发与执行(Dispatch)
- 用
sessions_spawn 为每个子任务创建独立 session - 并行启动所有无依赖的子任务
- 有依赖的任务排队等待前置任务完成
- 用
sessions_yield 等待子 Agent 返回结果
分发时传递的信息:
- 明确的任务描述
- 需要的上下文(文件路径、配置值等)
- 期望的输出格式
- 超时时间
Phase 3 — 监控与协调(Monitor)
- 跟踪每个子任务的状态(进行中/完成/失败)
- 如果某个子任务失败,决定:
- 如果子任务之间需要传递中间结果,CEO 负责转发
- 定期向用户汇报进度(长任务时)
Phase 4 — 汇总与报告(Aggregate)
- 收集所有子任务的结果
- 整合成统一的报告
- 标注成功/失败/跳过的任务
- 向用户呈现最终结果
汇总报告格式:
🐝 Swarm 任务完成
━━━━━━━━━━━━━━━
📋 原始任务:整理本周会议纪要 + 更新文档 + 发周报
👥 执行分工:
├─ 🤖 Secretary:整理会议纪要 ✅(3 份纪要)
├─ 💻 Coding:更新项目文档 ✅(README + CHANGELOG)
└─ 📊 CEO:汇总写周报 ✅
⏱️ 总耗时:2 分 30 秒(并行节省约 60%)
📝 成果:
- 会议纪要已发送到飞书群
- 项目文档已更新并 push
- 周报已发送给董事长
任务拆分原则
适合拆分的任务
- 多领域综合任务(技术 + 文档 + 沟通)
- 批量处理任务(处理 10 个文件)
- 信息收集任务(同时搜索多个来源)
不适合拆分的任务
- 强顺序依赖(第二步必须用第一步的结果)
- 简单单步任务(问个问题就行)
- 需要持续交互的任务(反复确认修改)
Agent 能力匹配
| Agent | 擅长领域 | 适合的子任务 |
|---|
| ------- | ---------- | ------------- |
| coding | 编程、技术 | 写代码、调试、部署、Git 操作 |
| secretary | 文档、沟通 | 会议纪要、文档编辑、消息发送 |
| HR | 人事 | 人员查询、组织架构、考勤 |
| CEO(自己) | 统筹 | 复杂分析、汇总报告、决策 |
规则
- 先拆后做:除非用户说"直接干",否则先展示拆分方案
- 并行优先:无依赖的任务同时启动
- 容错设计:单个子任务失败不影响其他任务
- 进度透明:长任务定期汇报进度
- 结果汇总:所有子任务完成后统一呈现结果
- 超时保护:子任务超时自动终止并标记
与其他 Skill 的配合
- Session Resume:Swarm 任务的整体进度可以保存到
.task-state.json - Smart Compact:子 Agent 的对话独立,不影响 CEO 的上下文
- Memory-Dream:Swarm 的执行结果会被记录到日记,由 Dream 整合