コンテンツにスキップ

マルチセッション エージェントボード

一部の仕事は単一のAIには荷が重すぎます — バックエンド・フロントエンド・DBマイグレーションを同時に、あるいは1つの大規模リファクタリングを領域ごとに分割して、といったケースです。マルチセッション エージェントボードは、複数のAIエージェントを1画面(ボード)に配置し、それらをチームとして働かせ、実行キューと統合承認によってあなたを安全に制御の座に留めます

Blyckのアプローチは「エージェントを実行する場所」ではありません — いまや主要ツールならどれでもそれはできます。そうではなく、**「実行し、その結果を信頼してマージする場所」**です。それを実現するのは3つのレイヤーです。オーケストレーション(セッションをまたいで見て中継する)、ガバナンス(ChangeSet + 統合承認で稼働中にレビューする)、そしてオペレーションのワークベンチ(DB・SSH・ターミナル・プレビューをエージェントのすぐ隣に、環境隔離とともに配置する)です。

  • 複数のAIチャットセッション(Claude と Codex の混在)を1つのボード上にカードとして並べます。
  • エージェントの関係と作業フローを、ノード/エッジのグラフとしてリアルタイムに可視化します。
  • エージェントは互いに作業を引き渡し(中継)並列に動作し、その間実行キューが競合を防ぎます
  • すべての承認リクエストは一か所に集約されます — 画面下部の統合インボックスです。

ヘッダーの🤖ボタンをクリックすると、エージェントボードパネルが開きます(他のパネルと同様に、新しいタブまたは分割で)。ボード上のカードは、バックグラウンドに格納されたAIチャットセッションです — その多くをボードから管理しつつ、実際に同時にストリーミングするのは数個だけです。

ボードは縦方向のカード一覧です(グリッドは情報を切り詰めスケールも悪かったため、これを選びました)。上部には固定のステータスレールが配置され、その下にはスクロール・展開・並べ替えができるカードが並びます。

ボード全体を要約する固定の1行です。

6 agents · 2 ストリーミング中 · 1 承認待ち · total $2.14 · today $0.42
  • エージェント数、ストリーミング中の数、承認待ちの数のライブカウント。
  • 実行コストの合計に加え、多数のエージェントが同時に走るときの同時ストリーミング警告(コストガバナンス)。

折りたたまれた各カードはデフォルトで3行を表示します — フォルダ、要約、進捗 — さらに、密度の高いボード向けに1行へ圧縮するコンパクトトグルを備えます。

表示内容
ヘッダーステータスドット · エージェント名 · プロバイダー/モデル · 📁 プロジェクトフォルダ · モードバッジ(chat/plan/act × instant/review) · ⏹ 停止 / ⤢ 展開 / 📌 格納 のコントロール
要約最近のアクティビティの要約(または直近のユーザー/AIの発話)、ChangeSet チップ、実行コスト
進捗ストリーミングの末尾、現在のツール、ステップ予算が設定されている場合は N/M ステップ

ステータスドットはセッションをリアルタイムに反映します。

状態意味
idle何も実行していない
thinking / streaming / tool応答中、またはツール実行中
queued実行キューのゲート待ち(下記参照)
awaiting approval統合インボックスの承認カードでブロック中
error直前のターンが失敗(例:クレジット切れ) — 最上部に固定

並び順はアクティビティ順で、承認待ちとエラーのカードは最上部に固定されるため、緊急のものが視界の外へスクロールして消えることはありません。

  • 折りたたみ(デフォルト、3行) — フォルダ、要約、進捗、ChangeSet、コスト。コンパクトトグルで1行に落とせます。
  • インライン展開(アコーディオン) — カードをクリックするとその場で展開します。凝縮されたトランスクリプト + ストリーミング末尾 + 承認カード + ミニコンポーザーが表示されます。一覧を離れることなく操作でき、複数のカードを同時に展開して横並びで比較できます。
  • ⤢ パネルへ展開 — セッションを実際のパネル(フルの「コックピット」)へ引き出し、じっくり作業します。同じチャットなので何も乖離しません。

これが管制塔 / コックピットの分担です。ボードはスキャンして舵取りし、フルのAIチャットパネルは深掘り作業のためのものです。どちらも同じセッションを投影します。

