Appearance
第6回 — 並列開発環境:Git Worktree × 複数エージェント
Phase 2|環境整備 / 8時間(講義2h + ワークショップ6h)前提プラットフォーム:GitHub
この回の狙い
- 複数Issueを同時並行で進めるための環境 Git Worktree を構築する
- ブランチ競合なしに 複数エージェントを並列稼働 させる発想を得る
- 並列作業の成果を main へ統合する流れを体験する
タイムテーブル
| 時間 | 内容 |
|---|---|
| 0:00–2:00 | 講義 |
| 2:15–5:00 | WS① Worktree構築/2〜3タスク並列実行 |
| 5:45–7:30 | WS② 統合(マージ・コンフリクト処理) |
| 7:30–8:00 | 振り返り・OJT課題 |
講義(2h)スライド構成
- 課題:1つの作業ディレクトリだと、AIに複数タスクを同時に任せられない(ブランチ切替で混ざる)
- Git Worktreeとは:1つのリポジトリを 複数ディレクトリに展開し、各々で別ブランチを扱える仕組み
- 構成イメージ(記事の図):
project/ ├── main/ # メインブランチ ├── worktree-issue-1/ # エージェントA:Issue #1 ├── worktree-issue-2/ # エージェントB:Issue #2 └── worktree-issue-3/ # エージェントC:Issue #3 - なぜ有効か:各エージェントが独立ディレクトリ=ブランチ競合なく並列開発
- 複数エージェント運用の勘所:タスクを独立に分割/同じファイルを跨がない/最後に統合
- 運用イメージ:「夜にIssueを一斉割り当て、翌朝には対応済み」
- 基本コマンド:
git worktree add ../worktree-issue-1 -b feature/issue-1/git worktree list/git worktree remove - 本日のゴール
💡 講師メモ:並列の効果は「独立したタスク」でしか出ない。タスク分割の良し悪しを強調する。
ワークショップ(6h)
WS① Worktree構築 & 並列実行(約2h45m)
- [ ]
git worktree addで 2〜3個の作業ディレクトリを作成(それぞれ別ブランチ) - [ ] 各ディレクトリで別々に
claudeを起動(ターミナルを複数タブ/ウィンドウで) - [ ] 独立した3タスクを割り当て(例:Issue #1 文言修正 / #2 バリデーション追加 / #3 README整備)
- [ ] 並列で実装が進む様子を観察
- [ ] 各worktreeで動作確認
WS② 統合(約1h45m)
- [ ] 各ブランチをPR化 → mainへ順次マージ
- [ ] 衝突が起きたら解消(第3回の応用)
- [ ] 使い終わったworktreeを
git worktree removeで片付け - [ ] 自分の実務での「並列化できる作業」を洗い出してメモ
⚠️ つまずきポイント:
- 同じファイルを複数タスクで触らせると結局コンフリクト → タスクを独立に切る
- worktreeの場所/命名がバラバラで迷子 → 命名規則を決める(
worktree-issue-N)- 並列で頭がパンクする → まず2並列から
OJT課題(次回まで)
実務で2件以上のタスクをWorktree並列で進め、効果(時間・手戻り)を記録する。
成果物
- Worktree並列の構成と実行ログ
- 並列化できた/できなかったタスクの仕分けメモ
🎯 回のゴール
Git Worktreeで複数エージェントを並列稼働させ、成果をmainへ統合できる。
講師チェック
- [ ] worktreeを複数作成・削除できた
- [ ] 独立タスクを並列実行し統合できた
- [ ] 並列に向く/向かないタスクを区別できる