这篇适合谁、读完能做到什么
如果你的任务能拆成几块彼此独立的工作,比如同时做多角度的代码审查,或者用几种假设去查一个难找的 bug,智能体团队值得一试。读完你能打开这个实验功能,用自然语言组织一个团队,知道怎么切换显示方式、怎么管理队友,也知道什么情况下它并不划算。[1]
智能体团队目前是实验性功能,默认关闭。[1]
什么时候该用团队,什么时候用子 agent
团队最适合四类任务:研究和审查、新模块或新功能、用竞争假设调试,以及跨前端、后端和测试的协同改动。[1]
团队会增加协调成本,消耗的 token 也明显比单个会话多。顺序执行的任务、多个人要改同一个文件的任务,或者依赖很多的任务,用单个会话或子 agent 反而更有效。[1]
子 agent 把结果返回给调用它的主 agent;团队的队友则共享任务列表,并且彼此直接发消息。子 agent 的结果会汇总回主上下文,所以 token 成本更低。[1]
开启功能
把环境变量 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 设为 1 就能开启,可以写在 shell 环境里,也可以写在 settings.json 里:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}开启后要注意一个变化:Claude 可以给子 agent 起名,此时被命名的子 agent 会以队友的身份启动,所以即使你没有要求,团队也可能自己形成。[1] 在 -p 非交互模式下,包括 Agent SDK 会话,Claude 不会生成队友。[1]
第一个团队怎么说
开启后,用自然语言描述任务和你想要的队友就行,Claude 会生成队友并协调工作。例如:
I'm designing a CLI tool that helps developers track TODO comments across
their codebase. Spawn three teammates to explore this from different angles:
one on UX, one on technical architecture, one playing devil's advocate.如果 Claude 改用了子 agent 而不是团队,它们也会出现在同一个 agent 面板里,所以面板本身不能证明团队已经建立。这时可以再说一次,并明确要求建立智能体团队。[1]
查看和管理队友
输入框下方的 agent 面板列出了队友。上下方向键选择队友,回车打开它的对话记录,就可以直接给它发消息;按 Esc 清除选择。[1]
显示方式分两种。一种是进程内(in-process)模式,所有队友都在你的主终端里运行,任何终端都能用。另一种是分屏(split panes)模式,每个队友一个窗格,需要 tmux 或 iTerm2。[1]
用分屏时,可以用 tmux,也可以用 iTerm2;使用 iTerm2 要先装 it2 命令行工具,并在 iTerm2 的设置里打开 Python API。[1] 在 settings.json 里把 teammateMode 设为 "auto",Claude Code 在 tmux 或 iTerm2 里运行时就会用分屏,在其他终端则用进程内模式:
{
"teammateMode": "auto"
}如果只想在一次会话里用某种模式,可以加参数,例如 claude --teammate-mode auto。这个参数还是实验性的,claude --help 里看不到。[1]
claude --teammate-mode auto进程内还是分屏
进程内模式不需要额外配置,任何终端都能用。分屏模式下每个队友一个窗格,点进某个窗格就能直接和它交互,但要先装好 tmux 或 iTerm2。[1]
每个会话只能有一个团队,团队只属于它所在的那个会话。队友不能再生成自己的队友。[1]
分工:任务列表和消息
主 agent(lead)在生成队友时会给每个人起名字,之后任何队友都可以按名字给另一个队友发消息。要通知所有人,就要逐个发送。[1]
团队的任务有三种状态:待处理、进行中和已完成。任务之间可以有依赖,依赖未完成时显示为阻塞,队友不会自己认领阻塞的任务。主 agent 可以直接指派任务;队友做完自己的活以后,也可以自己认领下一个未分配、未阻塞的任务。认领时用了文件锁,防止两个队友同时抢同一个任务。[1]
要让某个队友优雅地结束,就直接用名字提出:
Ask the researcher teammate to shut down队友可以同意并退出,也可以拒绝并说明理由。[1]
队友的上下文不会继承主会话的对话历史。它们会像普通会话一样加载 CLAUDE.md、MCP 服务器和 skill,并接收主 agent 发来的生成提示。[1] 模型的选择按顺序取第一个适用的来源:生成提示里指定的模型,子 agent 定义里的模型,CLAUDE_CODE_SUBAGENT_MODEL(如果设为了 inherit 以外的值),最后才是主 agent 当前的模型。[1]
费用、团队规模和文件冲突
每个队友都有自己的上下文窗口,所以 token 用量随活跃队友的数量增长。研究、审查和新功能开发通常值得这笔开销;日常小任务用单个会话更划算。[1]
团队规模不必很大。官方建议大多数工作流从 3 到 5 个队友开始,三个聚焦的队友往往比五个散开的队友效果更好。[1]
两个队友同时改一个文件会互相覆盖,所以要把工作拆开,让每个队友负责不同的文件。[1]
用团队做审查和调试
做 PR 审查时,可以让三个队友各盯一个方面,例如安全、性能和测试覆盖,然后汇总结果。提示词的写法如下:
Spawn three teammates to review PR #142:
- One focused on security implications
- One checking performance impact
- One validating test coverage
Have them each review and report findings.根因不清的 bug 则适合让队友互相挑战。提示词可以这样写:
Users report the app exits after one message instead of staying connected.
Spawn 5 agent teammates to investigate different hypotheses. Have them talk to
each other to try to disprove each other's theories, like a scientific
debate. Update the findings doc with whatever consensus emerges.关闭和清理
团队的任务列表 ~/.claude/tasks/{团队名}/ 在会话结束后仍会留在磁盘上;团队配置目录则在会话结束时由 Claude Code 删除。团队名是 session- 加上会话 ID 的前八位。[1]
如果你发现子 agent 被意外地变成了队友,可以把 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS 设为 0 关掉:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "0"
}
}限制和常见问题
- 恢复会话后队友不见了。
/resume和/rewind不会恢复进程内模式的队友。[1] - 一个会话只能有一个团队,队友也不能再生成队友。 团队只属于它所在的那个会话。[1]
- 分屏模式必须有 tmux 或 iTerm2。 默认的进程内模式在任何终端都能用。[1]
下一步
更完整的说明,包括团队的显示模式、队友的权限和各项限制,可以参考 Anthropic 的 Claude Code 文档中的智能体团队页面。[1]
来源
- 1Orchestrate teams of Claude Code sessionsAnthropic Claude Code docs
引用本页: Claude Code 智能体团队:多个会话协作. TellWorld, https://www.tellworld.net/zh/practice/practice-claude-code-agent-teams. 更新于 2026-11-14