并行运行代理
比较 Claude Code 同时处理多个任务的方式:子代理、代理视图、代理团队和隔离的 worktree 会话。
子代理、代理视图、代理团队 和 worktrees 各自以不同的方式并行化工作。正确的选择取决于您是否想在每个对话中保持参与、交付任务并稍后检查,或让 Claude 为您协调一组工作人员。
| 方法 | 它提供什么 | 何时使用 |
|---|---|---|
| 子代理 | 在一个会话内的委派工作人员,在自己的上下文中执行辅助任务并返回摘要 | 辅助任务会用搜索结果、日志或文件内容淹没您的主对话,而您不会再次引用这些内容 |
| 代理视图 | 一个屏幕来分派和监控在后台运行的会话,使用 claude agents 打开。研究预览 |
您有多个独立任务,想要交付它们,一目了然地检查状态,并仅在需要时介入 |
| 代理团队 | 多个协调的会话,具有共享任务列表和代理间消息传递,由主导者管理。实验性功能,默认禁用 | 您希望 Claude 将项目分成多个部分、分配它们,并保持工作人员同步 |
| Worktrees | 单独的 git 检出,以便并行会话永远不会接触彼此的文件 | 您正在自己运行多个会话,或您的子代理编辑重叠的文件 |
/batch |
将一个大型更改计划分成 5 到 30 个 worktree 隔离的子代理,每个都打开一个拉取请求 | 您可以在一条指令中描述的存储库范围迁移或机械重构 |
在每种方法中,工作人员都是 Claude 会话。要涉及不同的工具,请将其作为 MCP server 公开给 Claude。
您可以组合这些方法。代理视图在需要编辑文件时自动将每个分派的会话移到自己的 worktree 中,您正在处理的会话可以生成子代理,每个子代理都获得自己的 worktree。
同时运行多个会话或子代理会增加令牌使用量。有关使用情况和速率限制详情,请参阅 Costs。
选择一种方法
正确的方法取决于谁协调工作、工作人员是否需要通信以及他们是否编辑相同的文件:
- 谁协调工作? 如果您希望 Claude 在一个对话中委派和收集结果,请使用 子代理。如果您正在交付独立任务并稍后检查它们,请使用 代理视图。如果您希望 Claude 计划、分配和监督一组工作人员,请使用 代理团队,这是实验性的,默认禁用。
- 工作人员需要相互交谈吗? 子代理将结果报告回生成它们的对话,代理视图会话仅向您报告。代理团队中的队友共享任务列表并直接相互发送消息。
- 任务是否接触相同的文件? 使用 worktrees 隔离工作。子代理和您自己运行的会话可以各自使用单独的 worktree。代理团队不会在 worktrees 中隔离队友,因此 分区工作,以便每个队友拥有不同的文件集。
检查运行中的工作
检查运行中工作的命令取决于您使用的方法:
- 对于后台会话,
claude agents打开 代理视图:一个屏幕显示每个会话、其状态以及哪些需要您的输入。 - 对于当前会话中的子代理,
/agents打开一个面板,其中 Running 选项卡列出实时子代理,Library 选项卡是您 创建和编辑自定义子代理 的地方。尽管名称相似,这与claude agents是分开的。 - 对于当前会话后台运行的任何内容,
/tasks列出每个项目,让您检查、附加到或停止它。
有关所有会话的桌面视图,请参阅 桌面应用中的并行会话。
了解更多
下面的每个指南涵盖一种方法的设置和配置:
- 创建自定义子代理:定义可重用的专家并控制他们可以使用的工具。
- 使用代理视图管理代理:分派会话、观察其状态,并在需要时附加。
- 编排代理团队:设置主导者和队友、分配任务并审查他们的工作。
- 使用 worktrees 运行并行会话:在隔离的检出中启动 Claude、控制复制的内容并在之后清理。