【要約】同じ Issue を Claude・Codex・Gemini に同時に解かせるとどうなるか — git worktree × tmux で衝突しない並列 AI 開発 [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
複数のAIエージェントが同一ブランチ・同一ディレクトリで作業すると、以下の衝突が発生する。
- ・node_modulesやロックファイルの書き換え競合
- ・dist/や.next/等のビルド生成物の破壊
- ・Gitインデックスの不整合
これらはプロンプトによる制御では解決不能な、物理レイヤーの課題である。
// Approach
git worktreeとtmuxを組み合わせ、エージェントごとに独立した環境を構築する。
1.git worktree: 作業ツリーを物理的に分離。node_modulesや生成物を個別に保持。
2.tmux: 各エージェントの出力を独立したウィンドウ/PTYで管理。
3.workmux: 「1ウィンドウ = 1 worktree = 1 エージェント」の構成を自動化するラッパーを使用。
4.git range-diff: 複数のworktree間で生成されたコミット列を比較し、実装案の差異を抽出。
// Result
AIモデルごとの特性が明確になった。
- ・Claude: テストの網羅性に強み。
- ・Codex: 型定義とロジックの速度に強み。
- ・Gemini: UI実装の美しさに強み。
ただし、人間の認知負荷により、リアルタイム監視可能な並列数は2〜3が限界である。
Senior Engineer Insight
>
AIエージェントの並列化は、計算資源ではなく「人間のレビュー能力」がスループットの限界を決める。技術的にはworktreeによる分離は極めて合理的であり、依存関係の衝突を確実に防げる。実運用では、AIにpush権限を与えず、人間がgit range-diffで比較・選定する「Human-in-the-loop」の設計が不可欠だ。また、DBポートの衝突など、インフラ層の競合対策も併せて検討すべきである。コスト対効果を考慮し、設計判断が分かれる局面でのみ限定的に導入するのが賢明な判断だ。