AIコーディングエージェントは、1つだけでは遅いのが実情です。モデル1インスタンスの出力はおよそ毎秒50~60トークンで、短い回答には十分でも、複数の工程を伴うエンジニアリング作業には時間がかかりすぎます。現実的な解決策は複数のエージェントを同時に動かすことですが、そうすると今度は大量のターミナルセッションをどう整理するかという問題が生まれます。主な選択肢を比べると、AIコーディングエージェント向けに作られたmacOS用のオープンソースターミナルcmuxが、コマンドライン中心で作業する開発者にとって最もすっきりした選択肢のようです。以下では、基本的な構成、各ツールの比較、リモート作業向けのcmuxの設定方法、そして利用上限が問題になり始めたときの注意点を順に解説します。

モデルはAPI、それを動かすのがハーネス

まずは単純な捉え方から始めると理解しやすくなります。AIモデルは本質的にはAPIで、クライアントからリクエストを受け取って応答を返します。クライアントにはいくつかの形があります。

  • VS CodeのようなIDE
  • HTTP経由でモデルを呼び出すコード
  • ターミナルのコマンドラインツール
  • 専用のデスクトップアプリ

モデルのAPIとやり取りし、作業を進めるソフトウェアの層をハーネスと呼びます。Claude Code CLI、Codex CLI、Codexのデスクトップアプリ、VercelのFx、DeepSeek Harness、OpenCodeなどがその例です。ハーネスを増やすのは簡単で、ターミナルのウィンドウを増やすか、アプリ内で同時に動かすスレッドを増やせば済みます。

問題は、手作業で十数個のターミナルウィンドウを開いた時点から始まります。複数のハーネスを整理しておくために、開発者はハーネスオーケストレーター、つまり多数のエージェントセッションを1か所にまとめて管理するツールを使います。

オーケストレーターの比較

主な候補はcmux、Herdr、Conductor、T3 Codeで、比較の目安としてCodexのデスクトップアプリも参考になります。実際に使ってみた評価をまとめると次のとおりです。

ツール 長所 短所
cmux 縦型タブ、エージェントの状態表示、SSHセッションの引き継ぎ、画像の受け渡し ターミナル中心のため、本格的なGUIを求める人には合わない可能性
Herdr 軽量で、スペースとタブで作業を整理できる Command-Kで表示が崩れる。SSHセッションを管理できない
Conductor エージェントの作業環境を管理 使い始める前に新しいGitHubリポジトリとクラウドVMが必要
T3 Code GUI中心の開発者には実用的 純粋なコマンドラインの作業フローには不向き
Codexのデスクトップアプリ SSHセッションの管理が便利 ターミナルだけの作業フローには不向き

Herdrの発想自体は魅力的です。「admin-work」のような名前付きのスペースを作り、その中に番号付きのタブを置いて、並行するターミナルセッションを動かせます。ところが、多くの開発者が画面を消去するために反射的に押すmacOSのショートカットCommand-Kを押すと、テキストインターフェースが壊れてしまいます。復旧するには、ウィンドウを分割し直し、プログラムを再起動し、壊れたシェルを終了させる必要があります。長年の手癖は簡単には直せません。さらにHerdrはSSHセッションを通常のターミナルプロセスとして扱うため、そのターミナルを閉じたり中断したりすると、リモート接続がすぐに切れてしまいます。

Conductorの問題は導入時の手順です。既存のローカルフォルダーを開く代わりに、GitHubでの認証、新しいリポジトリの作成、クラウドVMの設定を先に求めてきます。生産性を高めるためのツールが、Gitの作業フローを指図したり、クラウドインフラの用意を強いたりするべきではありません。

ターミナルウィンドウを収めた4つの道具箱。1つは整然とし、ほかは散らかっている

▲ エージェント用オーケストレーターの比較

リモートでのエージェント作業に向けたcmuxの設定

cmuxは、GPUアクセラレーションに対応したターミナルGhosttyの基盤となるライブラリlibghosttyの上に、ElectronではなくネイティブのSwiftとAppKitで作られています。ソケットベースのCLIから操作することもできます。初期レイアウトは複数のターミナルペイン、モバイルプレビュー、ブラウザービューが並んで雑然として見えますが、すっきりした最小限のターミナルに絞り込めます。

リモートサーバーで作業するための実用的な設定は次のとおりです。

  1. cmuxのデスクトップアプリをインストールします。
  2. SSH設定に登録したホストをcmux ssh <host> --name <session-name>で開きます。名前付きのリモートセッションが、左側のサイドバーに独立したワークスペースとして表示されます。
  3. Command-Dで縦分割、Command-Shift-Dで横分割します。新しいペインはいずれも同じリモートホストにログインした状態で開くため、再認証は不要です。Command-Tで開いた新しいタブも接続を引き継ぎます。
  4. リモートセッションでClaude CodeやCodexなどのエージェントCLIを起動します。
  5. Command-Bでサイドバーを折りたたみ、ターミナルを全画面で使います。
  6. 設定の「Computer Use」セクションで内蔵ブラウザーをオフにします。