ヘッダーの**[List ⇄ Graph]を切り替えると、カード一覧から🕸 オーケストレーショングラフ**へ移ります — 各エージェントをノード、各委譲(agent_send)をエッジとして描く階層的なDAGで、パンとズームが可能です。誰が何を誰に渡したのか、どこで詰まっているのかが一目でわかります。

  • ノードごとのリアルタイム状態:ストリーミング中、待機中、承認待ち、完了。
  • フローのルーティング:中継チェーンに沿って作業がたどる経路。

ボードはエージェントの関係を可視化し、忙しいボードでも読みやすさを保ちます。

エッジ意味
pipeAの結果をBに引き渡し
refBがAのチャットを参照グレー
subchatAがサブエージェントBを生成(ai_subchat
taskAがバックグラウンドタスクを生成(task_spawn
team共有ノートのトピック / プロジェクトフォルダ派生バンド
  • 接続レーン(左のガター) — Gitグラフ風のレーンで、カード間を曲線リンクでつなぎ、エッジタイプごとに色分けし、方向を矢印で示します。
  • 各カードのバッジ→ pipe: B, C / ↩ refs: A / ⑃ subs: 2。クリックすると対象までスクロールしてハイライトします。
  • ライブフローアニメーション — pipeが発火すると、A→Bの線上をドットが移動し、対象が点滅します。
  • グループバンド — フォルダやチームトピックを共有するカードには、左側に色付きのバンドが付きます。
  • フォーカスモード — 🔗 をクリックすると、無関係なカードを暗くし、そのカードの入出力エッジだけをハイライトします。

エージェントを**互いに認識できる(peer-aware)**ようにし、盲目的に働くのではなく協働させます。

ツール役割
agent_send(targetChatId, message)別のエージェントに作業/結果を引き渡す(中継)。対象がビジーの場合、そのエージェントのターン終了後に自動配信される
agent_create(title, provider?, projectRoot?, mode?)役割ベースのチームメイトを作成。返された chatId 経由で送信する
  • 相互認識プロンプト — 各エージェントのシステムプロンプトには、チームメイト、その担当範囲、成果物の所在が記され、共有の意思決定はチームノート(workspace_note)に記録するよう指示されます。
  • 逐次中継 vs 並列ファンアウト — 依存関係のある作業(CがBの結果を必要とする)は逐次に中継し、独立した作業のみを並列にファンアウトします。同じファイルを2つのエージェントに同時に渡さないでください。
  • 報告プロトコル — エージェントが委譲された作業を終えると、agent_send で委譲元へ報告し返すため、オーケストレーターは次のステップを進められます。
  • agent_create の制限 — 新しいチームメイトはデフォルトで Act + Review モード(あらゆる変更にあなたの承認が必要)です。自律モードはオプトインです。作成は15分あたり最大5エージェントに制限されます。
  • ループガード — 同じペアが作業を延々と往復させ続ける場合、中継はブロックされます。ガードは15分ウィンドウ(方向ごと約3、往復約4、合計約8)を用いて、無限中継とコスト暴走を止めます。

複数のエージェントが同時に動くと競合が生じます。実行キューはそれらをゲートで直列化・調整するため、「5」という数字は同時実行数の上限であって、管理できるエージェント数の上限ではありません — 格納されたカードはコストがかかりません。

  • 自ターンゲート — エージェント自身がすでに応答中または準備中であれば待機します(チャットごとにターン所有者は常に1つ)。
  • プロバイダー予算 — プロバイダーごとの同時実行上限。Claude(プロセスプール、アイドルクリーンアップ付きで最大5つのLRU)と Codex(スレッドベース)は別々に予算化されるため、一方の上限が他方を食い合うことはありません。
  • ファイル競合ガード — 同一フォルダのエージェントはデフォルトで並列に動きます。2つのターンが同じファイルに触れる場合にのみ、一方が上書き防止のため待機します(約90秒)。
  • ⚡ 並列トグル — デフォルトでオン。オフにすると、同一フォルダの厳密な直列化にフォールバックします。

Blyckは git worktree の代わりに、ターン境界での git チェックポイント + ChangeSet による帰属付け + 実行キューのファイル競合ガードでファイル作業を隔離します。

  • 各ターンはチェックポイント(復旧ポイント)として記録されます。ボードが1つのリポジトリを共有する場合、各エージェントは別々にコミットするため、変更は帰属が明確で個別に取り消し可能なまま保たれます。
  • worktree は意図的に使いませんでした:カードごとのフォルダが一般的なパターン(そのため競合は1つのフォルダ内でのみ起きる)であり、worktree は Windows で高コストで、リモートSFTPのプロジェクトルートでは構造的に不可能だからです — そしてそここそBlyckのワークベンチが真価を発揮する場所です。

各エージェントは隔離されたSSH/DBスコープを持ちます。あるエージェントが接続したリモートホストやデータベースが、別のエージェントのコンテキストに漏れることはありません — チーム作業中の事故を防ぎます。これは競合ツールが構造的に真似できないレイヤーです。なぜならエージェントは、DB・SSH・ターミナルの各パネルと同じワークベンチの内側に住んでいるからです。

複数のエージェント — その一部はバックグラウンドに格納されている — があると、承認リクエストは通常、あなたに見えない隠れたDOMに出現してしまいます。ボードはそれらすべてを下部の一か所に集約し、インラインの承認カードの位置に合わせます。

  • エージェントごとにグループ化されたコンパクトカード:コマンドのプレビュー + 理由 / 作業ディレクトリ + 許可 / 拒否。
  • アコーディオンで完全なコマンドを展開します。
  • 画面のおよそ3分の1に制限され内部スクロールを持つため、セッションビューを埋め尽くすことはありません。

個々の承認カードの動作については AIチャット → ツール承認ゲート を参照してください。

ボードのシリアライズ — 再起動時に復元

Section titled “ボードのシリアライズ — 再起動時に復元”

ボードのレイアウト、各セッションの会話、進捗はシリアライズされて保存されます(名前付きパネルレイアウトと同じ仕組みです)。アプリを再起動すると、ボードは無傷で戻ってきます — カード、会話、エッジも含めて。

ブロードキャストコンポーザー

Section titled “ブロードキャストコンポーザー”

下部の固定コンポーザーは、全員・一部・単一のエージェントに同時に送信します。共有の前置き(共通コンテキスト)を添付でき、選択したすべてのエージェントがそれを受け取り、それぞれが自分の実行キューゲートと自分の承認モードを通過します — 所有権を迂回する生の並列起動には決してなりません。

  1. リードエージェントに全体のゴールを与えます。
  2. リードが agent_create で役割ベースのチームメイトを作成します(または既存のセッションをアタッチします)。
  3. agent_send で独立した作業を並列にファンアウトし、依存する作業は逐次に中継します。
  4. 統合インボックスから承認を処理します。
  5. リードが成果物を集約して検証します — それを作っていない別のエージェントに検証を委譲するのが望ましいです。

エージェントが互いを延々と呼び合ったらどうなりますか? ループガードが15分ウィンドウ内の往復の繰り返しやファンアウトを検出し、それ以上の中継をブロックします。

2つのエージェントが同じファイルを編集したらどうなりますか? 同一フォルダのエージェントは並列に動きますが、ターンが同じファイルに触れる場合、実行キューのファイル競合ガードが一方を待機させ(約90秒)、上書きを防ぎます。厳密な直列化には ⚡ 並列トグルをオフにしてください。

同時に何個のエージェントを実行できますか? 同時実行はプロバイダーごとに上限があります(Claude 約5、Codex は別枠)が、管理できる数ははるかに多く保てます — 格納されたカードはコストがかからず、実行キューがスロットの空き次第で残りを順に通します。

再起動するとボードは消えますか? いいえ。ボードのレイアウト、会話、エッジ、進捗はシリアライズされて復元されます。

なぜ隔離に git worktree を使わないのですか? カードごとのフォルダによって競合はまれ(同一フォルダ内のみ)になり、worktree は Windows で高コストで、リモートSFTPルートには存在できません。Blyck は代わりに git チェックポイント + ChangeSet + ファイル競合ガードを使います — これはリモートフォルダでも動作します。

あるエージェントのSSH/DB接続が別のエージェントに影響しますか? いいえ。各エージェントは隔離された環境スコープを持つため、リモートホストやデータベースがエージェント間で漏れることはありません。