StartLinkでは、こうした取り組みを企業規模に合わせてご支援しています。
StartLinkでは、こうした取り組みを企業規模に合わせてご支援しています。
ブログ目次
HubSpot導入、AI活用、CRM整備、業務効率化までをまとめて支援しています。記事で気になったテーマを、そのまま相談ベースで整理できます。
プロジェクト全体のテストファイル生成、型定義の一括変更、importパスの統一修正——こうした大規模なコード変更を1ファイルずつ順番に処理するのは、Claude Codeを使っていても時間がかかります。/batchコマンドは、Git worktreeと並列エージェントを組み合わせて、複数のファイル変更を同時並行で実行する機能です。1つのセッションで数十ファイルの変更を安全かつ高速に完了できます。
数十ファイルにまたがる大規模なコード変更を、並列エージェントで安全かつ高速に一括実行する/batchコマンドの使い方を解説します。
対象読者: 大規模リファクタリングやコード変更を効率的に進めたいエンジニア
/batchは、Claude Codeが複数の独立したタスクを並列エージェントで同時実行するコマンドです。
内部的には、Git worktree(Gitの作業ツリー分離機能)を活用して、各エージェントが独立した作業ディレクトリで同時にコードを変更します。変更が完了すると、各worktreeの変更を元のブランチにマージします。これにより、互いに干渉しない独立したファイル変更を高速に並列処理できます。
/batch src/components/配下の全コンポーネントにユニットテストを追加してください
Claude Codeが対象ファイルを分析し、独立して処理可能な単位に自動分割した上で、複数のエージェントが並列にテストファイルを生成します。
/batch 以下のファイルのimportパスを@/lib/から@/utils/に変更してください: src/components/Header.tsx, src/components/Footer.tsx, src/components/Sidebar.tsx, src/pages/index.tsx, src/pages/about.tsx
対象ファイルを明示的に指定することで、より精密な並列実行が可能です。
/batchの内部処理は以下の順序で進みます。
| Step | 処理内容 | 説明 |
|---|---|---|
| 1 | タスク分析 | 指示内容を分析し、独立して処理可能な単位に分割 |
| 2 | worktree作成 | 各タスクに専用のGit worktreeを作成 |
| 3 | 並列実行 | 各worktreeで個別のエージェントがタスクを実行 |
| 4 | 結果検証 | 各worktreeの変更結果をビルド・テストで検証 |
| 5 | マージ | 検証に通った変更を元のブランチにマージ |
| 6 | クリーンアップ | 使用済みのworktreeを削除 |
既存コードにテストが不足しているプロジェクトで、一括でテストファイルを追加する場面です。
Before(順次実行):
20個のコンポーネントに対してテストを1つずつ生成。1ファイルあたり2-3分かかり、全体で約50分。途中でコンテキストが溢れ、後半のテストの品質が低下する。
After(/batchで並列実行):
/batch src/components/配下の全.tsxファイルにReact Testing Libraryを使ったユニットテストを追加してください。各テストファイルは対応するコンポーネントと同じディレクトリに配置し、ファイル名は{コンポーネント名}.test.tsxとしてください
5つの並列エージェントが各4ファイルを担当し、全20ファイルのテストを約10分で生成。各エージェントが独立したコンテキストで作業するため、後半でも品質が維持されます。
APIレスポンスの型定義が変更された場合、その型を使用している全ファイルの修正が必要です。
Before(順次実行):
User型にcreatedAtフィールドが追加された場合、User型を参照している30ファイルを1つずつ修正。修正漏れが発生しやすく、ビルドエラーの解消に追加の時間がかかる。
After(/batchで並列実行):
/batch src/types/user.tsのUser型にcreatedAt: stringフィールドが追加されました。このUser型を使用している全ファイルについて、createdAtフィールドへの対応(表示、フォーム、バリデーション)を追加してください
各エージェントが担当ファイルの文脈を理解した上で、コンポーネントの表示処理、フォームのバリデーション、APIクライアントのシリアライズ処理など、ファイルの役割に応じた適切な修正を並列で実行します。
プロジェクトのディレクトリ構造を変更した後、全ファイルのimportパスを一括修正する場面です。
Before(順次実行):
src/lib/をsrc/utils/にリネーム後、importパスの修正を1ファイルずつ実行。ファイル数が多いため、途中で修正パターンがずれて一貫性が失われる。
After(/batchで並列実行):
/batch 全ての.ts/.tsxファイルについて、import文の@/lib/を@/utils/に変更してください。re-exportファイルがある場合はそのパスも更新してください
全ファイルのimportパスが並列で一括修正されます。各エージェントは同じルール(@/lib/ → @/utils/)に従って機械的に処理するため、修正の一貫性が保たれます。なお、Claude Codeを活用した経営データの可視化やコンテンツマーケティングの支援についても、具体的な取り組みをご紹介しています。
並列実行の特性上、/batchには向き・不向きがあります。
| タスク | 理由 |
|---|---|
| テストファイルの一括生成 | 各テストファイルが独立しており、並列処理と相性が良い |
| importパスの一括修正 | 機械的な置換で、ファイル間の依存がない |
| コメント・ドキュメントの一括追加 | 各ファイルの変更が独立している |
| リントエラーの一括修正 | 各ファイルの修正が他ファイルに影響しない |
| 国際化(i18n)対応の一括追加 | 各コンポーネントの文字列抽出が独立している |
| タスク | 理由 |
|---|---|
| アーキテクチャの大規模変更 | ファイル間の依存関係が複雑で、並列処理するとコンフリクトが発生 |
| データベーススキーマの変更 | マイグレーションの順序依存性があり、並列実行できない |
| 共通ユーティリティの新規作成と利用 | ユーティリティの作成と利用側の変更に順序依存がある |
| 状態管理ストアの設計変更 | 複数コンポーネントが同じストアに依存しており、同時変更は危険 |
判断基準は「各ファイルの変更が他のファイルの変更に依存しないか」です。依存がなければ/batchに適しています。依存がある場合は、通常モードで順次実行するか、/planコマンドで事前に実行順序を計画してください。
/batchが使うGit worktreeは、1つのGitリポジトリから複数の作業ディレクトリを作成する機能です。各worktreeは独立したブランチまたはコミットをチェックアウトした状態で存在し、互いのファイル変更が干渉しません。
メインの作業ディレクトリ(元のブランチ)
├── worktree-1/(エージェント1が担当するファイル群)
├── worktree-2/(エージェント2が担当するファイル群)
├── worktree-3/(エージェント3が担当するファイル群)
└── worktree-4/(エージェント4が担当するファイル群)
同じファイルを複数のエージェントが編集した場合、マージ時にコンフリクトが発生します。/batchはタスクを分割する際にファイルの重複を避けるよう設計されていますが、共通のファイル(型定義ファイル、設定ファイルなど)が影響を受ける場合は注意が必要です。
| チェック項目 | 内容 |
|---|---|
| コミット済みか | 未コミットの変更がある状態で/batchを実行しない |
| タスクの独立性 | 各タスクが異なるファイルを対象にしているか確認 |
| 共通ファイルの排除 | package.jsonやtsconfig.jsonなど共通設定ファイルの同時変更を避ける |
| ブランチの状態 | mainブランチではなく、作業ブランチで実行する |
1. git status で未コミット変更がないことを確認
2. 作業ブランチを作成(git checkout -b feature/batch-update)
3. /plan で変更計画を作成し、タスクの独立性を確認
4. /batch で並列実行
5. 実行後にgit diff で変更内容を確認
6. テスト実行で品質を検証
大規模変更は「/planで計画→レビュー→/batchで実行」のフローが最も安全です。/planの段階でタスクの独立性を確認し、並列実行可能な単位に分割できるかを見極めます。
/batchの実行後、/diffで全ファイルの変更差分を確認します。並列処理で意図しない変更が含まれていないか、全エージェントの変更が一貫しているかを検証する重要なステップです。
/batchの実行結果はコンテキストを大きく消費します。実行後に/compactで結果をまとめ、次のタスクに備えてコンテキストを回復させます。
ただし、すべての企業に同じアプローチが当てはまるわけではありません。自社の規模や業界特性、既存システムとの制約を踏まえた上で、段階的に導入することが重要です。
StartLinkでは、こうした取り組みを企業規模に合わせてご支援しています。
まずは自社の現状を棚卸しし、最も効果が見込める領域から第一歩を踏み出してみてください。
属人化を防ぎ、チーム全体で再現可能な仕組みとして標準化することが成功の鍵です。
自社の業務フローや要件に応じて、段階的にカスタマイズしていくことをおすすめします。
並列エージェントの数はClaude Codeが対象タスクの規模に応じて自動的に決定します。手動で並列数を指定する場合は、タスクの分割を明示的に行い、各エージェントの担当範囲を指示に含めます。例えば「src/components/A-Fを1グループ、G-Lを1グループとして並列処理してください」のように指定します。
1つのエージェントでエラーが発生しても、他のエージェントの処理は継続します。エラーが発生したタスクはスキップされ、実行完了後にエラーの内容と対象ファイルが報告されます。エラーが発生したファイルだけを通常モードで個別に修正できます。
Git worktreeを使用するため、Gitリポジトリであることが前提です。Gitで管理されていないプロジェクトでは/batchは使用できません。Gitの初期化(git init)を行い、少なくとも1回のコミットがある状態にしてから使用してください。
/batchはClaude Code内部でGit worktreeを自動管理し、タスクの分割・並列実行・結果のマージを一貫して処理します。手動で複数セッションを開く場合は、タスクの分割・コンフリクト回避・マージを自分で管理する必要があります。独立したファイル変更の一括処理には/batchが適しており、異なる種類のタスクを同時進行する場合は手動の複数セッションが適しています。チーム開発での並列作業については「Claude Codeマルチエージェント開発」で詳しく解説しています。
株式会社StartLinkは、事業推進に関わる「販売促進」「DXによる業務効率化(ERP/CRM/SFA/MAの導入)」などのご相談を受け付けております。 サービスのプランについてのご相談/お見積もり依頼や、ノウハウのお問い合わせについては、無料のお問い合わせページより、お気軽にご連絡くださいませ。
株式会社StartLink 代表取締役。累計150社以上のHubSpotプロジェクト支援実績を持ち、Claude CodeやHubSpotを軸にしたAI活用支援・経営基盤AXのコンサルティング事業を展開。
HubSpotのトップパートナー企業や大手人材グループにて、エンタープライズCRM戦略策定・AI戦略ディレクションを経験した後、StartLinkを創業。現在はCRM×AIエージェントによる経営管理支援を専門とする。