Skip to content

Agent Teams 是 Claude Code 的实验性功能,允许生成多个完全独立的 Claude Code session——每个 session 拥有自己的完整上下文窗口、CLAUDE.md、MCP 服务器和 skills。与普通 subagents(上下文 fork)不同,Agent Teams 通过共享任务列表协调,可以在 tmux 的分屏中可视化运行。

Claude Code Agent Teams:多 Agent 并行开发的启用与工作原理

Agent Teams vs Subagents:核心区别

两者都是"让多个 agent 并行工作",但实现机制完全不同:

Agent TeamsSubagents
实现方式生成多个独立的 Claude Code session在当前 session 内 fork 上下文
上下文窗口每个 teammate 拥有独立完整的上下文共享主 session 的上下文容量
CLAUDE.md每个 teammate 独立加载继承主 session
MCP 服务器每个 teammate 独立连接继承主 session
Skills每个 teammate 独立启动时加载继承主 session
可视化tmux 分屏可见主 session 中看到结果
当前状态实验性功能正式功能

启用 Agent Teams

Agent Teams 目前是实验性功能,需要手动开启:

bash
# 方式 1:设置环境变量(推荐)
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude

# 方式 2:在 settings.json 的 env 键中配置
{
  "env": {
    "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
  }
}

tmux 分屏显示

Agent Teams 支持在 tmux 中显示每个 teammate 的独立窗格:

bash
# 安装 tmux(macOS)
brew install tmux

# 启动 tmux 会话
tmux new -s dev

# 在 tmux 中启动 Claude Code(自动进入分屏模式)
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude

通过 --teammate-mode 控制显示模式:

  • auto(默认):在 tmux 或 iTerm2 中自动使用分屏,否则 in-process
  • in-process:所有 teammate 在同一终端中交织输出
  • tmux:强制使用 tmux 分屏

Agent Teams 的协调机制

Agent Teams 通过共享任务列表协调工作,而不是通过直接消息传递:

Lead(主会话)

    │ 创建团队
    ├──────────────────────────────────┐
    ▼                ▼                 ▼
Command Architect  Agent Engineer   Skill Designer
(负责命令文件)  (负责 agent 文件) (负责 skill 文件)
    │                │                 │
    └────────────────┼─────────────────┘

              共享任务列表
    ☐ 商定数据契约: {time, tz, formatted}
    ☐ Command 使用 Agent tool(而非 bash)
    ☐ Agent 预加载 time-fetcher skill
    ☐ Skill 从上下文读取时间(不重复获取)
    ☐ 所有文件放在 agent-teams/.claude/ 下

time-orchestrator 实战案例

用 Agent Teams 构建 time-orchestrator(与 weather-orchestrator 同类,获取迪拜时间并生成 SVG 时间卡片):

1. 启动 tmux + Claude:

bash
tmux new -s dev
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 claude

2. 给主 Lead 一个编排提示词:

创建一个 agent 团队,分工构建 time-orchestrator 工作流:
- Command Architect:创建 time-orchestrator command 文件
- Agent Engineer:创建 time-agent(预加载 time-fetcher skill)
- Skill Designer:创建 time-svg-creator skill

所有文件放在 agent-teams/.claude/ 目录下。
团队需要先商定数据契约格式,再开始分工。

3. 团队协调后生成的结构:

agent-teams/
└── .claude/
    ├── commands/
    │   └── time-orchestrator.md
    ├── agents/
    │   └── time-agent.md
    └── skills/
        ├── time-fetcher/SKILL.md
        └── time-svg-creator/SKILL.md

4. 运行结果:

bash
cd agent-teams
claude
/time-orchestrator

什么时候用 Agent Teams vs Subagents

用 Agent Teams 当:

  • 任务可以分解为真正独立的并行子任务(不需要频繁传递数据)
  • 每个子任务足够复杂,需要独立的完整上下文(如构建完整的功能模块)
  • 希望通过 tmux 可视化监控每个 teammate 的进度
  • 团队成员之间只需要通过任务列表松耦合协调

用 Subagents 当:

  • 子任务需要访问主会话的对话历史
  • 子任务相对独立,用 Agent 工具的隔离上下文就够了
  • 不想依赖实验性功能

FAQ

Q: Agent Teams 是稳定功能吗? A: 目前是实验性功能,通过 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 环境变量启用。功能本身可用,但 API 和行为可能在后续版本中变化。生产环境建议先用 Subagents,等功能稳定后再迁移。

Q: Agent Teams 的每个 teammate 会计入我的用量限制吗? A: 是的,每个 teammate 是独立的 Claude Code session,各自调用 API,各自计费。N 个并行 teammate 意味着 N 倍的 token 消耗,但对应的是 N 倍的并行处理能力。

Q: 主 session(Lead)能查看每个 teammate 的进度吗? A: 在 tmux 模式下,每个 teammate 在独立的分屏窗格中运行,你可以直接切换窗格查看各自的输出。共享任务列表也是一种协调状态的方式。

Q: Agent Teams 和多开几个 claude 窗口手动协调有什么区别? A: Agent Teams 由 Lead 自动创建和管理 teammates,teammates 共享同一个任务列表作为协调机制,并能通过清晰的数据契约交换结果。手动多窗口需要你来充当协调者,工作量更大。