Skip to content

多 Claude 协作

在复杂项目中,你可能需要同时运行多个 Claude Code 会话来处理不同的任务。掌握多会话协作技巧可以显著提升工作效率。

为什么使用多会话

并行处理任务

同时处理多个独立任务:

  • 会话 1:实现新功能
  • 会话 2:修复 bug
  • 会话 3:编写文档
  • 会话 4:代码审查

保持上下文隔离

不同任务使用独立的上下文窗口:

  • 避免上下文混乱
  • 保持每个会话的焦点
  • 减少不相关信息的干扰

专业化分工

为不同类型的任务创建专门的会话:

  • 开发会话:编写和修改代码
  • 调试会话:排查和修复问题
  • 审查会话:代码审查和质量检查
  • 研究会话:技术调研和学习

会话组织策略

按功能模块划分

为每个功能模块创建独立会话:

会话 1: 用户认证模块
会话 2: 支付系统
会话 3: 通知服务
会话 4: 数据分析

按开发阶段划分

根据开发阶段组织会话:

会话 1: 需求分析和设计
会话 2: 核心功能实现
会话 3: 测试和调试
会话 4: 优化和重构

按角色划分

模拟不同角色的工作方式:

会话 1: 前端开发
会话 2: 后端开发
会话 3: DevOps
会话 4: 技术架构师

会话命名和标识

使用描述性名称

为每个会话使用清晰的名称:

✅ 好的命名:
- "用户认证重构"
- "支付 API 集成"
- "性能优化-数据库查询"

❌ 不好的命名:
- "会话 1"
- "临时"
- "测试"

添加上下文标记

在会话开始时设定上下文:

这个会话专注于用户认证模块的重构。
技术栈:Node.js, Express, JWT
目标:提高安全性和性能

会话间协调

共享决策

在一个会话中做出的重要决策应该在其他会话中应用:

会话 1 决策:使用 Zod 进行数据验证

会话 2 开始时:
我们已经决定使用 Zod 进行数据验证,
请在实现支付 API 时遵循这个决策

接口约定

在会话间建立清晰的接口约定:

会话 1(后端):
定义 API 接口:
POST /api/users
Request: { name, email, password }
Response: { id, name, email, token }

会话 2(前端):
根据后端定义的接口实现用户注册功能

依赖管理

明确会话间的依赖关系:

会话 2 依赖会话 1:
等待会话 1 完成数据库 schema 定义后,
再开始实现 API 端点

工作流模式

串行工作流

任务按顺序完成:

1. 会话 1: 设计数据模型

2. 会话 2: 实现后端 API

3. 会话 3: 开发前端界面

4. 会话 4: 集成测试

并行工作流

任务同时进行:

会话 1: 实现用户模块 ⟶
会话 2: 实现订单模块 ⟶  合并和集成
会话 3: 实现支付模块 ⟶

迭代工作流

循环改进:

会话 1: 实现 → 会话 2: 测试 → 会话 3: 优化
   ↑                                      ↓
   ←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←←

代码同步策略

使用 Git 分支

每个会话使用独立的分支:

会话 1: feature/user-auth
会话 2: feature/payment
会话 3: feature/notifications

定期合并到主分支:

git checkout main
git merge feature/user-auth
git merge feature/payment

避免冲突

协调文件修改:

会话 1: 只修改 src/auth/ 目录
会话 2: 只修改 src/payment/ 目录
会话 3: 只修改 src/notifications/ 目录

共享代码

将共享代码放在公共位置:

src/
  shared/
    utils/
    types/
    constants/
  features/
    auth/      (会话 1)
    payment/   (会话 2)
    notify/    (会话 3)

通信和协调

决策日志

记录重要决策:

docs/decisions/
  001-use-zod-validation.md
  002-jwt-token-strategy.md
  003-database-schema.md

每个会话都可以参考这些决策。

接口文档

维护接口文档:

docs/api/
  users.md
  payments.md
  notifications.md

进度跟踪

使用任务列表跟踪进度:

TODO.md:
- [x] 会话 1: 用户认证 API
- [x] 会话 2: 支付集成
- [ ] 会话 3: 邮件通知
- [ ] 会话 4: 集成测试

专业化会话示例

开发会话

专注于功能实现:

会话目标:实现用户个人资料功能
任务:
1. 创建数据模型
2. 实现 CRUD API
3. 开发前端界面
4. 添加表单验证

调试会话

专注于问题排查:

会话目标:修复登录失败问题
步骤:
1. 重现问题
2. 检查日志
3. 分析代码
4. 修复 bug
5. 验证修复

审查会话

专注于代码质量:

会话目标:审查支付模块代码
检查项:
1. 代码规范
2. 安全性
3. 性能
4. 测试覆盖率
5. 文档完整性

研究会话

专注于技术调研:

