AgentSkillsCN

multi-agent

天罗秘典·多Agent协同。定义Agent角色、任务分解、冲突解决、通信协议。当需要多Agent并行协作时路由到此。

中文原作
SKILL.md
--- frontmatter
name: multi-agent
description: 天罗秘典·多Agent协同。定义Agent角色、任务分解、冲突解决、通信协议。当需要多Agent并行协作时路由到此。

🕸 天罗秘典 · 多 Agent 协同

何时启用多 Agent

TeamCreate vs Task(subagent) 决策树

code
收到任务 → 评估规模
  │
  ├─ 涉及 ≥3 个独立文件/模块? → TeamCreate
  ├─ 需要 ≥2 个并行工作流?   → TeamCreate
  ├─ 总步骤 >10 步?          → TeamCreate
  ├─ 魔尊明确要求并行/团队?   → TeamCreate
  │
  ├─ 单一探索/搜索任务?       → Task(subagent_type=Explore)
  ├─ 单文件独立操作?          → Task(subagent)
  └─ 简单查询/单步操作?       → 直接执行

铁律:当犹豫时,优先 TeamCreate。多 Agent 并行效率远高于串行 subagent。

满足任意 1 条即启用 TeamCreate:

条件说明示例
多文件独立变更≥3 个无交叉依赖的文件6 个新秘典各自独立
可并行子任务≥2 个无数据依赖的工作流前端+后端+文档
复杂度高单 Agent 需 >10 步全栈重构
时间紧迫劫钟催命,需加速紧急修复多服务

TeamCreate 最佳实践

命名规范

yaml
team_name: "{项目}-{任务类型}"  # 如 "abyss-skill-expansion"
agent_type: "{角色}"            # 如 "lead", "developer", "reviewer"
description: "一句话说明团队目标"

角色定义

角色道语职责工具权限
主修 (Lead)天罗主修任务分解、进度追踪、结果汇总TaskCreate/TaskUpdate/SendMessage
道侣 (Worker)天罗道侣执行具体子任务、报告进度Read/Write/Edit/Bash/SendMessage
护法 (Reviewer)天罗护法代码审查、质量校验、冲突检测Read/Grep/Glob/SendMessage

任务分解策略

按文件拆分(首选)

每个 Agent 负责独立的文件集合,零交叉:

code
Agent-A: [file1.md, file2.md]  — 互不干涉
Agent-B: [file3.md, file4.md]  — 互不干涉
Agent-C: [file5.md]            — 互不干涉

按模块拆分

每个 Agent 负责一个功能模块:

code
Agent-前端: src/components/
Agent-后端: src/api/
Agent-基础: src/lib/

按流水线拆分

串行依赖时,前一个 Agent 的输出是后一个的输入:

code
Agent-生成 → Agent-校验 → Agent-集成

并行 vs 串行决策

code
子任务A 和 B 是否共享文件?
  ├─ 否 → 并行执行
  └─ 是 → 是否写同一文件?
       ├─ 否(一读一写)→ 先写后读,串行
       └─ 是(都写)→ 严格串行,或拆分文件区域

依赖矩阵示例

Task-ATask-BTask-C
Task-A-无依赖无依赖
Task-B无依赖-B→C
Task-C无依赖B→C-

结论:A 与 B 并行,C 等 B 完成后执行。


Agent 角色模板

主修(Lead)启动模板

code
你是天罗主修,负责协调多 Agent 协同任务。

职责:
1. 将大任务分解为独立子任务
2. 为每个道侣分配文件集合(不可重叠)
3. 追踪进度,处理阻塞
4. 汇总结果,统一验证

铁律:
- 每个文件只能分配给一个 Agent
- 独立任务必须并行启动
- 收到所有道侣完成消息后才能进入汇总

道侣(Worker)启动模板

code
你是天罗道侣,负责执行分配的子任务。

职责:
1. 严格按照分配的文件列表操作
2. 不触碰未分配的文件
3. 完成后通过 SendMessage 报告主修
4. 遇阻时立即报告,不自行扩大范围

报告格式:
- 完成:列出创建/修改的文件 + 行数
- 阻塞:说明原因 + 建议方案

通信协议

SendMessage 规范

类型用途格式
message点对点通信{type: "message", recipient: "agent-name", content: "...", summary: "5字摘要"}
broadcast全体通知{type: "broadcast", content: "...", summary: "5字摘要"}
shutdown_request请求关闭{type: "shutdown_request", recipient: "agent-name", content: "原因"}

通信时机

事件发送者接收者内容
任务分配主修道侣文件列表 + 要求
进度更新道侣主修完成百分比 + 当前状态
任务完成道侣主修文件清单 + 验证结果
遇阻报告道侣主修阻塞原因 + 建议
汇总指令主修全体broadcast 进入汇总阶段

文件锁定与冲突避免

黄金规则

code
每个文件在同一时刻只能被一个 Agent 修改。
违反此规则 = 道基裂痕 +1。

锁定策略

  1. 分配时锁定 — 主修分配任务时明确文件归属
  2. 声明式锁定 — 道侣开始前声明要操作的文件
  3. 冲突检测 — 主修检查文件分配无重叠后才启动

冲突解决

冲突类型解决方案
两个 Agent 需写同一文件串行执行,先完成的先写
写入内容矛盾主修裁决,以业务逻辑为准
依赖文件未就绪阻塞等待,主修协调优先级

状态共享

TaskCreate/TaskUpdate 规范

code
TaskCreate: 主修创建总任务 + 子任务
TaskUpdate: 道侣更新子任务状态
TaskList:   主修查看全局进度

状态流转

code
pending → in_progress → completed
                     → blocked (需等待依赖)

错误处理与容错

单 Agent 失败

code
道侣失败 → 报告主修 → 主修评估影响
  ├─ 可重试 → 同一道侣重试(≤2次)
  ├─ 需换策略 → 主修调整方案后重新分配
  └─ 不可恢复 → 主修接管该子任务

通信超时

code
道侣无响应 → 主修等待 30s → 再次发送 → 仍无响应 → 标记异常,重新分配

降级策略

code
多 Agent 协同失败 → 降级为单 Agent 串行执行
宁可慢,不可错。

结果汇总模式

汇总流程

code
1. 收集所有道侣完成报告
2. 验证文件完整性(所有预期文件存在)
3. 验证内容一致性(交叉引用正确)
4. 统一 git add + commit
5. 输出汇总报告

统一 Commit 规范

bash
# 主修负责最终 commit,道侣不单独 commit
git add -A
git commit -m "feat: {任务描述}

Co-authored-by: Agent-A
Co-authored-by: Agent-B"

汇总报告模板

code
🕸 天罗收阵!

【阵法】{团队名称}
【阵员】{Agent数量} 道侣
【战果】
  - Agent-A: {文件数} 文件,{行数} 行
  - Agent-B: {文件数} 文件,{行数} 行
【验证】全部文件存在 ✓ | 交叉引用正确 ✓
【耗时】{总时间}