なぜ AI Agent と相性が良いのか
最近、AI Agent を使った開発(Claude Code / Cursor / OpenAI Codex など)が広がるにつれて、git worktreeが再び注目されています。
従来はあまり知られていない Git の機能でしたが、AI と組み合わせると非常に強力な開発スタイルを作れるためです。
この記事で書くのは3つ。
- git worktree とは何か
- なぜ最近注目されているのか
- なぜ AI Agent と相性が良いのか
git worktree とは
git worktree は 1つのリポジトリから複数の作業ディレクトリを作る機能です。
通常の Git 開発では、1つの作業ディレクトリをブランチを切り替えながら使います。
my-app/ <- いつもこの1つのディレクトリで作業
ブランチを切り替えるときは
git checkout feature-x
同じ my-app/ の中身が feature-x 用に切り替わるイメージです。
ですが、この方法には問題があります。
- 別ブランチを見るたびに checkout が必要
- ビルドキャッシュが壊れる
- 同時作業が難しい
git worktree を使うとこうなります。
repo/
worktrees/
main/
feature-a/
feature-b/
それぞれが 独立した working directory になります。
例:
git worktree add ../feature-a feature-a
すると
project/
feature-a/
のようにディレクトリが増えます。
それぞれのディレクトリで別のブランチを開けます。
project/ -> main
feature-a/ -> feature-a branch
feature-b/ -> feature-b branch
つまり
複数ブランチを同時に開ける Git 機能です。
なぜ最近注目されているのか
理由はシンプルで、
AI Agent が並列にコードを書く時代になったからです。
AI コーディングツールは次のような使い方をします。
例
Agent A → bug fix
Agent B → new feature
Agent C → refactor
これを1つの working directory でやると問題が起きます。
- checkout が競合
- git state が壊れる
- build cache が壊れる
そこで
Agent ごとに worktree を作る
という使い方が生まれました。
repo/
agent-bugfix/
agent-feature/
agent-refactor/
それぞれ独立して開発できます。
AI Agent と git worktree の相性が良い理由
相性がいい理由、4つあります。
1. Agentごとに作業環境を分離できる
AI Agent は
- 並列作業
- 複数タスク
を同時に行います。
例えば
Agent1 → test 修正
Agent2 → API追加
Agent3 → refactor
これを
worktree-test/
worktree-api/
worktree-refactor/
のように分離できます。
2. Git checkout競合が起きない
AI Agent は頻繁に
git checkout
git commit
git reset
を行います。
1つの directory だと競合します。
しかし worktree なら
Agent A → feature-a branch
Agent B → feature-b branch
で完全に独立します。
3. ビルドキャッシュを壊さない
特に次の環境では重要です。
- Node
- Rust
- Go
- Swift
- Bazel
branch checkout をすると
node_modules
target
build
が壊れることがあります。
worktree なら
branchごとに build cache を保持できます。
4. Agent をスケールできる
例えば AI Agent orchestration を作ると
orchestrator
├ agent1
├ agent2
├ agent3
それぞれ
git worktree add
して開発させることができます。
つまり
Agent = Git working directory
というモデルになります。
AI時代の開発スタイル
実際のイメージはこんな感じです。
Human
↓
Orchestrator
↓
Multiple AI Agents
↓
git worktree environments
つまり
各 Agent が自分の working directory を持って動く、というイメージです。
これは
- Cursor
- Claude Code
- OpenAI Codex
- Devin系ツール
などでよく使われています。
まとめ
git worktree は昔からある Git の機能ですが、
AI Agent が出てきたことで、一気に重要性が増しました。
AI Agent が並列に、それぞれ独立して Git を操作するからです。
それをうまく支えるのが git worktree です。
AI でコードを書くのが当たり前になれば、worktree もセットで使うのが普通になるはずです。