Agent Teams多会话协作架构
/ / 点击 / 阅读耗时 17 分钟今天我们要探索一个更进阶的(也是新鲜出炉的)协作模式:Agent Teams(智能体团队)。
注意:Agent Teams 是 Claude Code 的实验性功能,默认关闭。需要在相关级别的设置文件中(如用户级设置 ~/.claude/settings.json 或 项目级设置 project_folder/.claude/settings.json)添加 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 环境变量来启用。Claud Code 官方说,这个实验性功能可能存在已知限制(具体限制可以参考官网实时更新的说明,搜索“limitations”关键字),生产环境请谨慎评估。
Sub-Agents vs Agent Teams:从“任务委托”到“团队协作”
前面几篇文章介绍的子代理工作模式虽然也各有差异,但是基本模式一致。都是主对话像老板一样,把任务委派给各个专职员工(子代理)。这种模式解决了上下文污染、权限边界、任务并行等问题。但它有一个根本性的限制:子代理只能向主对话汇报,不能互相交流。

这在很多场景下足够好用。但我们在实际生产环境中可能会遇到更复杂、更诡异的场景:比如多假设并行验证。
你的系统出现了一个奇怪 bug——用户登录后偶尔会话丢失,没有明确的规律。你怀疑可能是:
- 假设 A:JWT token 过期时间计算有问题
- 假设 B:Redis session 存储的竞态条件
- 假设 C:负载均衡器的 sticky session 配置
如果用子代理,情况可能是这样:

如果子代理 B 能看到子代理 C 的发现,它可能会说:等等,Redis 连接数上限问题可能是因为 sticky session 5 分钟后切换了服务器,导致新的 Redis 连接被创建。
这正是 Agent Teams 要解决的问题——让代理之间能够直接交流、互相挑战、协作推进。
Agent Teams 让你可以协调多个 Claude Code 实例作为一个团队工作。一个会话作为 Team Lead(团队领导),协调工作、分配任务、综合结果。Teammates(队友)各自独立工作,每个都有自己的上下文窗口,并且可以直接互相通信。

