同时运行多个 Claude Code 的 AI agent(智能体),有四种办法:
- Git worktree: 你自己运行多个会话,每个会话在各自的 checkout 里。
- subagent: 一个会话为旁支任务启动的帮手。
- agent teams: Claude Code 的实验性功能,由一个负责人会话协调几个队友。
- Crewly 这类编排工具: 替你让一支团队长期运行。
它们解决的是不同的问题。本文依据 Anthropic 的文档(2026-09-24 核对),说明每种方式适合什么场景,然后一步步搭建第四种。
该用哪种?简短的回答
| Git worktree | subagent | agent teams | 编排工具(Crewly) | |
|---|---|---|---|---|
| 是什么 | 几个独立的会话,各自在自己的 git checkout 里 | 一个会话内部的帮手,各有自己的上下文 | 一个负责人会话加若干队友会话 | 一支长期运行的 agent 团队,每个 agent 在自己的终端里 |
| 谁来协调 | 你 | 主 agent | 负责人、共享任务列表和队友们 | 编排 agent,以及你在 dashboard 或 Slack 里 |
| agent 之间能对话吗 | 默认不能 | 把结果交回给启动它的 agent | 能,直接对话 | 能,通过 Crewly |
| 能延续到会话之外吗 | 每个会话由你自己恢复 | 不能 | 每个会话一个团队 | 能 |
| 需要安装吗 | 内置 | 内置 | 内置,实验性,默认关闭 | 安装 Crewly |
| 最适合 | 几个由你亲自掌控的并行任务 | 专注的旁支任务 | 需要讨论的调研、评审和功能开发 | 长期运行的固定角色,以及混用运行时 |
示意图:四种方式各由谁来协调。Git worktree 是你;subagent 是主 agent;agent teams 是负责人、共享任务列表和队友们;Crewly 这类编排工具是编排 agent,以及你在 dashboard 或 Slack 里。
四种方式,各由谁来协调,出自上面的对比表(示意图)。
1. Git worktree:你自己运行多个会话
git worktree 是仓库的一份独立 checkout,在自己的分支上,所以并行的改动不会互相冲突。Claude Code 内置了这个功能:
claude --worktree feature-auth
在第二个终端里换一个名字运行同样的命令,就有了第二个互相隔离的会话。仓库里需要先至少有一次提交。
适合: 两三个互不相关的任务,而且你愿意自己当协调者。Anthropic 的说法是,这是你自己运行"多个 Claude Code 会话,没有自动的团队协调"。你负责拆分工作、盯着每个终端、合并分支。
2. subagent:一个会话内部的帮手
subagent 是 Claude Code 为旁支任务启动的专用助手。它在自己的上下文窗口里工作,有自己的系统提示词、工具和权限,完成后交回一份摘要,你的主对话保持干净。
- 定义一个: 在
.claude/agents/(单个项目)或~/.claude/agents/(所有项目)里放一个带 YAML frontmatter 的 Markdown 文件(name、description,可选tools和model)。也可以直接让 Claude "use a subagent to investigate…"。 - 后台与嵌套: subagent 可以在后台运行,一个 subagent 还能再启动自己的 subagent,最多三层。
适合: "去查一下 X 然后告诉我",比如摸清一个代码库、跑一项检查或评审一个文件。
3. Claude Code 的 agent teams(实验性)
在一个 agent team 里:
- 一个会话是团队负责人。 它分派任务并汇总结果。
- 队友是彼此独立的 Claude Code 实例, 各有自己的上下文窗口。它们之间直接发消息,你也可以和任何一个队友对话。
agent teams 是实验性功能,默认关闭。在环境变量或 settings.json 里设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 开启,然后用自然语言描述你要的团队。例如:"Spawn three teammates to review PR #142: one on security, one on performance, one on test coverage."
它做得好的地方:
- 不需要额外安装任何东西。
- 共享任务列表:任务之间可以有依赖,认领任务时有文件锁。
- 质量关卡钩子(
TeammateIdle、TaskCreated、TaskCompleted)。 - 队友显示在你的终端里。分屏需要 tmux 或 iTerm2。
文档写明的限制:
- 每个会话只有一个团队,会话结束时团队配置会被删除。
/resume不会恢复 in-process 模式的队友。- 不支持嵌套团队。
- 比单个会话多用很多 token。
Anthropic 建议从 3–5 个队友开始,每个队友负责不同的文件。
适合: 调研、评审、带着几个相互竞争的假设去调试,或者一个能干净拆开的功能,都在一个工作会话之内。
agent teams 和 subagent 有什么区别?
- subagent 把结果交回给启动它的 agent。更省:只有摘要会返回。
- agent teams 是彼此发消息、共享任务列表的独立会话。更耗 token,适合需要讨论的工作。
用 Anthropic 的话说:需要"快速、专注、完成后汇报的帮手"时用 subagent;需要队友"分享发现、互相质疑、自己协调"时用 agent teams。
4. Crewly 这类编排工具
Crewly 是一个开源应用(MIT),在你的机器上运行一支长期存在的编程 agent 团队:
- 每个 agent 都是一个真实的 Claude Code 会话,在自己的终端里(也可以是 Codex 或 OpenCode),并有一个角色,比如后端开发或 QA 工程师。
- 一个编排 agent 负责分派工作。
- 你在本地 dashboard 里查看和调度,连上 Slack 的话也可以在 Slack 里。
它多出来的能力:
- 团队比终端会话活得久。 团队、角色和每个 agent 的记忆都保存在
~/.crewly/下,重启 Crewly 或整台机器之后都还在。 - 保存下来的角色。 内置角色自带提示词,你也可以在 Settings → Roles 里添加自己的角色。
- 混用运行时。 运行时按 agent 单独选择。
- 一个 dashboard,能看到每个 agent 的实时终端、状态和任务。
- 每个 agent 一个 Slack bot(通过 Crewly Cloud 设置),你可以直接 @ 某个 agent。
代价:
- 需要安装一个应用并保持它运行。
- agent 以完整权限运行,这样才能无人值守地工作,所以请在你放心的环境里使用。
Claude Code 的 agent teams 和 Crewly 对比
| Claude Code 的 agent teams | Crewly | |
|---|---|---|
| 状态 | 实验性,默认关闭 | 独立的开源应用 |
| 团队存在于哪里 | 一个会话之内;每个会话一个团队 | 在 Crewly 里,跨会话、跨重启 |
| 角色 | 在启动时描述,或复用 subagent 定义 | 保存下来的角色,各有自己的提示词 |
| 运行时 | Claude Code 队友 | Claude Code、Codex 或 OpenCode,按 agent 选择 |
| 在哪里查看 | 你的终端,或 tmux/iTerm2 分屏 | 一个网页 dashboard,以及 Slack |
| 协调方式 | 带依赖和钩子的共享任务列表 | 编排 agent、任务和状态汇报 |
如果工作能在一个会话里完成,而且你只用 Claude Code,agent teams 更轻:什么都不用装。Crewly 适合一支你要长期运行的团队,有保存下来的角色,也可能跨多种运行时。
什么时候不该用 Crewly
- 只有一两个并行任务: 在两个终端里用
claude --worktree。 - 一个旁支问题: 用 subagent。
- 在 Claude Code 里做一次性的评审: 先试试 agent teams。
- 你不想让 agent 在那台机器上以完整权限无人值守地运行。
- Windows: Crewly 运行在 macOS 和 Linux 上。
教程:用 Crewly 运行一支 Claude Code agent 团队
这一节在你的一个项目上搭起一个后端开发、一个前端开发和一个 QA 工程师。只想装好 Crewly 的话,看更短的 Crewly 快速上手。
你需要:
- macOS 12+ 或 Linux(x64 / ARM)
- Node.js 22 或更高版本
- jq 和 curl
- 一个普通用户账号,不要用 root
- 已安装并登录的 Claude Code(Anthropic 的安装指南)。先运行一次
claude,完成它的首次设置,否则你的 agent 会停在它的主题和登录界面。 - C/C++ 编译工具,仅部分情况需要: 在 macOS 和 glibc Linux(x64/arm64)上不需要,Crewly 使用预编译的二进制文件安装。在 Alpine/musl、glibc 低于 2.28 或其他架构上,或者网络拦截了预编译文件的下载时,请安装 python3、make 和 g++。
crewly doctor会告诉你是否需要。
第 1 步:安装并启动 Crewly
curl -fsSL https://crewlyai.com/install.sh | bash
然后打开一个新的终端,运行:
crewly start
想用 npm?如果你的 Node 来自 Homebrew 或 nodejs.org 安装包,npm install -g crewly 也可以。
- 安装脚本会运行设置向导。
crewly start会在http://localhost:8787打开 dashboard(加上--no-browser就不自动打开)。- 如果有什么不对劲,
crewly doctor会检查你的环境。
第 2 步:添加你的项目
- 打开 Projects,点击 New Project。
- 输入项目的完整绝对路径,或者用 Browse 选择。
- 点击 Create Project。
Crewly 会在项目里创建一个 .crewly/ 文件夹,存放任务、规格说明和项目知识。
第 3 步:创建团队
- 打开 Teams,点击 New Team,起个名字,在 Assigned Project 里选你的项目。
- 添加三个成员,每个都设置 Agent Name、Role 和 Runtime Type:
| Agent Name | Role | Runtime Type |
|---|---|---|
| Backend Dev | backend-developer | Claude CLI |
| Frontend Dev | frontend-developer | Claude CLI |
| QA | qa-engineer | Claude CLI |
- 点击 Create Team。
"Claude CLI" 就是 Claude Code。每个角色都自带提示词。
Crewly dashboard 里一个 agent 设置的截图:Runtime 设为 Claude CLI,模型 sonnet,推理强度 high。
一个跑在 Claude CLI 上的 agent。真实界面、演示数据。
Crewly dashboard 里一个 agent 设置的截图:Runtime 设为 Codex CLI,模型一栏保留运行时默认值,有它自己的推理强度。
同一个团队里,一个跑在 Codex CLI 上的评审 agent。真实界面、演示数据。
第 4 步:启动团队
打开团队,点击 Start Team。每个 agent 的状态会依次变为 inactive、starting、started、active。active 表示 agent 已经在运行并完成了注册。
每个 agent 都是一个独立的终端会话,带着自己的角色提示词运行 claude --dangerously-skip-permissions。正因为这样,它才能不用你每一步都批准就开始工作。
第 5 步:给团队派活
打开 Chat,把任务描述给编排 agent:
Build a REST API with user authentication. The backend dev should handle
the Express routes, the frontend dev should build a login page, and QA
should write integration tests.
编排 agent 会拆分工作并分派出去。agent 会汇报自己的状态、互相发消息,并保存学到的东西,所以重启后的 agent 不会从零开始。
第 6 步:查看和调度
dashboard 和团队页面会显示每个 agent 的实时终端、它是否在工作,以及进行中的任务。给某个 agent 或编排 agent 发消息,就能改变方向。
小贴士:
- 从两三个 agent 开始,并让每个 agent 负责各自的文件。
- 想混用运行时,把一个评审 agent 的 Runtime Type 设为 Claude CLI 或 Codex CLI。
常见问题
怎么并行运行多个 Claude Code agent?
最简单的方法是在两个终端里分别运行 claude --worktree <name>:每个会话都有自己的 git checkout,改动不会互相冲突。旁支任务用 subagent;需要一个负责人会话来协调队友时,用 Claude Code 的实验性 agent teams;想要一支有固定角色、长期运行的团队,用 Crewly 这样的编排工具。
Claude Code 的 agent teams 和 subagent 有什么区别?
subagent 是一个会话内部的帮手,完成后把摘要交回给启动它的 agent。agent teams 是彼此独立的 Claude Code 会话:一个负责人加若干队友,队友之间直接发消息,并共享一个任务列表。agent teams 更耗 token,适合需要讨论的工作。
Claude Code 的 agent teams 默认可用吗?
不可用。根据 Anthropic 的文档(2026-09-24 核对),agent teams 是实验性功能,默认关闭。在环境变量或 settings.json 里设置 CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 即可开启。
同时运行多个 Claude Code agent 需要 tmux 吗?
不需要。worktree 会话只需要几个终端;agent teams 默认在你的主终端里运行,只有分屏模式才需要 tmux 或 iTerm2。Crewly 让每个 agent 在各自的终端会话里运行,不用 tmux。
Claude Code 的 agent teams 能加入 Codex agent 吗?
Claude Code 的 agent teams 由 Claude Code 实例组成。在 Crewly 里,你可以为每个 agent 单独选择运行时,所以一个团队可以混用 Claude Code、Codex 和 OpenCode agent。
Crewly 会取代 Claude Code 吗?
不会。Crewly 运行官方的 Claude Code CLI,用的是你自己的登录。它负责启动会话、给每个 agent 分配角色、协调整个团队;写代码的是 Claude Code,或者你选的其他 CLI。
相关文章
- Crewly 快速上手:安装 Crewly,让一支团队跑起来
- AI agent 团队的五个用例:功能开发、迁移、调研、bug 分诊和文档,每项都拆给一支团队
- Crewly 和 CrewAI 对比:一支编程 CLI 团队,对比一个 Python agent 框架
Crewly 以 MIT 许可证开源,代码在 GitHub 上。