当单个 Claude Code 实例的上下文窗口不够用,或者多个任务可以并行推进时,就需要「Agent Teams」——多个 Claude Code 实例协同工作,各自维护独立上下文,通过会话通信协调。
Agent Teams vs 子代理
子代理(Subagents):在同一会话内处理特定任务,上下文隔离但归属主会话管理
Agent Teams:跨独立会话的多代理协调,每个 Agent 完全独立,通过会话通信
选择标准:任务能在单次会话中完成用子代理;需要跨会话持续运行、真正并行、或主会话上下文不够用时,选 Agent Teams。
核心概念:会话通信
Agent Teams 通过 sessions_send 工具跨会话传递信息:
# 向另一个会话发送消息
sessions_send(sessionKey="worker-1", message="开始处理 src/auth/ 模块")
# 查看其他会话状态
sessions_list()每个会话有唯一的 sessionKey,Agent 通过它定位对方。
Git Worktrees:并行修改代码的利器
多个 Agent 同时修改同一仓库时,用 Git Worktrees 避免冲突:
# 为每个 Agent 创建独立工作目录
git worktree add ../worker-auth feature/auth-refactor
git worktree add ../worker-api feature/api-refactor
git worktree add ../worker-tests feature/test-coverage每个 Worktree 有独立的工作目录和分支,Agent 互不干扰,完成后各自开 PR。
三种常见协作模式
模式 1:协调者-工人(Orchestrator-Worker)
一个主 Agent 分解任务,多个工人 Agent 并行执行:
协调者 Agent
├── 分析需求,制定计划
├── 启动 Worker-1:处理认证模块
├── 启动 Worker-2:处理 API 层
└── 启动 Worker-3:补充测试
工人完成后向协调者汇报,协调者整合结果。
适用场景:大型重构、批量代码修改、跨模块并行开发
模式 2:流水线(Pipeline)
Agent 串行处理,每步输出作为下步输入:
Agent-1(分析)→ Agent-2(设计)→ Agent-3(实现)→ Agent-4(测试)
适用场景:有明确阶段依赖的工作流(分析→设计→实现→测试)
模式 3:专家池(Specialist Pool)
不同 Agent 有不同专长,协调者根据任务类型路由:
协调者
├── 安全问题 → 安全专家 Agent
├── 性能问题 → 性能优化 Agent
└── 数据库问题 → DBA Agent
适用场景:复杂项目有多个专业领域
实战:并行 PR 审查
# 主会话:启动审查协调者
claude
> 这个 PR 有 8 个文件需要审查。启动 4 个审查 Agent,每个处理 2 个文件,并行完成后汇总结果。Claude 会自动:
- 创建 4 个子会话
- 分配文件给每个 Agent
- 等待所有 Agent 完成
- 汇总审查结果
实战:大型迁移任务
> 我需要将整个项目的 React Class 组件迁移到 Hooks。
> 分析所有组件,将它们分成 5 批,为每批启动独立 Agent 在单独 Worktree 中并行迁移,完成后各自开 PR。上下文管理
自动压缩:每个 Agent 会话独立管理上下文,接近限制时自动触发 /compact
跨会话状态:Agent 间共享状态需通过文件系统(共享文件、Git)或显式消息传递
会话恢复:用 --resume <session_id> 可以恢复中断的 Agent 会话
注意事项
防止循环:Agent Teams 中的子代理不能再启动子代理(防止无限嵌套)
资源成本:多个 Agent 并行运行会并行消耗 Token,确保有足够的 API 配额
冲突避免:用 Git Worktrees 隔离文件系统访问,避免多个 Agent 同时写同一文件
原文:Run agent teams - Claude Code Docs | 来源:Anthropic 官方文档