因此我们说,“Agent Teams 模式”与“主会话 - 子代理模式”最本质的区别是,Teammates 可以互相发消息、共享发现、挑战彼此的结论。
创建和使用 Agent Teams
Agent Teams 默认是关闭的,启用方式是在 settings.json 中设置环境变量:
1 | { |
或者在 shell 环境中设置:
1 | export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 |
在 Claude Code 中可以通过下面两种方式创建团队:
两种方式你都保持控制权——Claude 不会未经你批准就创建 team。
启用后,用自然语言告诉 Claude 创建团队并描述任务:
1 | 我在设计一个 CLI 工具来追踪代码库中的 TODO 注释。 |
Claude 会建团队,生成指定的 Teammates 让它们探索问题,然后综合各方发现,完成后清理团队。
实战项目:全栈 Bug 猎人
项目场景是一个 Express.js 电商应用(ShopStream),其中刻意植入了多个相互关联 bug。用户报告了三个看似独立的症状:会话丢失、API 变慢、数据泄漏。真相是这些症状由相互 bug 的级联故障造成:
1 | Bug 1: DB 连接池太小(db.js) |
那么为什么这里需要 Agent Teams 呢?
因为单独调查者容易“锚定”,找到一个 bug 后就满意了,不继续挖掘。而 bug 之间的关联需要跨视角发现,只有 Session 侦探和数据库侦探各自的发现互相对照,才能看到级联效应。此外,架构侦探可以把其他侦探的发现串联起来,通过辩论机制产出更完整的根因链。
四大协作设计模式
Agent Teams 最强大的地方在于它支持的协作模式。
模式一:竞争假设(Competing Hypothesis)
这种模式适用于根因不明确,需要从多个方向同时验证的场景。
单个 Agent 调查时容易“锚定”——找到一个合理解释后就停止探索,可能错过真正的根因。此时,让多个 Teammates 各自持有不同假设,并要求它们互相挑战、试图推翻对方的理论。
1 | 用户报告应用在发送一条消息后就退出了,而不是保持连接。 |
该模式架构如下:
想一想,这种模式的工程价值在哪里?
- 避免锚定效应——多个独立调查者,各自寻找证据支持自己的假设。
- 辩论机制迫使每个假设必须经受挑战才能“存活”。
- 最终“存活”的假设更可能是真正的根因。
为什么辩论结构是此处的关键机制?顺序调查会收到锚定偏见的影响,一旦第一个理论被探索,后续调查会不自觉地偏向它。多个独立调查者主动互相反驳,幸存下来的理论更可能是真正的根因。
模式二:分层评审(Parallel Review)
这种模式适用于代码审查、PR Review 等需要从多个维度同时评估的任务。
因为单个 reviewer 容易聚焦于某一类问题(比如只看代码风格),而忽略其他维度。让多个 Teammates 各自负责不同的审查维度,同时工作。
1 | 创建一个 agent team 来审查 PR #142。生成三个 reviewer: |
该模式架构如下:
这种模式的工程价值有哪些呢?
- 每个维度都得到充分关注,不会因为注意力分散而遗漏。
- 并行执行,时间成本不增加。
- 不同专家可能发现关联问题(Security Reviewer 发现的输入验证问题可能影响 Performance)
模式三:模块化开发(Module Ownership)
这种模式适用于新功能开发,涉及多个独立模块(前端、后端、数据库、测试)的场景。
由于让一个 Agent 依次开发容易混淆上下文,多个子代理并行又无法协调接口。因此,让每个 Teammate 拥有一个模块,通过共享任务列表协调工作。
该模式架构如下:
这种模式的关键机制是:
- 任务依赖:任务可以声明依赖其他任务,被阻塞的任务不能被认领。
- 自动解锁:当依赖任务完成后,被阻塞的任务自动变为可认领。
- 文件所有权:每个 Teammate 负责不同的文件,避免冲突。
模式四:规划 - 审批(Plan Approval)
这种模式适用于复杂或高风险任务,需要在实施前确认方案。
如果直接让 Teammate 开干,可能因方向错误导致返工。因此要求 Teammate 在实施前先提交计划,Lead 审批通过后才能执行。
1 | 生成一个 architect teammate 来重构认证模块。 |
该模式工作流如下:

控制 Lead 的审批标准:
1 | 生成一个 architect teammate 来重构认证模块。 |
Lead 会根据你提供的标准自主做出批准 / 拒绝决策。你影响 Lead 判断的方式是在 prompt 中给出明确的标准,比如“只批准包含测试覆盖的方案”或“拒绝修改数据库 schema 的方案”。
Sub-Agents vs Agent Teams:选型决策树
到底 Sub-Agents 和 Agent Teams 这两种架构如何选择?这里给出一个选型决策树:
1 | 你的任务需要多个 workers 吗? |
一句话总结,核心判断标准是你的 workers 是否需要互相通信?Sub-Agents 是快速、廉价的“派出去 - 带回来”模式,如果只需汇报结果 ,就选 Sub-Agents;Agent Teams 是复杂、协作的“组队讨论”模式,如果需要互相讨论、挑战、协调 ,就选 Agent Teams。
token成本考量
Claude 指出,Agent Teams 使用的 token 显著高于单会话或子代理,因为每个 Teammate 是独立的 Claude 实例,有独立的上下文窗口。消息通信消耗额外 token,而且团队越大,成本越高。
因此,适合 Agent Teams 的任务特征包括:
- 并行探索能带来真正的价值;
- 讨论和挑战能提高结果质量;
- 任务复杂度值得额外成本。
不适合 Agent Teams 的任务特征包括:
- 常规任务,单会话就够;
- 任务之间没有协作需求以及预算有限的场景。