# Lesson 7.1: Agent Teams——多 Claude 协作团队

## 本课目标

- 理解 Agent Teams 的核心概念：Lead + Teammates 的协作模式
- 掌握开启 Agent Teams 的配置步骤
- 学会用 Agent Teams 进行多角色产品讨论
- 了解 PM 的典型使用场景

## 核心内容

### 一句话理解

上一课的子代理是"你派出去干活的助手"——领任务、干活、汇报。Agent Teams 是另一回事：**多个 Claude 组成团队，一个指挥、多个并行执行，互相沟通和挑战。**

```
子代理（Lesson 7）：
  你 → 派任务 → 子代理干活 → 汇报结果
  单向指挥，子代理之间互不通信

Agent Teams（本课）：
  你（Lead）→ 创建团队 → 多个 Teammate 同时工作
                          ↕ 互相发消息、挑战观点
                          ↕ 共享任务列表、自行认领
  多向协作，成员之间可以对话
```

### 核心概念

```
┌────────────┬──────────────────────────────────────┐
│    角色     │             说明                     │
├────────────┼──────────────────────────────────────┤
│ Lead       │ 你的主会话，相当于项目经理            │
│            │ 负责创建团队、分配任务、审阅结果       │
├────────────┼──────────────────────────────────────┤
│ Teammates  │ 独立的 Claude 实例，各有专长           │
│            │ 可以互相发消息、挑战对方观点           │
├────────────┼──────────────────────────────────────┤
│ Task List  │ 共享任务列表，成员可以自行认领任务     │
├────────────┼──────────────────────────────────────┤
│ Shift+Down │ 在成员面板之间切换查看                │
└────────────┴──────────────────────────────────────┘
```

**和子代理的关键区别**：

| | 子代理 | Agent Teams |
|--|--------|-------------|
| 通信方向 | 单向（主→子→主） | 多向（成员之间互相通信） |
| 协作方式 | 领任务、干活、汇报 | 讨论、挑战、协商 |
| 可见性 | 只看到最终摘要 | 每个成员有独立面板，实时查看 |
| 适合场景 | 分工明确的执行任务 | 需要多角度讨论的决策场景 |

### 开启条件

Agent Teams 目前是实验特性，需要 3 步配置：

**Step 1：设置环境变量**

```bash
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
```

建议加入 `~/.zshrc`（或 `~/.bashrc`）持久生效：

```bash
echo 'export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1' >> ~/.zshrc
source ~/.zshrc
```

**Step 2：安装 it2**

```bash
pip install it2
```

Claude 用 `it2` 操作 iTerm2 创建新面板——每个 Teammate 会在独立的面板中运行。

**Step 3：配置 iTerm2**

1. 打开 iTerm2 → Preferences → General → Magic
2. 勾选 **Enable Python API**

**Step 4：启动**

```bash
claude --teammate-mode tmux
```

每个 Teammate 会在 iTerm2 的独立面板中运行，你可以同时看到所有成员的实时输出。

### PM 典型场景

Agent Teams 最强大的地方是**模拟多角色讨论**——不用约会议、不用等日程、不用协调时区。

#### 场景 1：产品定位讨论

```
Team Lead（你）
  ├── PM 用户代言人：从用户痛点出发评估功能价值
  ├── 技术可行性专家：从实现角度分析难度和风险
  └── 怀疑者：挑战前两人的结论，找逻辑漏洞
```

#### 场景 2：PRD 多角度审查

```
Team Lead（你）
  ├── 开发视角：这些需求能实现吗？有遗漏的技术约束吗？
  ├── 设计视角：用户旅程合理吗？交互有没有反直觉的地方？
  └── QA 视角：验收标准够具体吗？有没有没覆盖的边界情况？
```

#### 场景 3：决策辩论

```
Team Lead（你）
  ├── 支持方：列举方案 A 的优势和证据
  ├── 反对方：列举方案 A 的风险和反例
  └── 中立方：综合双方观点，给出平衡建议
```

**最佳实践**：3-5 个成员最合适，给每个成员明确的角色 and 对立观点。太多成员会导致讨论发散、上下文消耗大。

### 进阶：使用 ccc 实现多 Provider 团队

在 Agent Teams 中，如果所有成员都用 Opus，成本会很高。你可以利用 `ccc` (Claude Code Supervisor) 实现国产大模型切换，组建一个“高性价比团队”：

```bash
# 1. 在 ~/.claude/ccc.json 中配置国产模型 (Kimi / GLM)
# 2. 启动时指定 Provider
ccc kimi --teammate-mode tmux
```

**推荐配置：**
- **Lead (主会话)**: 保持使用 Anthropic 原厂 Opus 4.6（决策最强）。
- **Teammate A (Kimi)**: 负责处理超长文档或中文语境理解。
- **Teammate B (GLM)**: 负责快速生成单元测试或简单脚本。

通过 `ccc` 的 Provider 切换能力，你可以让 Teammates 跑在更便宜、响应更快的本地/国产模型上，而核心决策依然由 Opus 把控。

### 动手试试

在 Claude Code 中输入：

```
创建一个 team，有 3 个 teammate 分析 cc4pm 的产品定位：
- PM 用户代言人：从 PM 日常痛点出发，评估哪些功能真正解决了问题
- 技术可行性专家：从实现角度分析，哪些功能容易落地，哪些有风险
- 怀疑者：挑战前两个人的结论，找出逻辑漏洞和盲区
```

**观察**：多个 Agent 会在各自面板中同时讨论。PM 代言人强调用户价值，技术专家指出实现难点，怀疑者质疑双方假设。用 **Shift+Down** 在成员之间切换查看。

**PM 反思**：你刚才主持了一场多角色的产品讨论——不用约会议、不用等日程、不用协调时区。三个"专家"同时工作，互相挑战，给你最全面的分析。

## 常见问题

**Q: Agent Teams 和 BMM 的 Party Mode 有什么区别？**

A: Party Mode（`/bmad-party-mode`）是在**同一个上下文**中模拟多角色讨论——本质上是一个 Claude 扮演多个角色轮流发言。Agent Teams 是**真正独立的多个 Claude 实例**，各自有独立的上下文窗口，可以并行工作和互相通信。Teams 的讨论更深入，但消耗的 token 也更多。

**Q: 需要 iTerm2 吗？其他终端行不行？**

A: 目前的可视化面板功能依赖 iTerm2 的 Python API。如果你不用 iTerm2，Agent Teams 仍然可以工作，但你无法在独立面板中同时查看每个成员的输出。

**Q: Agent Teams 的 token 消耗大吗？**

A: 每个 Teammate 都是独立的 Claude 实例，各自消耗 token。3 个 Teammate 的讨论大约是单次对话 token 消耗的 3-4 倍。建议用 Sonnet 模型的 Teammate 来控制成本，Lead 用 Opus。

## 相关概念

- **Subagents**（Lesson 7）— Agent Teams 是子代理机制的升级版，支持多向协作
- **Saga + Freya**（Lesson 17）— WDS 设计系统的专职代理团队
- **Carson + Victor**（Lesson 11-12）— CIS 创新模块的专职代理团队

## 下一步

请调用 `AskUserQuestion` 展示以下选项，让学习者点击选择；从每条中提炼 1-5 个词作为 label，其余写入 description，不要要求输入数字：

- 进入下一课：Lesson 8 - Hooks 与 Rules：自动化守护
- 返回主菜单
- 退出学习

---
*阶段 1 | Lesson 7.1/26 | 上一课: Lesson 7 - 代理系统 | 下一课: Lesson 7.2 - Agent View*
