为什么需要这个#

有时一个任务对单个代理来说太大了。想象装修公寓:电工、水管工和油漆工并行工作,各自在自己的区域,但协调行动。

Agent Teams(代理团队)是 Claude Code 的一项功能,多个 Claude 实例同时处理任务的不同方面:

  • 🔀 并行工作——多个任务同时执行
  • 💬 代理间通信——团队成员可以交换信息
  • 🎯 专业化——每个代理负责自己的领域
  • 👤 直接访问——你可以直接与任何团队成员交流

Agent Teams vs 子代理#

Claude Code 有两种并行工作方式。理解区别很重要:

子代理 Agent Teams
上下文 独立的,结果返回给调用者 独立的,完全独立
通信 仅与主代理 彼此直接通信
协调 主代理管理一切 共享任务列表,自组织
适用于 快速聚焦任务 需要讨论的复杂工作
Token 消耗 较低 较高(每个代理是独立会话)

经验法则: 简单任务使用子代理,需要协调的复杂任务使用 Agent Teams。

启用 Agent Teams#

Agent Teams 默认关闭。通过以下方式之一启用:

方式1:通过环境变量#

export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
claude

方式2:通过 settings.json#

.claude/settings.json 文件中添加:

{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

启动代理团队#

启用后,只需用自然语言描述任务和团队结构:

示例1:研究和审查#

创建一个3人代理团队:
1. 第一个代理——研究项目架构并记录
2. 第二个代理——检查代码安全性
3. 第三个代理——检查测试覆盖率

每个人并行工作并分享结果。

示例2:功能实现#

我需要一个团队来实现身份验证系统:
- 代理 "backend" — 创建 login/logout/register 的 API 端点
- 代理 "frontend" — 创建登录和注册表单的 UI
- 代理 "tests" — 为两部分编写测试

在 API 契约上相互协调。

示例3:使用竞争假设进行调试#

有一个 bug:上传大于 10MB 的文件时应用程序会卡住。

创建一个调试团队:
- 代理1:调查内存泄漏假设
- 代理2:调查网络超时假设
- 代理3:调查缓冲区问题假设

每个人探索自己的假设并报告结果。

管理团队#

查看状态#

Claude Code 会显示每个团队成员的状态:谁在做什么,谁已完成。

与特定代理交流#

你可以直接与任何团队成员交流,而不通过领导者。

分配任务#

团队领导者协调工作,但你可以介入并重新分配任务。

Agent Teams 的有效场景#

好的场景:

  • 并行研究问题的不同方面
  • 新模块/功能,代理在不同文件中工作
  • 同时使用多个假设进行调试
  • 跨层工作:前端 + 后端 + 测试

不适合的场景:

  • 顺序任务(每一步都依赖于前一步)
  • 在同一个文件中工作(更改冲突)
  • 具有大量依赖关系的任务
  • 简单任务(过多的协调开销)

最佳实践#

  1. 明确角色 ——每个代理应有清晰的职责范围
  2. 最小重叠 ——代理不应编辑相同的文件
  3. 具体任务 ——模糊的描述会导致重复工作
  4. 注意 Token ——每个代理单独消耗 Token,团队成本更高
  5. 从小开始 ——在创建大团队之前先尝试2-3个代理

课程总结#

  • Agent Teams 是多个 Claude Code 实例并行工作
  • 与子代理不同,团队成员可以相互交流
  • 通过 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 变量启用
  • 用自然语言描述团队和任务
  • 最适合没有文件重叠的并行任务
  • 不要用于顺序任务——会更贵更慢
  • 每个代理是独立会话,Token 消耗更高