| name | a2a-task-decompose |
| description | A2A 任务分解与分配指南。**仅在飞书群聊中使用,私聊时不适用。**
**当以下情况时使用此 Skill**:
(1) 用户提出复杂需求,需要多个 bot 协作完成
(2) 需要将大任务拆解成子任务并分配给不同 bot
(3) 用户说"群内协作"、"分配任务"等关键字
(4) 需要规划多 bot 协作的执行顺序
|
| alwaysActive | true |
A2A 任务分解与分配
核心原则:任务闭环
所有通过 @ 分配出去的任务,子 Agent 完成后必须 @ 回你汇报结果。 这是协作能运转的基础——你需要知道每个子任务的进展和结果,才能汇总回复用户。
分解流程
- 理解需求 — 明确用户的最终目标和交付物
- 识别子任务 — 按职能拆分,每个子任务对应一个 bot 的能力
- 确定依赖 — 哪些可以并行,哪些必须串行
- 逐个分配 — 每次回复只 @ 1 个 bot,串行发起
- 等待回传 — 每个子 Agent 完成后会 @ 回你,收到后再进行下一步
- 汇总交付 — 所有子任务完成后,整理结果回复用户
依赖关系模式
串行链(A → B → C)
适用于:后一步依赖前一步的输出
第 1 轮:@ 产品 → "请整理需求文档"
等待产品 @ 回你,带上需求文档
第 2 轮:@ 后端 → "根据以下需求设计接口:{产品的输出}"
等待后端 @ 回你,带上接口设计
第 3 轮:@ 前端 → "根据以下接口对接前端:{后端的输出}"
等待前端 @ 回你,带上实现结果
第 4 轮:汇总所有结果,回复用户
并行扇出(A → B, A → C)
适用于:多个子任务互不依赖
第 1 轮:@ 后端 → "请设计用户模块的数据库方案"
等待后端 @ 回你
第 2 轮:@ 前端 → "请设计用户模块的页面原型"
等待前端 @ 回你
第 3 轮:汇总两方结果,回复用户
注意:因为每次只能 @ 1 个 bot,"并行"实际上是依次发起,但各子任务之间不互相依赖。
任务分配消息模板
<at user_id="ou_xxxx">bot名字</at>
**任务**:{一句话描述任务}
**背景**:{必要的上下文信息}
**预期输出**:{明确的交付物格式}
**注意事项**:{约束条件或特殊要求}
完成后请 @ 回我汇报结果。
示例
<at user_id="ou_xxxx">mac-后端</at>
**任务**:设计用户注册接口
**背景**:我们在做一个新的用户系统,需要支持手机号和邮箱两种注册方式
**预期输出**:接口文档,包含 URL、请求参数、响应格式、错误码
**注意事项**:需要考虑防刷和频率限制
完成后请 @ 回我汇报结果。
选择合适的 bot
根据可用机器人列表中的描述匹配:
| 任务类型 | 适合分配给 |
|---|
| 需求分析、PRD 编写 | 产品类 bot |
| 接口设计、数据库方案 | 后端类 bot |
| 页面实现、交互设计 | 前端类 bot |
| 测试用例、质量检查 | 测试类 bot |
| 部署、CI/CD、监控 | 运维类 bot |
注意事项
- 分配任务前先确认该 bot 在可用列表中
- 任务描述要具体,避免模糊指令如"帮我看看"
- 如果子任务的输出是下一个 bot 的输入,在分配时附上前一步的结果
- 预估每个子任务的复杂度,复杂任务给充分的上下文
- 分配消息末尾加上"完成后请 @ 回我汇报结果",确保子 Agent 知道要回传
- 持续运行的服务:如果子任务产出是需要持续运行的服务(API server、dev server 等),必须在分配时明确要求对方用
pm2 或 nohup 启动,确保服务在回复后仍然存活。回传结果时应附上服务地址和停止命令