00:00:00コーディングCLIの台頭により、AIエージェントを管理して
00:00:06コードを書かせるためのツールが数多く登場しています。
00:00:10本日の動画では、主なツールをいくつか紹介し、それらを比較していきます。
00:00:16私が現在日常的に使っているのはConductorですが、柔軟に他のツールも使い分けています。
00:00:23他にも人気が出始めているのはSuperSetやC-Mux、Codexアプリもなかなか良いですし、
00:00:27Ghosty、Warp、iTermといった通常のターミナルで直接書く人も多いです。
00:00:31もちろん、CursorやVS Codeを使っている人もまだたくさんいます。
00:00:36今回はConductor、SuperSet、C-Muxに焦点を当てます。これらはまだ利用者が少ない新しいツールだからです。
00:00:40VS CodeやCursorの使い方は誰もが知っているので、深くは触れません。
00:00:44まずはConductorです。今画面に映っているのがそれです。
00:00:48ご覧の通り、複数のチャットを並行して実行しています。
00:00:50これは私が現在「Inbox Zero」というプロジェクトで行っている実際の作業です。
00:00:53サイドバーにある各チャットは、それぞれ異なるワークツリーになっています。
00:00:58ワークツリーに馴染みがないかもしれませんが、AIエージェントの並行実行により非常に普及しました。
00:01:03これはコアプロジェクトを、PC内の新しいフォルダーに実質的に複製する機能です。
00:01:08ここにあるのはInbox Zeroのレポジトリで、そのコピーがPC上にたくさんあります。
00:01:10これらは「Belgrade」や「Algiers」といった名前が付いており、
00:01:15それがサイドバーに表示されているものです。
00:01:18それぞれが独立したブランチとして作業できるようになっています。
00:01:20独自のプルリクエスト(PR)も持っています。
00:01:25そのため、一方の変更が他方に影響を与えることはありません。
00:01:30まるで7人の従業員(AIエージェント)がいて、それぞれが別々のファイルで
00:01:35干渉し合うことなく並行して作業しているような状態です。
00:01:38Conductorの仕組みをお見せすると、基本的には通常のチャット形式です。
00:01:43ここで一つのタスクが進行中で、AIに作業を続けるよう指示しています。
00:01:49タスクが完了して準備が整うと、紐付けられたPRを確認できます。
00:01:51ここをクリックしてマージすることも可能です。
00:01:59レビューボタンを押すと、新しいタブで新しいエージェントが起動し、
00:02:01このワークツリーやブランチの変更内容をレビューしてくれます。
00:02:03各ファイルを確認することもできます。
00:02:07これは「.env.example」ファイルですね。
00:02:13そして右側には通常のターミナルがあります。
00:02:17ワークツリーはプロジェクトを新しい場所にコピーするため、
00:02:24そのフォルダーごとに新しいセットアップが必要になることが多いです。
00:02:35今日紹介するすべてのプロジェクトに共通して、セットアップスクリプトと実行スクリプトがあります。
00:02:36プラスボタンを押して新しいワークツリーで新機能の作業を開始すると、
00:02:46「pnpm install」を実行したり、新しいポートでプロジェクトを起動したりします。
00:02:50使い方は自由ですが、一般的には
00:02:54セットアップで「pnpm install」を行い、実行スクリプトでアプリを起動して、
00:03:00localhost:3000などのポートで確認できるようにします。
00:03:04各ワークツリーをすべて異なるポートで実行することも可能です。
00:03:07ワークツリーごとに変更内容が異なるため、これは必須の作業です。
00:03:15一つのフォルダーで実行しても、別のフォルダーにある変更は反映されませんからね。
00:03:19また、チェック機能も非常に便利です。
00:03:25ビルド結果やGitHubのコメントを確認できます。
00:03:28ここでは多くのチェックが走っており、KubikやBazといったAIコードレビューツールからのコメントが見えます。
00:03:30クリックすると、レビューの一環として提供されたコメントが表示されます。
00:03:32必要であれば、これらのコメントをチャットに追加して、
00:03:39送信ボタン一つでAIに自動修正させることもできます。
00:03:41次に紹介するのはSupersetです。
00:03:44これも非常に似たコンセプトです。
00:03:49サイドバーに各エージェントが表示されています。
00:03:54正直なところ、多くのプロジェクトがConductorから着想を得ており、
00:03:56その結果、インターフェースが似通ってきているのだと思います。
00:03:58右側でコミットができ、プロジェクトのファイルも確認できます。
00:04:00興味深いのは、ターミナルの体験がより重視されている点です。
00:04:04通常のClaude CodeやCodexをそのまま実行したい場合に適しています。
00:04:06ここでは通常の実行が行われた様子が見て取れます。
00:04:13独自のチャットインターフェースも備えています。
00:04:18これはかなり新しい機能のようですね。
00:04:22Conductorは独自のチャットインターフェースの使用を推奨しますが、
00:04:29Supersetには柔軟性があります。
00:04:36実物のClaude CodeやCodexを使いたい理由は、最新機能がすべて使えるからです。
00:04:40例えば、Codexが更新されて新しいスラッシュコマンドが追加されたとします。
00:04:43Conductorが更新されていなければ、スラッシュを入力してもそのコマンドは出てきません。
00:04:47Conductorは主にClaude CodeやCodexのラッパーですが、
00:04:52独自のインターフェースを使っているため、完全に一対一ではありません。
00:04:54一方こちらは、Supersetのチャットインターフェースを使いつつ、
00:05:01CLIを直接叩くこともできるという仕組みです。
00:05:03Supersetで見つかるもう一つの特徴は、メインブランチで作業できることです。
00:05:06意外なことに、Conductorではメインブランチでの作業が少し面倒です。
00:05:15私の知る限り、Conductorで直接メインブランチを扱うことはできません。
00:05:18CursorやVS Codeでプロジェクトを開く必要があります。
00:05:22ちなみに、Conductorにも同様の機能はありますが、
00:05:27Supersetからは、Zedなど好きなエディタで直接プロジェクトを開けます。
00:05:29考え方は全く同じです。
00:05:34FinderやGhostyなど、何でも好きなもので開くことができます。
00:05:36Supersetのもう一つのクールな点は、ブラウザタブを開けることです。
00:05:39ここでInbox ZeroがSuperset内で直接動いています。
00:05:42これはフロントエンドのコードを書く際に役立ちます。
00:05:50また、これら両方のアプリはLinearやGitHubと同期します。
00:05:54例えば、Linearのチケットに基づいて新しいワークツリーを作成することも可能です。
00:05:57他にもSupersetにはいくつかの機能があります。
00:05:59クラウドワークスペースやモバイルアプリがリリースされれば、さらに面白くなるでしょう。
00:06:03Conductorも同様の展開を考えているはずです。
00:06:06ご想像の通り、これらのアプリの進化スピードは非常に速いです。
00:06:15今日見ているものは、3ヶ月後には全く違う姿になっているかもしれません。
00:06:19Supersetの実際の使用法をお見せすると、CodexやClaude Code、
00:06:22さらにはOpen Codeなど、多くの選択肢から選ぶことができます。
00:06:26これはConductorに対するSupersetのもう一つの利点でしょう。
00:06:27ConductorではCodexとClaude Codeに限定されていますが、
00:06:29こちらには他にも多くのオプションがあります。
00:06:37では、変更を加えてワークスペースを作成してみましょう。
00:06:40ワークスペースがセットアップされ、いくつか処理が走っています。
00:06:48こちらでCodexが開き、同時に
00:06:52別のペインで「pnpm install」が実行されているのがわかります。
00:07:00準備ができたので、PRの作成を依頼します。
00:07:03ちなみに、サイドバーのブランチ名が自動的に変更されました。
00:07:07ブラウザでプレビューを開くこともできて便利です。
00:07:10PRの準備が整い、ここにリンクが表示されました。
00:07:12サイドバーを見るとPR番号1915であることがわかり、チェックが走っています。
00:07:17Conductorと非常によく似た体験です。
00:07:24ここをクリックして変更内容やコミットを確認することもできます。
00:07:29差分(diff)を見たい場合はここをクリックすれば下に表示されます。
00:07:31CIチェックも実行されていますね。
00:07:33これはGitHub Actionsや接続している他のボットで行われています。
00:07:37VercelボットやSocket Securityはすでに完了しており、
00:07:42AIコードレビューやE2Eテストがまだ進行中です。
00:07:44SupersetとConductorを使う際に注意すべき点があります。
00:07:46ファイル検索はできますが、特定の単語を検索する方法はないようです。
00:07:48そのため、結局別のエディタでコードを開くことになります。
00:07:49プロジェクト内で特定の文字列を探したい場合、
00:07:51現時点のConductorやSupersetではそれができません。
00:07:53それほど大きな問題ではありませんが、状況を詳しく把握するために
00:07:56別のエディタを開かなければならない場面は多々あります。
00:08:00とはいえ、普段はConductorのサイドバーでエージェントを管理するだけで事足ります。
00:08:04ところで、こちらの変更が作成されました。
00:08:07「PR作成」や「レビュー」をクリックすれば、プロセスが継続されます。
00:08:10ワークフローを簡単にする便利なボタンがたくさん組み込まれています。
00:08:16次はCmuxというツールを見ていきましょう。
00:08:18その前に、Ghostyがどのようなものか簡単に確認します。
00:08:24Ghostyは単なるターミナルですが、素晴らしいツールです。ぜひダウンロードしてみてください。
00:08:30Zigで構築されており、非常にパフォーマンスが高いです。
00:08:33これがGhostyで動いているCodexです。
00:08:37こちらも同様に、iTerm2で動いているClaude Codeです。
00:08:39そして、こちらがWarpです。
00:08:43これもクールなターミナルです。ターミナル上でAIが使えるのが特徴です。
00:08:48エージェントによるコーディングなど、多くの機能があります。
00:08:53私はそれほど使い込んでいないので詳細は省きますが、
00:08:55コマンドを打つ代わりに自然言語で操作できる、非常に使い勝手の良いターミナルです。
00:09:00これが実際のWarpの様子です。
00:09:03さてCmuxに移りますが、これはGhostyをベースにしたネイティブなmacOSアプリです。
00:09:08垂直タブ、エージェントが注意を必要とする際の通知リング、分割ペイン、
00:09:13そして自動化用のSocket APIを備えています。
00:09:18見た目はこんな感じです。サイドバーに多くのタスクが並んでおり、
00:09:21複数のペインが実行されています。
00:09:27ブラウザタブまで動いていますね。
00:09:32最初にCmuxを開いた時はこのような感じです。
00:09:37非常に高速なGhostyターミナルそのものですが、ここから色々なことができます。
00:09:44これはTmuxに近い働きをします。Tmuxに詳しくない方のために説明すると、
00:09:49これが私のターミナルで動いているTmuxです。
00:09:52Tmux内でペインを分割したりできます。「ターミナルの中のターミナル」ですね。
00:09:59「ターミナルマルチプレクサ」とも呼ばれます。
00:10:04ここではCmuxの中でTmuxを動かしていますが、それは終了しておきましょう。
00:10:14Cmuxでは、ウィンドウを次々と分割していくことができます。
00:10:18これは本当に便利です。4つのCodexを並行して動かしたい場合、
00:10:214つの別々のウィンドウを管理する必要はありません。
00:10:24もちろん、別のターミナルを開いて、それらの間を行き来することも可能です。
00:10:27Cmuxの素晴らしい点の一つは、CLI(コマンドライン)から呼び出せることです。
00:10:30例えば「cmux new split left」と打てば、新しいタブを作成できます。
00:10:33Claude Codeを使っている場合、多くのタブで複数のエージェントを自動起動させることも考えられます。
00:10:36また、Claude CodeにCmuxのCLIを使わせて、他の操作を制御することも可能です。
00:10:39例えば、ここはPR番号1905ですが、
00:10:42Claude Codeに「サイドバーにPRを表示して」と伝えるだけでセットアップできました。
00:10:46通知なども自動で処理するようにカスタマイズできます。
00:10:50Claude CodeやCodexがタスクを終えたら、Cmux CLIを呼び出して
00:10:54どのタブで作業が完了したか通知させることもできます。
00:11:00さらに、ブラウザの起動やブラウザ自動化にも利用できます。
00:11:05例えば「cmux browser open getinboxzero.com」と入力すると、
00:11:08このように新しいタブでサイトが開きます。
00:11:14できることの詳細はドキュメントを確認してください。
00:11:18これがブラウザ自動化のCLIです。
00:11:21こちらが通知の管理方法です。
00:11:25「cmux notify」を試してみましょう。
00:11:27はい、新しい通知が届きました。素晴らしい。
00:11:31さて、TmuxとCmuxにはいくつか違いがあります。
00:11:34Tmuxはリモートセッションでの作業に非常に適しています。
00:11:37サーバーとの接続が切れても、Tmuxは実行され続けます。
00:11:41CmuxはMac専用なので、おそらくサーバー上では動作しません。
00:11:45つまり、PCで実行している作業をスマホで引き継ぐといったことはできません。
00:11:48私はスマホで「Echo」という3ドルくらいの安価なツールを使っています。
00:11:52これはPCにSSH接続できるツールです。
00:11:55PCでTmuxとClaude Codeを動かしていれば、スマホから直接作業を続けられます。
00:11:58PCとスマホを同じTailscaleネットワークに入れればセットアップ可能です。
00:12:01その体験はこんな感じで、なかなか快適です。
00:12:05頻繁に使うわけではありませんが、アプリ自体はシンプルで洗練されています。
00:12:09こちらもぜひチェックしてみてください。
00:12:11動画は以上です。世の中にどのようなツールがあり、
00:12:14それらをどう活用できるか、ヒントになれば幸いです。
00:12:17正直なところ、どれもできることはほぼ同じです。
00:12:20結局は、少し違うインターフェースを介してAIとチャットしているだけですから。
00:12:23私にとって最も重要なのは、複数のエージェントを並行して動かせるかどうかです。
00:12:26それを最も簡単に行う方法はワークツリーを使うことでした。
00:12:31Cmuxにはワークツリーに関するネイティブな機能はないので、