会话目标:评估状态管理方案
任务:
1. 研究 Redux vs Zustand
2. 对比性能和复杂度
3. 评估学习曲线
4. 提供推荐方案

上下文传递

会话摘要

在结束会话时创建摘要:

会话 1 摘要:
完成内容:
- 实现用户认证 API
- 添加 JWT 令牌生成
- 实现密码加密

待办事项:
- 添加刷新令牌
- 实现邮箱验证
- 添加单元测试

关键决策:
- 使用 bcrypt 加密密码
- JWT 过期时间设为 1 小时

新会话初始化

使用摘要初始化新会话:

继续会话 1 的工作。
之前完成:用户认证 API 基础实现
现在任务:添加刷新令牌功能
技术栈:Node.js, Express, JWT

资源管理

避免资源冲突

确保会话不会竞争资源:

会话 1: 使用端口 3000
会话 2: 使用端口 3001
会话 3: 使用端口 3002

数据库隔离

使用不同的数据库实例:

会话 1: dev_db_1
会话 2: dev_db_2
会话 3: dev_db_3

或使用不同的 schema:

会话 1: public.users
会话 2: testing.users
会话 3: staging.users

质量保证

交叉验证

让不同会话验证彼此的工作:

会话 1: 实现功能
会话 2: 编写测试
会话 3: 代码审查
会话 4: 性能测试

集成测试

专门的会话进行集成测试:

会话 4(集成测试):
测试会话 1、2、3 实现的功能的集成:
1. 用户注册
2. 登录
3. 创建订单
4. 支付
5. 接收通知

最佳实践

保持会话焦点

每个会话专注于单一目标:

✅ 好的焦点:
会话 1: 实现用户认证

❌ 不好的焦点:
会话 1: 实现用户认证、支付、通知和报表

定期同步

定期在会话间同步进度:

每天结束时:
1. 提交所有更改
2. 更新进度文档
3. 记录遇到的问题
4. 计划第二天的任务

文档驱动

使用文档协调会话:

docs/
  architecture.md    (架构设计)
  api-spec.md       (API 规范)
  database.md       (数据库设计)
  progress.md       (进度跟踪)

清晰的边界

明确每个会话的职责边界:

会话 1 职责:
- 用户认证 API
- 不包括:前端实现、部署配置

会话 2 职责:
- 认证相关的前端组件
- 不包括:API 实现、测试

工具支持

终端复用

使用 tmux 或 screen 管理多个会话:

bash
# 创建命名会话
tmux new -s auth
tmux new -s payment
tmux new -s notify

# 在会话间切换
tmux attach -t auth

IDE 工作区

使用 IDE 的工作区功能:

workspace-1: 认证模块
workspace-2: 支付模块
workspace-3: 通知模块

Git Worktree

使用 Git worktree 隔离工作:

bash
git worktree add ../auth-work feature/auth
git worktree add ../payment-work feature/payment
git worktree add ../notify-work feature/notify

常见场景

场景 1:大型功能开发

会话 1: 后端 API 开发
会话 2: 前端界面开发
会话 3: 数据库迁移
会话 4: 文档编写

场景 2:紧急 Bug 修复

会话 1: 继续正常开发
会话 2: 修复紧急 bug
会话 3: 验证修复

场景 3:代码重构

会话 1: 重构模块 A
会话 2: 重构模块 B
会话 3: 更新测试
会话 4: 更新文档

场景 4:技术升级

会话 1: 升级依赖包
会话 2: 修复兼容性问题
会话 3: 更新配置
会话 4: 测试验证

陷阱和解决方案

陷阱 1:会话过多

问题:同时运行太多会话,难以管理

解决:限制活跃会话数量(建议 2-4 个)

陷阱 2:上下文丢失

问题:会话间信息不同步

解决:使用文档和 Git 提交记录同步信息

陷阱 3:代码冲突

问题:多个会话修改相同文件

解决:明确划分职责边界,使用独立分支

陷阱 4:重复工作

问题:不同会话做了相同的工作

解决:维护任务列表,明确分工

效率提升技巧

模板化初始化

为常见会话类型创建初始化模板:

新建功能开发会话:
1. 创建 feature 分支
2. 设置开发环境
3. 加载相关文档
4. 明确任务目标

快速切换

使用别名快速切换会话:

bash
alias auth="tmux attach -t auth"
alias payment="tmux attach -t payment"
alias notify="tmux attach -t notify"

自动化协调

使用脚本自动化常见协调任务:

bash
# sync-sessions.sh
git fetch origin
git merge origin/main
npm install
npm test

总结

多 Claude 协作的关键是:

  • 清晰的职责划分
  • 有效的沟通机制
  • 良好的代码组织
  • 定期的同步和集成
  • 适当的工具支持

通过掌握这些技巧,你可以高效地管理复杂项目,充分发挥 Claude Code 的潜力。

基于 MIT 许可发布