第 86 页 / 共 100 页 / 飞书修订版 5

5.Parallelizing Claude Code

此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)

邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org

==================================================

并行运行多个 Claude Code 实例是您能够实现的最大生产力提升之一。由于 Claude 非常轻量级,您可以轻松启动多个副本,为每个副本分配不同的任务,让它们同时工作。这实际上为您提供了一个虚拟软件工程师团队来处理您的项目。

image1.jpeg

核心挑战

并行实例的主要问题是文件冲突。当两个 Claude 实例试图同时修改同一个文件时,由于它们无法感知彼此的更改,可能会写入冲突或无效的代码。

解决方案很简单:为每个实例提供独立的工作空间。每个Claude实例都使用项目的独立副本进行工作,在隔离环境中进行修改,然后将这些更改合并回主项目中。

image2.jpeg

Git 工作树

Git worktrees 是这种工作流程的完美工具。如果你的项目使用 Git(应该使用),你可以立即使用 worktrees。它们就像是 Git 分支系统的扩展,可以在独立的目录中创建项目的完整副本。

image3.jpeg

每个工作树对应一个单独的分支。你可以拥有:

  • 在一个文件夹中创建功能分支
  • 另一个文件夹中的 Feature B 分支
  • 每个都包含您代码库的完整副本
  • 在每个实例中运行独立的 Claude Code 实例
image4.jpeg

当每个 Claude 实例完成其工作后,你需要提交更改并将它们合并回主分支,就像任何正常的 Git 工作流程一样。

image5.jpeg

自动化工作树创建

与其手动创建工作树,您可以让 Claude 处理整个过程。以下是一个创建工作树并设置工作空间的提示:

image6.jpeg

这个提示告诉 Claude:

  1. 检查工作树是否已存在
  2. 在 .trees 文件夹中创建一个新的 Git worktree
  3. 创建 .venv 文件夹的符号链接(因为虚拟环境不会被 Git 跟踪)
  4. 在该目录中启动一个新的 VSCode 实例

自定义斜杠命令

反复输入长提示词会变得很繁琐。Claude Code 支持自定义命令来自动化这个过程。

image7.jpeg

创建自定义命令:

  • 将 .md 文件添加到 .claude/commands
  • 将您的提示词放入文件中
  • 使用 $ARGUMENTS 作为动态值的占位符
  • 使用 /project:filename 参数运行

例如,`/project:create_worktree feature_b` 会创建一个名为 "feature_b" 的工作树。

并行开发工作流

以下是典型的并行开发会话的工作方式:

image8.jpeg
  1. 为不同功能创建多个工作树
  2. 在每个工作区中启动 Claude Code
  3. 为每个实例分配不同的任务
  4. 让它们并行工作
  5. 每个任务完成时提交更改
  6. 将所有分支合并回主分支
image9.jpeg

自动合并

您也可以通过另一个自定义命令来自动化合并过程。创建一个合并提示,它:

image10.jpeg
  1. 切换到工作树目录
  2. 检查最新提交
  3. 返回到根目录
  4. 合并工作树分支
  5. 自动处理任何合并冲突
  6. 基于对变更内容的理解来解决冲突

Claude 甚至可以智能地处理合并冲突,理解来自不同分支的变更上下文,并适当地解决这些冲突。

扩展您的开发

这种方法可以扩展到您能够有效管理的任意数量的并行实例。您只受以下因素限制:

  • 您的机器资源
  • 您协调多个任务的能力
  • 潜在合并冲突的复杂性

生产力提升是显著的——您可以同时开发多个功能,而不是按顺序逐个开发功能,这大大缩短了复杂项目的开发时间。

==================================================



此文档由 学习AI的1000天 翻译制作(抖音,B站,YouTube)
邮箱: szqshan@gmail.com | 微信: szqshan
网址: www.xueai.org