Mission Control: どのエージェントがあなたを必要としているかを見失わない
6 つのエージェントを走らせると、キャンバスは重要な一つの問いに答えられなくなります — 今、誰があなたを必要としているか。Fleet の状態グループ化と保留中の質問の末尾がどうそれを解決するか。
キャンバス上の 2 つのエージェントは見やすい。6 つは別の問題です。キャンバスは空間的レイアウトで — タイルはドロップしたところに散らばっています — しかし実際に答えが必要な問いは「すべてがどこにいるか」ではなく「今、誰が私にブロックされているか」です。空間的レイアウトは状態の問いに答えません。結局タイルごとにスキャンすることになり、スキャンはスケールしません。
これが、1 つのエージェントからエージェントのフリートのオーケストレーションに移行した瞬間に現れる注意管理の問題です。3 画面左で未回答のままの許可プロンプトは、タイル 4 に集中している間は何もコストをかけません — 10 分後に、yes/no を一度も見なかったエージェントがずっとアイドルで待っていたことに気づくまで。
MadoHub の答えが Mission Control、Fleet パネルです。設計選択が問題に直接対応するため、実際にどう動くかを歩く価値があります。
MadoHub がどう扱うか
位置ではなく状態でグループ化
Mission Control の中核の動きは、エージェントを空間的に整理するのをやめ、状態で整理し始めることです。すべてのエージェントタイルは 6 つのグループのちょうど 1 つに入り、常に同じ固定順序でレンダリングされます:
| グループ | 意味 | ドットの色 |
|---|---|---|
| Needs input | yes/no、許可、その他のプロンプトを待っている | 琥珀色 |
| Working | ターン途中 | アクセント色 |
| Done | ターンを終え、レビュー待ち | 緑 |
| Failed | エラーに当たった | 赤 |
| Idle | 何もしていない | 薄い色 |
| Exited | プロセスがなくなった | 薄い色、より暗い |
空のグループはヘッダすらレンダリングしません — 無駄に場所を取る「Failed (0)」を見ることはありません。順序自体がトリアージ優先度をエンコードします — 10 分間許可プロンプトに座っているエージェントが、楽しく動いているエージェントの上に、それがあなたが見るだけのために待っている完了済みエージェントの上に現れます。リストを実際に動くべき順序で下へ読みます。
折りたたみバッジは意図的に「総エージェント数」ではありません。対応待ちのタイルがあれば、その数を琥珀色のバッジで表示します — 割り込む価値のある数。それ以外は実行中の全タイル数をミュート色のテキストで表示します。走らせているすべてが同等の注意に値するわけではありません — 静かに動いているタイルは注意を必要とせず、プロンプトでブロックされたタイルは直ちにそのすべてを必要とします。
あることだけでなく、実際の質問を表示
状態でグループ化するとエージェントが入力を要することはわかります。何を尋ねているかはわかりません — その隙間こそ、質問を読むためだけに結局タイルへ切り替え、トリアージパネルの意味を打ち消す人が出る場所です。
Mission Control がその隙間を埋めます。Needs Input グループの各行について、そのタイルのターミナル出力の最後の数行を表示します。実際上、それはほぼ常に実際の保留中の質問 — (y/n)、「Allow once / Allow always / Deny」の選択、その他 — で、行のすぐ下に小さな琥珀色の境界のブロックでレンダリングされます。これが「エージェント 3 は入力を要する」と「エージェント 3 は rm -rf node_modules していいか尋ねている — はい、当然、進めて」の違いです。片方はパネルを出ずに決められ、もう片方は不要だったコンテキストスイッチを強います。
ワンクリックでタイルへジャンプ
対応する価値のある行になったら、クリックするとキャンバスビューポートがそのタイルへ直接パンとズームします — パネルの「エージェント X が私を必要としている」からエージェント X のターミナルを見るまでワンクリックで、十数個のタイルがあるキャンバスを探し回りません。状態グループ化が何が注意を要し、どんな順序かを教え、保留中の質問の末尾が実際の質問を教え、タイルへ飛ぶクリックがそこへ連れて行きます。
バッジ氾濫なしのライブ Dynamic Workflows 進行
Claude Code 自身の Dynamic Workflows 機能は、単一の Claude セッションを多数の並行サブエージェントにファンアウトできます。MadoHub はこれらを作成・実行しません — Claude Code の機能であり、MadoHub のものではありません — が、サブエージェントの活動を検出し、サブエージェントごとに通常の通知を発火する代わりにタイルごとに 1 つの進行行にまとめるため、十数個のサブエージェントを持つランがキャンバスをバッジで溢れさせません。
Mission Control は、タイルにアクティブなランがあるときはいつでも、アクティビティ行の下、行ごとにその進行を表示します:
workflow · 3/5 agents2 つの数は、これまでにそのタイルで見た個別のサブエージェントスレッドのうち、端末状態に達したサブエージェント数です。行はランがアクティブな間だけ現れ、過ぎると自動的に消えます。同じタイルで新しいワークフローを開始すると、蓄積するのではなく両方のカウンタがゼロにリセットされます。
実践的な指針
- 順序通りにリストを読みましょう。 グループの順序がトリアージ順 — まず needs input、次に working、次に done。「needs input」が片付くまで「done」行へ飛ばない。
- できるときは末尾で決めましょう。 保留中の質問がどうせ許可する日常的なものなら、頭で答えてタイルへは確認だけ飛ぶこともできますし、いずれにせよ訪れるタイルならパネルへの往復を完全に省くこともできます。
- 折りたたみバッジを割り込み信号に使いましょう。 琥珀色の数は「今の作業を止めて確認」の扱い。ゼロなら集中を続けられます。
- 素のシェルは期待しない。 素のターミナルタイルは Mission Control に決して現れません — エージェント CLI と認識されたタイルだけが表示されるため、パネルはスクラッチターミナルで雑然としません。
これらは個別には複雑ではありません — 状態でグループ化、出力の最後の数行を表示、クリックでタイルへ飛ぶ。価値は何を取り除くかにあります — 6 つのタイル分の状態を自分の頭で保持し、行き詰まったものを探してキャンバスをスキャンし、サイドバーで読めた質問を読むためだけにタイルを開くこと。
Mission Control の展開/折りたたみ状態は意図的に保持されません — 新鮮な起動のたびに折りたたまれ、バッジだけを表示します。それは、仕事が一つの問いに素早く答えてから道を譲るパネルの正しいデフォルトです。