# Swarm

> This skill should be used when the user asks to "create a team", "create agent team", "蜂群", "swarm", "团队协作", "parallel agents", "spawn teammates", "多 agent 协作", "组建团队", or executes "/swarm". Analyzes user tasks, designs optimal team structure (roles, count, prompts), presents plan for confirmation, then orchestrates team execution.

- Skill: `apple-ouyang/swarm` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add apple-ouyang/swarm`
- Raw SKILL.md: https://api.skillmd.com/api/skills/apple-ouyang/swarm/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: apple-ouyang (https://skillmd.com/u/apple-ouyang)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/apple-ouyang/swarm

---


# 蜂群 Swarm

分析用户任务，自动规划 Agent 团队结构（角色、数量、提示词），确认后执行团队协作。

## 核心流程

```
分析任务 → 选择团队模式 → 设计角色与提示词 → 用户确认 → 创建团队 → 分配任务 → 监控执行
```

## 第一步：分析任务

收到用户任务描述后，从以下维度分析：

| 维度 | 评估内容 |
|------|---------|
| 任务类型 | 功能开发 / 代码审计 / Bug 调试 / 技术选型 / 重构迁移 |
| 可并行度 | 哪些子任务可以同时进行 |
| 文件冲突 | 不同角色是否会修改同一文件 |
| 依赖关系 | 哪些任务必须按顺序执行 |
| 复杂度 | 决定团队规模（2-8 人） |

## 第二步：选择团队模式

根据分析结果，从预定义模式中选择最匹配的模式。详见 `references/team-patterns.md`。

**五种基础模式**：
1. **功能开发** — 新功能、跨层变更
2. **代码审计** — PR Review、安全审计
3. **调试竞争** — Bug 排查、假设验证
4. **研究辩论** — 技术选型、方案评估
5. **重构迁移** — 大规模重构、架构迁移

可混合使用或自定义。如果任务不完全匹配任何模式，基于模式原则自行设计。

## 第三步：设计角色与提示词

为每个 teammate 设计：

1. **角色名称**：简短描述（如 `frontend-dev`、`security-reviewer`）
2. **Agent 类型**：根据职责选择（详见 `references/agent-types.md`）
3. **模型**：根据任务复杂度选择（opus/sonnet/haiku）
4. **权限模式**：default / plan / bypassPermissions
5. **提示词**：包含角色、职责、文件范围、输出要求、协作规则
6. **文件范围**：明确可操作的目录，避免冲突

**提示词结构**：
```
角色：{role}
职责：{responsibilities}

工作范围：
- 只修改：{allowed_dirs}
- 不要触碰：{excluded_dirs}

输出要求：
- {output_format}

协作规则：
- 发现跨模块影响时，通过消息通知 {related_teammate}
- 完成后标记任务为 completed

完成标准：
- {completion_criteria}
```

## 第四步：展示计划并确认

以结构化格式展示团队计划，等待用户确认：

```markdown
## 团队计划

**任务**：{task_description}
**模式**：{pattern_name}
**团队规模**：{count} 人

### 角色分配

| # | 角色 | Agent 类型 | 模型 | 职责概要 |
|---|------|-----------|------|---------|
| 1 | {name} | {type} | {model} | {summary} |
| ...

### 任务列表与依赖

| ID | 任务 | 负责人 | 依赖 |
|----|------|--------|------|
| 1 | {task} | {owner} | - |
| 2 | {task} | {owner} | blockedBy: 1 |
| ...

### 文件分工（避免冲突）

| 角色 | 可操作目录 |
|------|-----------|
| {name} | {dirs} |
| ...

确认此计划？(Y/修改建议)
```

使用 `AskUserQuestion` 工具让用户确认或提出修改。

## 第五步：创建团队并执行

用户确认后，按以下顺序执行：

### 5.1 创建团队

```
TeamCreate → team_name: "{task-slug}"
```

### 5.2 创建任务列表

按计划创建所有任务（TaskCreate），设置依赖关系（TaskUpdate + addBlockedBy）。

### 5.3 启动 Teammates

对每个角色，使用 Task 工具启动 teammate：

```
Task → subagent_type: "{agent_type}"
       name: "{role_name}"
       team_name: "{team_name}"
       model: "{model}"
       mode: "{permission_mode}"
       prompt: "{designed_prompt}"
```

### 5.4 分配任务

通过 TaskUpdate 将任务分配给对应 teammate（设置 owner）。

## 第六步：监控与协调

团队运行期间：

1. **接收消息**：teammate 消息自动送达，及时回应
2. **解决冲突**：如果多个 teammate 需要修改同一文件，协调顺序
3. **重新分配**：如果某 teammate 卡住，重新分配任务或提供帮助
4. **质量把关**：审查 teammate 的输出，不合格则要求修改
5. **合成结果**：所有任务完成后，汇总最终成果

## 第七步：清理

所有任务完成后：

1. 向所有 teammate 发送 shutdown_request
2. 等待所有 teammate 关闭
3. 调用 TeamDelete 清理资源
4. 向用户汇报最终结果

## 关键规则

### 避免文件冲突

**最重要的规则**：不同 teammate 不能同时修改同一文件。

- 按目录/模块划分文件范围
- 共享文件（如配置文件）由领导统一修改
- 需要跨模块变更时，通过消息协调

### 控制团队规模

- 宁少勿多，每增加一个 teammate 都增加 token 消耗
- 简单任务（单模块）：2-3 人
- 中等任务（跨模块）：3-4 人
- 复杂任务（跨层）：4-6 人

### 使用 Delegate 模式

领导应专注协调，不直接写代码。如果发现自己在实现任务，停下来分配给 teammate。

### 提示词要具体

模糊的提示词导致 teammate 偏离方向。包含：
- 具体的文件路径和目录
- 明确的输出格式
- 清晰的完成标准

## 参考资源

### Reference Files

- **`references/team-patterns.md`** — 五种团队模式模板、决策树、规模建议
- **`references/agent-types.md`** — Agent 类型能力对照、模型选择、提示词模板

