使用 Claude Code 同步开发多个 Feature 的最佳实践

整理于 2026-04-07 | 基于 Anthropic 官方文档、Claude Code 创始人工作流、社区实践等多方资料


核心理念

Claude Code 创始人 Boris Cherny 称并行执行是 "最大的生产力飞跃"(the single biggest productivity unlock),也是整个 Claude Code 工程团队一致认同的第一技巧。


三个层级的并行开发

Level 1:手动 Worktree 会话(最简单、最常用)

Git worktree 是并行开发的基础。每个 worktree 拥有独立的工作目录和分支,共享同一仓库历史。

bash
# 启动独立 worktree 会话
claude --worktree feature-auth    # 或简写 claude -w feature-auth
claude -w bugfix-123
claude -w feature-dashboard

# 自动生成随机名称
claude -w
  • Worktree 创建在 <repo>/.claude/worktrees/<name>/
  • 自动从 origin/HEAD 创建分支 worktree-<name>
  • 退出时:无更改自动清理,有更改会提示保留或删除

实用建议:3-5 个并行 worktree 是大多数开发者的舒适上限。

Level 2:子代理 Worktree(单会话内并行)

在一个 Claude 会话中,子代理可以使用 worktree 隔离来并行工作:

  • 在自定义子代理的 frontmatter 中添加 isolation: worktree
  • 或直接要求 Claude "use worktrees for your agents"
  • 最多可并行 7 个子代理
  • 支持前台(等待结果)和后台(异步执行)模式

Level 3:Agent Teams(最强大,实验性)

多个完整 Claude Code 实例协作为一个团队:

bash
# 需要先在 settings.json 中启用
CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

特性:

  • 共享任务列表 + 依赖追踪
  • 代理间点对点消息通信
  • 文件锁定防止冲突
  • 队友需在 Plan Mode 下工作,由 Lead 审批后执行
  • 支持 tmux/iTerm2 分屏显示

Boris Cherny 的个人工作流

Claude Code 创始人的日常开发方式:

  1. 终端中运行 5 个 Claude Code 实例(5 个独立 git checkout)
  2. 在 claude.ai/code 上再运行 5-10 个会话
  3. 总计 10-15 个并行会话
  4. 始终先用 Plan Mode —— 反复迭代计划直到满意,再切换到 auto-accept 模式一次性执行
  5. 使用 Opus + thinking —— "因为操控更少、工具使用更好,几乎总是比小模型更快"
  6. 维护 CLAUDE.md 文件:每次 Claude 做错什么就记录下来,下次就不会重犯

关键最佳实践

1. 任务拆分原则

  • 文件边界是黄金法则:并行只在代理触碰不同文件时才能顺利工作
  • 每个队友分配 5-6 个任务为宜
  • 任务应是自包含的单元,产出明确的交付物(一个函数、一个测试文件、一次 review)
  • 避免过度并行化(10 个代理做一个简单功能 = 浪费 token + 协调开销)

2. CLAUDE.md 范围管理

  • 在每个 worktree 根目录放置特定的 CLAUDE.md,给每个会话任务专属的指令
  • 仓库根目录的 CLAUDE.md 放通用约定,worktree 级别的放具体任务上下文
  • 精确的 scope 可以防止代理之间的工作重叠

3. 环境配置

gitignore
# .gitignore 中添加
.claude/worktrees/
bash
# .worktreeinclude 文件 —— 自动复制 gitignored 文件到新 worktree
.env
.env.local

4. 资源隔离

  • 多个 worktree 可能会产生资源冲突(测试打同一个数据库/端口)
  • 为每个 worktree 使用不同端口或数据库名
  • 优先利用 CI 做预览环境,而非本地解决所有资源问题
  • 记得在每个 worktree 中安装依赖(npm install 等)

5. 合并策略

  • 频繁从 main 合并以保持分支更新
  • 定期在每个 worktree 中执行 git fetch && git merge
  • 利用测试套件作为主要的"沟通机制"(Anthropic 内部经验)

6. 会话管理

  • 用 /rename 给会话起描述性名称,方便后续 /resume
  • 设置 Notification hooks 以便会话需要注意时收到桌面通知
  • 使用 Plan Mode(Shift+Tab 两次)启动每个任务

方案选择指南

方案最适合场景Token 消耗
手动 worktree (-w)独立的 feature、bug fix 并行开发最低
子代理 + isolation: worktree单次对话中可并行的子任务中等
Agent Teams需要讨论和跨代理协调的复杂工作最高
单会话顺序任务、同文件编辑、强依赖工作基准

真实案例

Anthropic C 编译器项目

  • 在 Docker 容器中运行 16 个并行 Claude 实例
  • 两周内完成近 2000 个 Claude Code 会话,消耗 20 亿 input tokens
  • 使用基于文件的 git 锁进行任务协调
  • 代理分工:核心实现、去重、性能优化、代码质量、文档
  • 核心教训:测试套件成为自治代理之间的主要沟通机制

incident.io

  • 自定义 w bash 函数简化 worktree 管理
  • Plan Mode + 并行 worktree 结合,实现自信的自主执行
  • 用语音输入做复杂功能定义,然后让 Claude 并行实现
  • 10 分钟内实现 90% 可用的 UI 组件

替代方案与第三方工具

GitButler(无需 Worktree)

通过 Claude Code 生命周期 hooks,在同一个工作目录中运行多个会话:

  • Hooks 通知 GitButler 文件变更和会话 ID
  • 每个会话的工作自动路由到不同分支
  • 无需每个 worktree 重新安装依赖

Parallel Code

免费开源桌面应用,自动为每个 AI 编码代理创建 git branch 和 worktree,支持手机监控进度。

ccmanager

多代理会话管理器,支持 Claude Code、Gemini CLI、Codex CLI、Cursor Agent 等。


快速上手清单

  1. 在 .gitignore 中添加 .claude/worktrees/
  2. 创建 .worktreeinclude 列出需要复制的 env 文件
  3. 在仓库根目录建立完善的 CLAUDE.md
  4. 启动会话:claude -w feature-a、claude -w feature-b、claude -w bugfix-c
  5. 每个会话先用 Plan Mode 迭代计划,满意后切换 auto-accept
  6. 用 /rename 命名会话,方便 /resume
  7. 设置通知 hooks 掌握各会话状态
  8. 退出时清理已完成的 worktree

已知限制

  • 并行实例过多可能出现 segfault(#20801)
  • Worktree 会分裂对话历史、auto-memory 和项目设置(#34437)
  • Agent Teams 不支持 /resume 恢复队友
  • 队友可能遗忘标记任务完成,阻塞依赖任务
  • 不支持嵌套团队,每个会话仅限一个团队

参考资料

Linked from

Comments (0)

No comments yet

imfht
April 7, 2026