サイドバーには各ワークスペースが通知リングと状態表示付きで並ぶため、エージェントが作業中か待機中かがひと目で分かります。Command-Kで画面を消去しても、表示が崩れることはありません。

内蔵ブラウザーをオフにするのは、集中を保つためです。普段のデスクトップブラウザーで作業フローが完結しているなら、ターミナル内のブラウザーは画面を散らかすだけになりがちです。一方でcmuxは、カスタムのベースURL、APIキー、環境変数など幅広い設定を開放しており、自分好みに調整しやすくなっています。

リモートのエージェントにスクリーンショットを渡す

最も際立つ機能は画像の受け渡しです。リモートサーバーでClaude Codeを動かしているcmuxのウィンドウにローカルのスクリーンショットをドラッグすると、cmuxが画像をSSH接続越しに送り、「Image #1」としてエージェントに渡します。一般的なターミナルでは、ローカルのファイルパスが貼り付けられるだけか、SSH越しではそもそも失敗します。テストでは、リモートマシンで動くClaude Codeが、受け取ったスクリーンショットに写ったClaudeのマスコット、API料金の行、ターミナルのプロンプト文字列、実行の経過時間を正しく説明しました。ファイルを手作業でコピーしたり、クラウドストレージにアップロードしたりする必要はありません。

Codexも同じように使えます。codex --yoloでYOLOモードで起動し、/voiceと入力すると、cmuxの中で遅延の少ない音声対話を始められます。

ノートPCを閉じても作業は止まらない

エージェントをリモートの仮想マシンで動かせば、ノートPCのスリープ、バッテリー切れ、Wi-Fiの切断で作業が止まることはなくなります。ある例では、対話型のプロセスモニターhtopを動かすペインと補助のエージェント処理が、MacBookのふたを6時間閉じている間もリモートホスト上で動き続けました。ふたを開けると、バックグラウンドのタスクはすべてそのまま残り、実行を続けていました。

閉じたノートPCと光でつながったリモートサーバーで、エージェントがターミナル作業を続ける様子

▲ リモートサーバーで続くエージェント作業

利用上限、アカウントゲートウェイと注意点

多数のエージェントを動かすと、すぐに利用上限に達します。Claude CodeとCodexを提供元の既定のエンドポイントに直接つなぐと、1アカウントの上限がボトルネックになります。回避策の1つが、クライアントツールとAnthropicなどのモデル提供元の間に置く中継サーバー、アカウントゲートウェイです。

  • クライアントはベースURLをゲートウェイに向け、ゲートウェイ専用のAPIキーで認証します。
  • ゲートウェイは各リクエストを、複数ある背後のアカウントのいずれかに振り分けます。
  • 同じ会話の後続リクエストは、必ず同じアカウントに送られます。この手法をスティッキーセッションと呼びます。

スティッキーセッションが重要なのは、会話がアカウント間を移動するとプロンプトキャッシュのミスが起き、提供元がプロンプトの先行部分の保存内容を再利用できなくなるうえ、モデルの思考過程の記録も途切れてしまうためです。ゲートウェイを置けば、負荷を複数のアカウントに分散し、アカウントを追加して容量を増やし、共同作業者にトークンベースのアクセスを与えられます。

ただし、重要な注意点が2つあります。1つ目に、この方法で複数のアカウントを使い回すことは、提供元の利用規約や利用ガイドライン上グレーゾーンにあるため、試す前に規約を確認してください。2つ目に、Claude Codeのデスクトップアプリのリモート機能は、独自のベースURLと認証トークンを使うカスタムのプロキシゲートウェイを素直には受け付けません。デスクトップアプリはこうした設定でCLIツールに後れを取ることが多いため、カスタム構成にはCLIの方が適しています。

まず作業フローを決め、次にツールを選ぶ

複数のエージェントを並行して動かすことが出発点です。次の段階は、それらを整理しておくツールを選ぶことです。ターミナル中心の開発者にはcmuxが最もバランスの取れた選択肢に見え、GUIを好む人にはT3 Codeも検討の価値があります。

  • Claude CodeやCodexなど、使うエージェントCLIと同時に動かす数を決めます。
  • 時間のかかる処理はリモートの仮想マシンに移し、cmux ssh <host>で接続して、ノートPCが起動しているかどうかに左右されないようにします。
  • 分割したペインや新しいタブがリモート接続を引き継ぐか、Command-Kのような慣れたショートカットがそのまま動くかを確認します。
  • リモートのエージェントセッションにスクリーンショットをドラッグして、視覚的な情報を渡せるか試します。
  • 複数のアカウントをまとめるゲートウェイを検討しているなら、先に提供元の利用規約を読みます。