Fuga 使い方ガイド
← 会員ポータル(契約・アカウント)へ戻る
クラウド 4

計画してチームで実行する(POST /orchestrate)

/orchestrate は、1 つのクラウドのマシンで、次の順に自動で進めます。

  1. 計画を立てて、作業をパートに分ける。
  2. 依存の順に、ワーカーが実装する。
  3. 前のパートの作業を、次のパートに引き継ぐ。
  4. 結果を統合する。

pool に複数の AI を並べると、数理モデルが、計画を立てる AI と、各パートの担当をプールから選びます。

各ワーカーは、それぞれのエンジンで動きます。デスクトップの Fuga のオーケストラと同じです。メンバーが 1 人のプールでも動きます。

応答の形は /launch と同じで、runId が返ります。進み具合と結果は /result で読みます。resultText には、パートごとの要約と、担当したエンジンが入ります。

例

curl -X POST "https://www.kamui.ai/api/cloud/orchestrate" \
  -H "x-kamui-api-key: kamui_sk_..." \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "serverAuth": true,
    "pool": ["codex", "claude", "grok"],
    "prompt": "設定画面にダークモードの切り替えを足してください",
    "repoUrl": "https://github.com/you/repo",
    "params": { "autoMerge": false, "autoPush": true }
  }'
# → { "runId": "<uuid>", "machineId": "...", "pool": ["codex","claude","grok"] }
#    金庫に認証が無いエンジンは外し、残りで動く(外したものは poolDropped に出る)

pool の書き方

要素には、エンジン名の文字列と、{engine, model?, effort?} の形を混ぜて書けます。

["codex", "claude"]
  エンジン名だけ(モデルと労力はエンジンの既定)

[{"engine": "codex", "model": "gpt-5.6-terra"}]
  モデルを決める

[{"engine": "claude", "effort": "high"}]
  労力だけを決める

[{"engine": "codex", "model": "gpt-5.6-terra", "effort": "high"}]
  モデルと労力を決める

[{"engine": "codex", "model": "gpt-5.6-terra"}, "claude", "grok"]
  文字列と形を混ぜる

[{"engine": "codex", "model": "gpt-5.6-terra"},
 {"engine": "codex", "model": "gpt-5.6-luna"}]
  同じエンジンに別のモデルを並べると、そのエンジンはこのモデルの中から選ばれる

[{"engine": "codex", "model": "gpt-5.6-terra", "effort": "high"},
 {"engine": "codex", "model": "gpt-5.6-luna",  "effort": "medium"},
 {"engine": "claude", "effort": "high"}]
  同じエンジンで、モデルと労力の組み合わせを変えて並べられる

pool の決まり

  • 要素は 16 個までです。超えると 400 になります。
  • まったく同じ要素は、1 つにまとめます。
  • クラウドの pool では、gemini、opencode、kimi は外されます。全部が外れると 400 になります。
  • pool を書いたときは、トップレベルの model・effort は使えません(400)。モデルや労力は、pool の要素の中に書きます。
  • 金庫に認証が無いエンジンは外し、残りで動きます。外したエンジンは、応答の poolDropped に出ます。残りが無いときは 412 になります。
  • エンジンを限定したキーでは、pool のエンジンが全部、限定の中に入っている必要があります。入っていないと 403 になります。

パラメーター

パラメーター 型 必須 既定 Fuga の設定 説明
prompt string 必須 — 入力欄 作業の指示。計画の AI がパートに分ける。40 万文字まで。
repoUrl string 必須 — — 結果を統合する GitHub のリポジトリ。/orchestrate では必須。
serverAuth true 必須 — — クラウド金庫の認証で動かす。
pool array 任意 エンジン 1 人 エージェントプール 計画の AI が担当を割り当てる候補。書き方は上の「pool の書き方」。
engine string 任意 codex — pool を省いたときの、メンバー 1 人のプール。このときだけ、トップレベルの model・effort も使える。
baseBranch string 任意 リモートの既定 — clone の元、autoMerge の取り込み先のブランチ。
maxParallel number 任意 2 — 同じ段(wave)の中で、同時に動かすワーカーの数。1〜16 の範囲に丸める。
params.autoMerge boolean 任意 true 自動マージ 終わったら baseBranch に統合する。取り込みたくないときは、false と書く。
params.autoPush boolean 任意 true 自動プッシュ 各パートの作業のブランチを push する。
params.requirementsGeneration boolean 任意 true 要件定義の生成 計画に、要件定義のパートを入れる。
params.requirementsImageGeneration boolean 任意 true(要件定義の生成がオンのとき) 要件定義の画像生成 要件定義に画像を入れる。金庫に fal のキーが要る。requirementsGeneration を false にすると、こちらもオフになる。

/orchestrate の params は、/launch と既定が違います。省くと、自動マージも要件定義もオンで動きます。必要なものは、true か false をはっきり書いてください。