Claude Code | | 约 7 分钟 | 2,584 字

Claude Code /batch 技能:大规模代码变更的并行处理

深入了解 Claude Code 的 /batch 技能,轻松处理大规模代码迁移和批量修改

什么是 /batch 技能?

/batch 是 Claude Code 强大的大规模代码变更处理技能。它能够将大型代码变更分解为多个独立单元,在隔离的 git worktree 中并行执行,大幅提升大规模重构和迁移的效率。

核心特性

  • 智能任务分解:自动将大型变更分解为 5-30 个独立单元
  • Git Worktree 隔离:每个单元在独立的 git worktree 中执行
  • 自动 PR 创建:每个单元完成后自动创建 Pull Request

基本用法

运行批量迁移

/batch migrate src/ from Solid to React
/batch rename all handleClick to handlePress
/batch add TypeScript types to src/

交互式确认

运行后会展示分解计划,等待你确认后开始执行:

/batch migrate src/ from Solid to React

计划:
1. packages/ui/Button.tsx - 迁移 Button 组件
2. packages/ui/Input.tsx - 迁移 Input 组件
3. packages/form/Form.tsx - 迁移 Form 组件
...

确认执行? (y/n)

工作原理

1. 任务分析阶段

/batch 首先分析代码库,理解变更需求:

  • 识别需要修改的文件
  • 分析文件间的依赖关系
  • 确定可以并行处理的独立单元

2. 任务分解阶段

将大型任务分解为独立单元:

原始任务:将 50+ 个文件从 JavaScript 迁移到 TypeScript

分解为:
单元 1: utils/api.ts → 类型定义 + 类型注解
单元 2: utils/helpers.ts → 类型定义 + 类型注解
单元 3: components/Button.tsx → 组件迁移
... (最多 30 个单元)

3. 并行执行阶段

每个单元在独立的 git worktree 中执行:

单元 1 (worktree-1): claude --worktree packages/ui/Button
单元 2 (worktree-2): claude --worktree packages/ui/Input
单元 3 (worktree-3): claude --worktree packages/form/Form
... (并行执行)

4. PR 创建阶段

每个单元完成后自动创建 Pull Request:

  • 自动生成 PR 描述
  • 包含变更摘要
  • 链接到相关 Issue

实际案例

案例 1:框架迁移

将整个前端从 Vue 2 迁移到 Vue 3:

/batch migrate frontend/ from Vue2 to Vue3

系统自动:

  1. 识别所有 Vue 组件
  2. 按模块分解为独立任务
  3. 在独立 worktree 中迁移每个模块
  4. 创建独立的 PR 便于 Code Review

案例 2:大规模重命名

重命名项目中所有 handleClickhandlePress

/batch rename handleClick to handlePress

案例 3:添加类型定义

为整个代码库添加 TypeScript 类型:

/batch add TypeScript types to src/

Git Worktree 隔离

/batch 使用 git worktree 确保每个任务独立执行:

优势

  • 完全隔离:每个任务的修改不影响其他任务
  • 并行执行:充分利用多核 CPU
  • 失败恢复:单个任务失败不影响其他任务
  • 独立 PR:每个任务独立 Review

工作目录结构

project/
├── .git/
├── src/
├── packages/
└── .claude/worktrees/
    ├── worktree-1/ (单元 1)
    ├── worktree-2/ (单元 2)
    └── worktree-3/ (单元 3)

限制与注意事项

Git 仓库要求

/batch 需要在 git 仓库中运行:

cd your-project
/batch your-task

任务规模

  • 最小任务:5 个独立单元
  • 最大任务:30 个独立单元
  • 超过限制会自动分批处理

网络依赖

需要网络连接来:

  • 克隆 worktree
  • 创建 PR(如使用 GitHub)

常见问题

Q: 任务可以中断吗?

可以。使用 Ctrl+C 中断,worktree 会保留,下次可以继续。

Q: 如何查看任务进度?

每个 worktree 会有实时日志输出,主进程显示整体进度。

Q: 冲突如何处理?

如果单元间有依赖冲突,会暂停等待你解决后继续。

Q: 全部完成需要多久?

取决于任务规模和并行能力,一般比串行快 5-10 倍。


总结

/batch 技能是处理大规模代码变更的终极工具:

  • 智能分解:自动识别独立工作单元
  • 隔离执行:使用 git worktree 确保安全
  • 自动 PR:每个变更独立 Review
  • 并行处理:大幅提升效率

当你面对大规模重构或迁移时,/batch 是你的最佳选择!

评论

加载中...

相关文章

分享:

评论

加载中...