dmux Workflows は何をしますか?
dmux(tmuxペインマネージャー)を使用して、AIエージェントセッションを並列オーケストレーションします。
アクティベートするタイミング
- 複数のエージェントセッションを並列実行する場合
- Claude Code、Codex、その他のハーネス間で作業を調整する場合
- 分割統治の並列処理が有効な複雑なタスク
- ユーザーが「並列実行」「この作業を分割」「dmuxを使う」「マルチエージェント」と言った場合
dmuxとは
dmuxは、AIエージェントのペインを管理するtmuxベースのオーケストレーションツールです:
nキーを押すと、新しいペインを作成してプロンプトを入力mキーを押すと、ペインの出力をメインセッションにマージ- 対応ハーネス:Claude Code、Codex、OpenCode、Cline、Gemini、Qwen
インストール: パッケージを確認した上で、リポジトリからdmuxをインストールしてください。詳細は github.com/standardagents/dmux を参照
クイックスタート
# dmuxセッションを開始
dmux
# エージェントペインを作成(dmux内で 'n' を押し、プロンプトを入力)
# ペイン1:「src/auth/ に認証ミドルウェアを実装して」
# ペイン2:「ユーザーサービスのテストを書いて」
# ペイン3:「APIドキュメントを更新して」
# 各ペインは独自のエージェントセッションを実行
# 'm' を押して結果をマージ
ワークフローパターン
パターン1:調査 + 実装
調査と実装を並行して分割実行:
ペイン1(調査用):「Node.jsのレート制限のベストプラクティスを調査して。
現在のライブラリを確認し、アプローチを比較して、結果を
/tmp/rate-limit-research.md に書き出して」
ペイン2(実装用):「Express APIにレート制限ミドルウェアを実装して。
まず基本的なトークンバケットから始めて、調査完了後に改良する」
# ペイン1完了後、調査結果をペイン2のコンテキストにマージ
パターン2:マルチファイル機能開発
独立したファイルにまたがる作業を並列化:
ペイン1:「課金機能のデータベーススキーマとマイグレーションを作成して」
ペイン2:「src/api/billing/ に課金APIエンドポイントを構築して」
ペイン3:「課金ダッシュボードのUIコンポーネントを作成して」
# すべてをマージし、メインペインで統合を行う
パターン3:テスト + 修正ループ
一方のペインでテストを実行し、別のペインで修正:
ペイン1(監視用):「テストスイートを監視モードで実行して。テストが失敗したら、
その失敗内容を要約して」
ペイン2(修正用):「ペイン1のエラー出力に基づいて、失敗テストを修正して」
パターン4:クロスハーネス
異なるAIツールを異なるタスクに使用:
ペイン1(Claude Code):「認証モジュールのセキュリティをレビューして」
ペイン2(Codex):「ユーティリティ関数をパフォーマンス向けにリファクタリングして」
ペイン3(Claude Code):「チェックアウトフローのE2Eテストを書いて」
パターン5:コードレビューパイプライン
並列レビューの視点:
ペイン1:「src/api/ をセキュリティ脆弱性の観点でレビューして」
ペイン2:「src/api/ をパフォーマンス問題の観点でレビューして」
ペイン3:「src/api/ をテストカバレッジのギャップの観点でレビューして」
# すべてのレビューを1つのレポートにマージ
ベストプラクティス
- 独立したタスクのみ。 互いの出力に依存するタスクは並列化しないでください。
- 明確な境界。 各ペインは異なるファイルや関心事に取り組むようにしてください。
- 戦略的にマージ。 競合を避けるため、ペイン出力をマージ前にレビューしてください。
- git worktreesを使用する。 ファイル競合が発生しやすい作業には、ペインごとに別々のワークツリーを使用してください。
- リソースを意識する。 各ペインはAPIトークンを消費します。ペイン総数は5~6個以下に抑えてください。
Git Worktree統合
重複するファイルを扱うタスク向け:
# 分離のためのワークツリーを作成
git worktree add -b feat/auth ../feature-auth HEAD
git worktree add -b feat/billing ../feature-billing HEAD
# 別々のワークツリーでエージェントを実行
# ペイン1:cd ../feature-auth && claude
# ペイン2:cd ../feature-billing && claude
# 完了したらブランチをマージ
git merge feat/auth
git merge feat/billing
補完ツール
| ツール | 機能 | 使用タイミング |
|---|---|---|
| dmux | エージェント向けtmuxペイン管理 | 並列エージェントセッション |
| Superset | 10以上の並列エージェント向けターミナルIDE | 大規模オーケストレーション |
| Claude Code Taskツール | プロセス内サブエージェント生成 | セッション内でのプログラム的な並列処理 |
| Codexマルチエージェント | 組み込みエージェントロール | Codex固有の並列作業 |
ECCヘルパー
ECCには、別個のgitワークツリーを使用した外部tmuxペインオーケストレーションのためのヘルパーが含まれています:
node scripts/orchestrate-worktrees.js plan.json --execute
plan.jsonの例:
{
"sessionName": "skill-audit",
"baseRef": "HEAD",
"launcherCommand": "codex exec --cwd {worktree_path} --task-file {task_file}",
"workers": [
{ "name": "docs-a", "task": "スキル1~4を修正し、引き継ぎメモを書いてください。" },
{ "name": "docs-b", "task": "スキル5~8を修正し、引き継ぎメモを書いてください。" }
]
}
このヘルパーは:
- ワーカーごとにブランチ付きのgitワークツリーを1つ作成
- メインチェックアウトから選択した
seedPathsを各ワーカーワークツリーにオプションでオーバーレイ - ワーカーごとに
.orchestration/<session>/の下にtask.md、handoff.md、status.mdファイルを作成 - ワーカーごとに1つのペインを持つtmuxセッションを開始
- 各ワーカーコマンドをそれぞれのペインで起動
- メインペインはオーケストレーター用に解放
seedPathsは、ワーカーがHEADにまだ含まれていないダーティファイルや追跡外ファイル(ローカルオーケストレーションスクリプト、ドラフト計画、ドキュメントなど)にアクセスする必要がある場合に使用します:
{
"sessionName": "workflow-e2e",
"seedPaths": [
"scripts/orchestrate-worktrees.js",
"scripts/lib/tmux-worktree-orchestrator.js",
".claude/plan/workflow-e2e-test.json"
],
"launcherCommand": "bash {repo_root}/scripts/orchestrate-codex-worker.sh {task_file} {handoff_file} {status_file}",
"workers": [
{ "name": "seed-check", "task": "シードされたファイルが作業開始前に存在することを確認してください。" }
]
}
トラブルシューティング
- ペインが応答しない: ペインに直接切り替えるか、
tmux capture-pane -pt <session>:0.<pane-index>で調査してください。 - マージ競合: git worktreesを使用して、ペインごとにファイル変更を分離してください。
- 高いトークン使用量: 並列ペインの数を減らしてください。各ペインは完全なエージェントセッションです。
- tmuxが見つからない:
brew install tmux(macOS)またはapt install tmux(Linux)でインストールしてください。