■ 1. 課題: 複数AIエージェント並列管理の困難さ
- emacs+ターミナル環境でClaude Codeを複数並列実行していた
- 6分割ターミナルでも各ペインの状態(終了・待機・実行中)が視覚的に判別できない
- 投げた指示の内容を途中で見失う問題が発生
- 画面スペースの物理的制限が存在
■ 2. 解決策: ブラウザベースターミナルの自作
- VS Code統合ターミナルの実装調査を通じてxterm.jsを発見
- ブラウザ上で動作するターミナルはHTMLとCSSで自由なレイアウトが可能
- WebSocketを用いてサーバ側のPTYに接続する構成を採用
■ 3. 実装した主要機能
- セッション状態の可視化:
- 各セッションのサイドにAIのサマリーと投げたプロンプトを表示
- Claude Codeの状態(idle/running/waiting)をリアルタイムで明確表示
- リポジトリごとに色とレイアウトをカスタマイズ可能
- 通知システム:
- 入力待ち状態になった際に音声通知(カスタマイズ可能)
- Firebase経由でローカルMacの状態をミラーリング
- Service Worker経由のWeb Push実装によりiOS 16.4以降のスマートフォン・スマートウォッチへ通知
- セッション管理:
- tmuxでセッションを管理し、再起動後も継続可能
■ 4. 認知限界の突破
- 従来の認知限界は約6エージェントの並列実行
- Anthropic社のBoris Cherny氏もターミナルで5セッション、ブラウザで5〜10セッションを同時実行
- 並列度の上限は人間の注意力ではなく、道具がどれだけ状態を肩代わりするかで決まる
- 作業スタイルが「画面に張り付く」から「呼ばれたら応じる」へ転換
■ 5. 1日500コミットの正体
- 並列度×通知ドリブンの自然な帰結として実現
- 各エージェントが小さな変更を積み重ね、ユーザーは詰まったポイントのみ判定する役割に
- ボトルネックが「手を動かす速度」から「判断を返す速度」へ移行した結果
■ 6. 予期しない変化: エディタの喪失
- 当初の目的はemacs環境を守ることだった
- 実際にはコード記述業務がほぼエージェント側で完結
- 著者の作業が「コーディング」から「PRレビュー」へシフト
- 手でファイルを開く機会がほぼ消滅
■ 7. 次のボトルネック: GitHub
- エージェント側の処理速度は充分に確保された
- CI・マージ判定が律速段階となった
- PR取り込み速度が開発全体の足かせとなっている
■ 8. 公開ツール: MulmoTerminal
- 起動コマンド:
npx mulmoterminal@latest- Claude Code、OpenAI Codexの両対応
- OSSとして公開、日本語マニュアル完備
- 関連プロジェクト: MulmoCast(マルチフォーマットメディア変換)、MulmoClaude(Claude Codeツールキット)