AI自动化

2026年 OpenClawマルチエージェントオーケストレーション実践

OpenClaw multi-agent orchestration fan-out pipeline 2026
開示事項:KuzCloudはMacホスティングガイドを公開しています。本記事は技術ドキュメントであり、製品のセールスピッチではありません。OpenClawはサードパーティのOSSです — openclaw.devをご覧ください。
要約:OpenClawの差別化要因はマルチエージェントオーケストレーションです。1つのコーディネーターがagentToAgent / サブエージェントspawn経由で専門Workerに作業を配分し、結果をマージします。サブタスクが独立している場合(3レビュアー、3モジュール)は並列扇出(fan-out)を使います。各段階が前段の出力を必要とする場合(調査 → 起草 → 監査)は順次パイプラインを使います。ベースデーモンに加え3エージェント扇出で約3.9 GB RAMを見込んでください。XcodeやDockerと並行する場合は24 GBを計画します。インストールの基本はOpenClawセットアップガイドで解説しています — 本ページはオーケストレーションのみに焦点を当てます。

マルチエージェントオーケストレーションの重要性

単一の長寿命エージェントコンテキストはノイズを蓄積します。調査ダンプ、失敗した試行、ツールログがウィンドウを膨らませ、品質が低下します。OpenClawはオーケストレーションを第一級の問題として扱います — 親エージェントが計画とルーティングを担当し、Workerは狭いプロンプトと隔離されたワークスペースを受け取ります。

チームがOpenClawマルチエージェントを採用する場面は次のとおりです。

  • CI/CD生成が複数のリポジトリやサービスに並列で触れる必要がある(ベンチマークデータでは、同等タスクで単一エージェントClaude Codeと比較して並列コード生成が約3.2倍高速)
  • コードレビューが独立した視点(セキュリティ、スタイル、カバレッジ)の恩恵を受ける — 1つのモデルがすべての役割を演じる必要がない
  • 長文ドキュメントで、1つのエージェントが調査・アウトライン・草稿・監査を単一スレッドに押し込む必要がない

失敗モードもアーキテクチャ的です。5つの「エージェント」がすべて同じメモリキーに隔離なしで書き込むと、競合状態が発生します — オーケストレーション層がマージロジックとタイムアウトを所有する必要があります。

OpenClawオーケストレーションモデル

実行時、OpenClawはゲートウェイデーモンと設定内の名前付きエージェントIDに解決されます。マルチエージェントフローでは次を使用します。

