Multi-agent

並列の専門レーン

Status: active

並列の専門レーンにより、1つの Gateway がさまざまなチャットやルームを別々のエージェントへルーティングしながら、ユーザー体験を高速に保てます。要点は、並列性を単なる「エージェントを増やすこと」としてではなく、希少リソースの設計問題として扱うことです。

基本原則

専門レーンがスループットを改善するのは、実際のボトルネックに対する競合を減らす場合だけです。

  • セッションロック: 特定のセッションを変更する実行は、一度に1つだけにする必要があります。
  • グローバルなモデル容量: 表示されるすべてのチャット実行は、依然としてプロバイダーの制限を共有します。
  • ツール容量: シェル、ブラウザー、ネットワーク、リポジトリ作業は、モデルターン自体より遅くなることがあります。
  • コンテキスト予算: 長いトランスクリプトは、以後のすべてのターンを遅くし、焦点をぼやけさせます。
  • 所有権の曖昧さ: 同じ仕事をする重複エージェントは容量を浪費します。

OpenClaw はすでにセッションごとに実行を直列化し、コマンドキューを通じてグローバルな並列性を制限しています。専門レーンはその上にポリシーを追加します。どのエージェントがどの作業を所有するか、何をチャットに残すか、何をバックグラウンド作業にするかです。

推奨ロールアウト

フェーズ1: レーン契約 + バックグラウンドの重い作業

すべてのレーンに、ワークスペースとシステムプロンプト内で書面の契約を与えます。

  • 目的: このレーンが所有する作業。
  • 非目標: 試みるのではなく引き継ぐべき作業。
  • チャット予算: すばやい回答はチャットに残し、長いタスクは短く確認してからバックグラウンドのサブエージェントまたはタスクで実行します。
  • 引き継ぎルール: 別のレーンが作業を所有している場合は、移動先を示し、コンパクトな引き継ぎ要約を提供します。
  • ツールリスクルール: ジョブを完了できる最小のツールサーフェスを優先します。

これは最も安価なフェーズであり、詰まりの大半を解消します。1つのコーディングジョブがリサーチレーンを極端に遅くすることはなくなり、各チャットは自身のコンテキストをクリーンに保てます。

フェーズ2: 優先度と同時実行制御

各レーンのビジネス価値に合わせて、キューとモデル容量を調整します。

json5
{  agents: {    defaults: {      maxConcurrent: 4,      subagents: { maxConcurrent: 8, delegationMode: "prefer" },    },  },  messages: {    queue: {      mode: "collect",      debounceMs: 1000,      cap: 20,      drop: "summarize",    },  },}

高優先度の作業には、直接/個人チャットと本番運用エージェントを使用します。システムが混雑しているときは、リサーチ、ドラフト作成、バッチコーディングをバックグラウンドタスクへ移します。

フェーズ3: コーディネーター / トラフィックコントローラー

複数のレーンがアクティブになったら、小さなコーディネーターパターンを追加します。

  • アクティブなレーンタスクと所有者を追跡します。
  • グループ間の重複リクエストを検出します。
  • レーン間で引き継ぎ要約をルーティングします。
  • ブロッカー、完了した結果、人間が判断すべき決定だけを表面化します。

ここから始めないでください。レーン契約のないコーディネーターは、混乱を調整するだけです。

最小レーン契約テンプレート

md
# Lane contract ## Owns - <job this lane is responsible for> ## Does not own - <work to hand off> ## Chat budget - Answer quick questions directly.- For multi-step, slow, or tool-heavy work: acknowledge briefly, spawn/background  the work, then return the result when complete. ## Handoff If another lane owns the request, reply with: - target lane- objective- relevant context- exact next action ## Tool posture Use the smallest tool surface that can complete the task. Avoid broad shell ornetwork work unless this lane explicitly owns it.

関連

Was this useful?
On this page

On this page