返回博客
claude-codemulti-agentagent-teamstutorialorchestration

Claude Code 多 agent 并行:4 种方式对比

同时运行多个 Claude Code agent:git worktree、subagent、agent teams,还是 Crewly 这类编排工具?各自适合什么场景,附分步搭建教程。

C
Crewly Team
阅读约 9 分钟
分享

目录

同时运行多个 Claude Code 的 AI agent(智能体),有四种办法:

  1. Git worktree: 你自己运行多个会话,每个会话在各自的 checkout 里。
  2. subagent: 一个会话为旁支任务启动的帮手。
  3. agent teams: Claude Code 的实验性功能,由一个负责人会话协调几个队友。
  4. Crewly 这类编排工具: 替你让一支团队长期运行。

它们解决的是不同的问题。本文依据 Anthropic 的文档(2026-09-24 核对),说明每种方式适合什么场景,然后一步步搭建第四种。

该用哪种?简短的回答

Git worktreesubagentagent teams编排工具(Crewly)
是什么几个独立的会话,各自在自己的 git checkout 里一个会话内部的帮手,各有自己的上下文一个负责人会话加若干队友会话一支长期运行的 agent 团队,每个 agent 在自己的终端里
谁来协调你主 agent负责人、共享任务列表和队友们编排 agent,以及你在 dashboard 或 Slack 里
agent 之间能对话吗默认不能把结果交回给启动它的 agent能,直接对话能,通过 Crewly
能延续到会话之外吗每个会话由你自己恢复不能每个会话一个团队能
需要安装吗内置内置内置,实验性,默认关闭安装 Crewly
最适合几个由你亲自掌控的并行任务专注的旁支任务需要讨论的调研、评审和功能开发长期运行的固定角色,以及混用运行时

示意图:四种方式各由谁来协调。Git worktree 是你;subagent 是主 agent;agent teams 是负责人、共享任务列表和队友们;Crewly 这类编排工具是编排 agent,以及你在 dashboard 或 Slack 里。示意图:四种方式各由谁来协调。Git worktree 是你;subagent 是主 agent;agent teams 是负责人、共享任务列表和队友们;Crewly 这类编排工具是编排 agent,以及你在 dashboard 或 Slack 里。

四种方式,各由谁来协调,出自上面的对比表(示意图)。

1. Git worktree:你自己运行多个会话

git worktree 是仓库的一份独立 checkout,在自己的分支上,所以并行的改动不会互相冲突。Claude Code 内置了这个功能:

bash
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 teamsCrewly
状态实验性,默认关闭独立的开源应用
团队存在于哪里一个会话之内;每个会话一个团队在 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

bash
curl -fsSL https://crewlyai.com/install.sh | bash

然后打开一个新的终端,运行:

bash
crewly start

想用 npm?如果你的 Node 来自 Homebrew 或 nodejs.org 安装包,npm install -g crewly 也可以。

  • 安装脚本会运行设置向导。
  • crewly start 会在 http://localhost:8787 打开 dashboard(加上 --no-browser 就不自动打开)。
  • 如果有什么不对劲,crewly doctor 会检查你的环境。

第 2 步:添加你的项目

  1. 打开 Projects,点击 New Project。
  2. 输入项目的完整绝对路径,或者用 Browse 选择。
  3. 点击 Create Project。

Crewly 会在项目里创建一个 .crewly/ 文件夹,存放任务、规格说明和项目知识。

第 3 步:创建团队

  1. 打开 Teams,点击 New Team,起个名字,在 Assigned Project 里选你的项目。
  2. 添加三个成员,每个都设置 Agent Name、Role 和 Runtime Type:
Agent NameRoleRuntime Type
Backend Devbackend-developerClaude CLI
Frontend Devfrontend-developerClaude CLI
QAqa-engineerClaude CLI
  1. 点击 Create Team。

"Claude CLI" 就是 Claude Code。每个角色都自带提示词。

Crewly dashboard 里一个 agent 设置的截图:Runtime 设为 Claude CLI,模型 sonnet,推理强度 high。Crewly dashboard 里一个 agent 设置的截图:Runtime 设为 Claude CLI,模型 sonnet,推理强度 high。

一个跑在 Claude CLI 上的 agent。真实界面、演示数据。

Crewly dashboard 里一个 agent 设置的截图:Runtime 设为 Codex CLI,模型一栏保留运行时默认值,有它自己的推理强度。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 以 MIT 许可证开源,代码在 GitHub 上。

准备好编排你的 AI 团队了吗?

开始使用 Crewly,把多个 Claude Code、Codex 或 Antigravity agent 组成一支协同工作的团队来运行。

curl -fsSL https://crewlyai.com/install.sh | bash阅读文档 →

然后打开一个新的终端,运行:

crewly start

相关文章