プリミティブ 役割
オーケストレーター(多くは main または internal タスクを分解し、Workerをspawnし、出力をマージ — 自身では重いツール作業を実行しない
Workerエージェント スコープ限定スキル、サンドボックス化ワークスペース、タスクのみのコンテキストを受信
agentToAgent ツール 許可されたエージェントID間の構造化メッセージング
サブエージェントspawn 並列分岐向けの一時Worker;spawnごとにラベル・モデル・タイムアウトを設定
ファイルベース協調 多くの本番構成では、ライブメッセージングが不十分な場合にワークスペースファイル(例:brain/ ディレクトリ)をブラックボードとして使用

深度の経験則:2段階(オーケストレーター → Worker)でワークロードの約95%をカバーします。3段階(オーケストレーター → チームリード → リーフ)は、サブチームが真に独立している場合のみ有効 — デバッグコストが急増します。

外部参考:OpenClaw GitHub および maxSpawnDepth / カスケード停止動作に関するコミュニティのアーキテクチャノート。

3つのオーケストレーションパターン

パターン1 — 並列扇出(Parallel Fan-Out)

適用条件:サブタスクが互いの出力に依存しない。

形状:オーケストレーターが1ターンで複数spawnを発行;壁時計時間 ≈ 最遅Workerの時間であり、Workerの合計ではない。

例:

  • 3パッケージを同時にlint
  • 3つの競合URLを調査
  • 3サービスのユニットテストを生成

アンチパターン:パイプライン(調査 + 起草)に扇出 — 調査がまだ実行中なのに起草者が空入力で開始する。

Orchestrator
 ├── spawn worker-a (scope: package-frontend)
 ├── spawn worker-b (scope: package-api)
 └── spawn worker-c (scope: package-worker)
      → merge summaries → single PR plan

パターン2 — 順次パイプライン(Sequential Pipeline)

適用条件:段階Bが段階Aのアーティファクトを必要とする。

形状:調査 → アウトライン → 実装 → 監査 → 公開。各Workerは前段の成果物のみを貼り付けたクリーンなコンテキストを受け取る。

利点:起草者は3,000行の生調査トークンを持たない;監査者は監査前の草稿履歴を見ない。

コスト:壁時計時間は加算的 — 依存関係が本物の場合のみ使用する。

パターン3 — 検証付き扇出(Fan-Out with Validation)

適用条件:正確性が速度より重要(コンプライアンス文書、インフラdiff、価格表)。

形状:同一プロンプトを2〜3 Workerに送信;オーケストレーターまたはモニターエージェントが出力を比較;不一致はリトライまたは人間へのエスカレーションをトリガー。

コスト:単一Worker比で約2〜3倍のトークン消費 — 高リスクマージのみで正当化される。

設定Runbook

OpenClawがすでにインストールされている前提です — 未インストールの場合は、先にセットアップガイドを完了してください。

ステップ1 — openclaw.json でエージェントロスターを定義

典型的なパス:~/.openclaw/openclaw.json(リリースに応じて確認してください)。

{
  "agents": {
    "list": [
      {
        "id": "orchestrator",
        "default": true,
        "workspace": "~/.openclaw/workspace-orchestrator",
        "sandbox": { "mode": "off" }
      },
      {
        "id": "coder",
        "workspace": "~/.openclaw/workspace-coder",
        "sandbox": { "mode": "all", "scope": "agent" },
        "skills": ["git", "nodejs", "testing"]
      },
      {
        "id": "researcher",
        "workspace": "~/.openclaw/workspace-research",
        "sandbox": { "mode": "all", "scope": "agent" },
        "skills": ["web", "docs"]
      }
    ]
  },
  "tools": {
    "agentToAgent": {
      "enabled": true,
      "allow": ["orchestrator", "coder", "researcher"]
    }
  }
}

ステップ2 — Workerごとにワークスペースを隔離

各Worker IDは別々のワークスペースディレクトリにマップする必要があります。並列扇出Worker間で書き込み可能なワークスペースを共有しないでください — ファイル競合がマージを破壊します。

mkdir -p ~/.openclaw/workspace-{orchestrator,coder,researcher}

ステップ3 — ルーティング表付きオーケストレーターシステムプロンプトを記述

オーケストレータープロンプトには次を含める必要があります。

  1. 利用可能なWorker IDとスキル
  2. 扇出 vs パイプラインの使い分け
  3. spawnごとのタイムアウト(例:調査120秒、コード生成300秒)
  4. 失敗ポリシー:1回リトライ、その後エスカレーション

サブエージェントコンテキストルール:WorkerはAGENTS.md + TOOLS.md + タスクペイロードのみを受け取るべき — オーケストレータースレッド全体ではない。

ステップ4 — 信頼できないWorkerにサンドボックスを有効化

協調ツール用にオーケストレーターは sandbox.mode: off を維持;Workerがshellまたはネットワークを実行できる場合、coder/researcherを mode: all でサンドボックス化します。

ステップ5 — spawn上限を設定

OpenClawバージョンのドキュメントに従い maxChildren / maxSpawnDepth を設定します。RAMとAPIレート制限を計測するまで、最大3並列子プロセスから始めてください。

ステップ6 — openclaw doctor でテスト

openclaw doctor
openclaw status

CI下で扇出を実行する前に、重複hookまたは競合するエージェントバインディングを解決してください。

ステップ7 — 制御された扇出タスクを実行

オーケストレーター指示の例(概念的):

Task: Review modules auth/, billing/, notify/ in parallel.
Spawn researcher once per directory with identical rubric.
Merge into one markdown report with per-module sections.
Timeout: 180s per worker. If one worker fails, continue with partial merge and flag gaps.

テスト中にピークRSSを記録 — ベンチマークフットプリントと比較してください。

ステップ8 — CIトリガーを接続(任意)

ゲートウェイをローカルに公開;パイプラインからSSH + RESTでトリガー。アーティファクトはタスクスコープのパスに保存:

export TASK_ID="${GITHUB_RUN_ID}"
mkdir -p "/tmp/openclaw-runs/${TASK_ID}"

メモリ、状態、マージ規律

リスク 緩和策
同一ファイルへの並列書き込み タスクスコープキー:${TASK_ID}/results/{worker}.md
オーケストレーターコンテキストの肥大化 Workerは要約のみを返す — ツール転写全文ではない
トークン消費の暴走 Workerごとの予算上限;Nトークン超過spawnをkill
Worker状態の陳腐化 並列作業は一時spawn;永続チャネルのみ長寿命ペルソナ

マージ契約:オーケストレーターは事前に出力スキーマ(JSONセクション、必須見出し)を定義するべきです。Workerは引き渡し前にスキーマに対して検証します。

ハードウェアとRAM予算

Apple Silicon M4クラスホストで計測(ベンチマーク記事参照):

モード 増分RAM(数量級) ホストガイダンス
単一OpenClawエージェント アイドル約480 MB、ピーク約1.8 GB 16 GBで快適
3エージェント扇出 Worker + ベースでピーク約3.9 GB Docker/Xcode起動時は16 GBがタイト
3エージェント + Claude Code並行 合計約5.2 GB 24 GBを推奨

オーケストレーションにGPUは不要です — ボトルネックはAPIレート制限とワークスペース同期のディスクI/Oです。日本(東京)ノードはAnthropic APIへの中央値RTTが24 msです(APIレイテンシのみ参照)。リージョン別ノード選定はM4リージョンマトリクスをご覧ください。

障害処理

オーケストレータープロンプトで明示的に定義します。

イベント ポリシー
Workerタイムアウト より狭いスコープで1回リトライ;それ以外は PARTIAL をマーク
WorkerエラーJSON 構造化エラーをログ;盲目的に扇出リトライしない
Worker回答の競合 検証パターンまたは人間へエスカレーション
オーケストレーターループ タスクあたり最大spawnラウンドを制限(例:2ラウンド)

夜間CI失敗の多くはタイムアウト欠如に起因します — デフォルトの「永久待機」がゲートウェイを停止させます。

状況 推奨アクション
独立サブタスク(≥2) 隔離ワークスペース付き並列扇出
各ステップが前段アーティファクトを必要 順次パイプライン
高リスク出力 検証付き扇出(2〜3 Worker)
OpenClaw初利用 安定するまで単一エージェント、その後Workerを1つ追加
RAM ≤16 GB + Xcode 最大2並列Worker、または24 GBへ移行
Claude Codeを対話的に使用中 バッチ/CIはOpenClawオーケストレーション;ペアプログラミングはClaude Codeを維持(代替案の背景

一行ルール:Worker BのプロンプトがWorker Aの出力を必要とするならパイプライン。そうでなければ扇出

FAQ

OpenClawは最大何エージェントまで並列実行できますか?

固定のグローバル上限はありません — 実用上の制約はRAMAPIレート制限マージの複雑さです。3並列Workerから始め、ps またはアクティビティモニタでピークRSSを計測してからスケールしてください。

扇出は常に高速化しますか?

タスクが相互に独立している場合のみです。依存関係のある段階に扇出を誤適用すると、空のドラフトや重複作業など、静かに失敗します。パターン選択前に必ず依存関係を整理してください。

agentToAgent とサブエージェントspawnの違いは何ですか?

agentToAgent名前付き永続エージェント(営業Bot vs サポートBot)へメッセージを送ります。サブエージェントspawnは単一タスク分岐向けの一時Workerを作成します。CI向けオーケストレーションは通常spawnに依存;マルチテナントチャットBotは agentToAgent とbindingsを使用します。

クラウドレンタルなしでMac Mini上でオーケストレーションを実行できますか?

はい。Node 22.19以上、十分なRAM、安定したネットワークがあれば、常時稼働のMacならどれでも動作します。ノートPCのスリープで長時間ゲートウェイセッションが切れる場合、チームは専用Mac miniを常時稼働させます。

TradingAgentsやMiroFishとの関係は?

TradingAgents取引会社のディベート(LangGraph)をオーケストレーションします。MiroFishは予測のためのソーシャルswarmをオーケストレーションします。OpenClawは開発ワークフロー(コード、CI、レビュー)をオーケストレーションします。ドメインに合うフレームワークを選んでください — 相互補完であり、置き換え可能ではありません。

OpenClawガイドを続ける

マルチエージェント扇出にスケールする前に、OpenClawのインストール手順とベンチマークデータを確認してください。