本文へスキップ
hdknr blog
戻る

dmux:Claude Code / Codex を安全に並列実行するための git worktree 管理ツール

AI エージェントを並列実行する際に起きがちなファイル競合問題を、git worktree を活用して自動解決するツール「dmux」を紹介する。

背景:AI エージェント並列実行の落とし穴

Claude Code や OpenAI Codex などの AI コーディングエージェントを複数同時に走らせると、次のような問題が起きやすい。

ターミナルを複数開いたり、tmux でペインを分割して並列実行する方法は手軽だが、全エージェントが同一のワーキングディレクトリを共有しているため、この問題は常に起きうる。

dmux とは

dmux は、AI エージェントの並列実行環境を安全に管理するための CLI ツール。内部的には git worktree + branch の自動隔離 を行い、各エージェントが独立したディレクトリ・ブランチで作業できる環境を自動でセットアップする。

主な特徴

  1. 自動隔離:難しい設定なしに git worktree + ブランチを自動作成し、エージェントごとに完全に分離した環境を提供する
  2. 衝突の自動解決:マージ競合が発生した場合、AI が自動で解決を試みる
  3. エージェント切り替え:Claude Code、Codex、Claude Opus、Composer など任意のエージェントを簡単に切り替え可能
  4. A/B テスト:複数エージェントの出力を比較検証できる

git worktree によるエージェント隔離の仕組み

git worktree は、同一リポジトリを複数のディレクトリに展開する Git 標準機能。通常の git clone とは異なり、リポジトリのデータを共有しながら、異なるブランチを別ディレクトリでチェックアウトできる。

リポジトリ
├── (メインディレクトリ)   ← ブランチ: main
├── .worktrees/agent-1/   ← ブランチ: agent/task-a  ← エージェント1
└── .worktrees/agent-2/   ← ブランチ: agent/task-b  ← エージェント2

dmux はこの仕組みを自動化し、各エージェントを専用の worktree に割り当てる。エージェント同士は別ブランチで動くため、同一ファイルへの同時書き込みが発生しない。

利用が向いているケース

インストール

前提条件

npm でインストール

npm install -g dmux

起動

プロジェクトディレクトリで dmux を実行するだけで起動できる。

cd your-project
dmux

基本操作

dmux は tmux ベースの TUI で、キーボードショートカットで操作する。

キー操作
n新規ペインを作成
j / Enterペインに移動
mペインメニューを開く
fファイルブラウザ
q終了

ワークフロー

  1. n で新規ペインを作成
  2. タスクの説明(プロンプト)を入力
  3. 使用するエージェントを選択(複数選択可、空のままだと通常のターミナル)
  4. dmux が自動で git worktree とブランチを作成し、エージェントを起動

各エージェントは隔離された worktree 内で動作するため、完了後に自動でマージされる。

関連ツール:cmux との違いと使い分け

AI エージェントの並列実行を支援するツールとして cmux もある。dmux と名前が似ているが、役割が異なる。

dmuxcmux
種類CLI ツール(tmux 上で動作)ターミナルエミュレータ(アプリ)
主な役割worktree による作業環境の隔離エージェント状態の視覚的管理・通知
worktree 管理自動なし(手動で切り替え)
プラットフォームLinux / macOSmacOS のみ

どちらか一方で十分なケース

組み合わせるケース

cmux のターミナル上で dmux を起動する構成。iTerm2 の中で tmux を使うのと同じ関係になる。dmux の自動 worktree 管理に加えて、cmux の通知リングやインアプリブラウザも活用したい場合に有効。

まとめ

dmux は、AI エージェントの並列実行における「ファイル競合」という実用上の課題に対して、git worktree という既存の Git 機能を活かしてシンプルに解決するツール。単体でも十分に機能し、cmux のような UI 特化のターミナルと組み合わせればさらに快適な並列実行環境を構築できる。Claude Code や Codex を使った開発フローを並列化・効率化したい場合に有力な選択肢となる。



前の記事
エンジニアのためのインバウンドマーケティング入門:Attract/Engage/Delight と MA の基本
次の記事
MacのローカルLLMが4.1倍速に!Apple Silicon向け新技術「DFlash」