コンテンツにスキップ

エージェントオーケストレーション

各ステージは起草を専門エージェントに委譲でき、インストールされていなければ内蔵動作にフォールバックする。これが flow を誰かのエージェントレジストリに依存せずポータブルに保つ。優先順位は専門エージェントが先、次に等価スキル、次に内蔵フォールバックだ。ステージ対応は概ね想像通り:researchはリサーチャーに、scopeとPRDはプランナーに、ADRはアーキテクトに、contractは仕様寄りカーネルに、buildはフルスタック開発者に、reviewはコードレビュアーか3層敵対レビューに、ライブ検証はテスタに。

これを安全にする規則は1文だ:エージェントは差し替え可能、ゲートは固定。 ゲートはどの経路でも同一なので、エージェントの不在がバーを下げることはなく、立派なエージェントが稼いでいない通過を上げることもない。委譲は設計上コンテキスト分離される——サブエージェントが受け取るのはタスク・ファイル・受け入れ基準・関連するlawや契約の抜粋だけで、セッション履歴は決して渡らない——返るのは小さな評決集合の1つだ:DONE、DONE_WITH_CONCERNS、BLOCKED、NEEDS_CONTEXT。委譲の後はゲートが走り、意味チャレンジが適用され、耐久フックが書かれ、実際に走った経路が告知される。

このページは、その規則を巡るパワー面のオペレータホームだ:エージェントごとに1つのworktree、任意の追加エンジン、recall/promoteループ、フィンガープリント束縛の証跡。メンテナの図はリポジトリに残し、フッターにだけリンクする。

1つのチェックアウト上で数端末に数エージェントがいるのが罠だ:1つがブランチを切り替えると、他の全端末が一緒に反転する。/flow workspace は各エージェントに自分の git worktree を与える——独自HEAD、独自index、独自ファイル、共有オブジェクトストア——そうならないように。

/flow workspace add <branch>
/flow workspace add <branch> --card C-NNN --vendor <name> --task "<one line>" --copy-env
/flow workspace list
/flow workspace enter <branch>
/flow workspace check <branch> --card C-NNN
/flow workspace remove <branch>
/flow workspace doctor
  • add <branch> はツリーを作り、ポートオフセットをずらす(2つのローカルサーバーが衝突しないよう)。貼り付け-readyな cd とenvブロックを出力する。任意フラグでカード・ベンダーラベル・タスク行・envコピーの有無を固定できる。
  • list は誰がどこにいるかを示す。
  • enter <branch> は死んだ端末のために環境を再出力する。
  • check <branch> --card は起動前にブランチ主張の衝突とallowed-files重なりを旗立てする。実行すること。後のマージ競合は、このチェックがスキップされたか出し抜かれたことを意味する。
  • remove はツリーを畳み、自動で --force しない。gitが拒否したらあなたが解決する。flow は代わりに --force しない。
  • doctor は孤児ツリーを突き合わせて記録する。

git自体がレジストリであり真のロックだ。git worktree list がライブだ。1つのブランチを2回チェックアウトさせないgitの拒否が、実際にあなたを守る。サイドファイル .flow/workspaces.jsonl はその上にベンダー・カード・ポート・タスクのメタデータを載せるだけだ。

ジャーナルに穴を開けないようこれらの動詞を使う。素の git worktree add は何も記録しない。

OpenAI Codex(openai-codex プラグイン)は任意の第2エンジンだ。Google Antigravity(agy CLIまたはAntigravity IDE)は任意の第3だ。どちらも同じ高価値の瞬間に使う追加ベンダーであり、盲点を共有しにくいモデル群にレビューを判定させる。専門→スキル→内蔵の梯子を置き換えない。デフォルトエンジンはその梯子のままだ。CodexやAntigravityの不在が実行を壊すことはない。

flow は installed と usable を区別する。installedはプラグイン・バイナリ・IDEディレクトリの存在だ。usableはさらに、エンジンが実際に準備できログイン済みであることの安価で非課金なプローブを要する。usableなエンジンにだけルーティングする。さもなくば flow は黙って——だが告知して——通常の梯子に縮退し、ゲートは動かない。

Antigravityは2つのうち最も厳しいプローブを受ける。測定された理由がある:agy -p はログインしていなくても空stdoutでexit code 0を返す——エラーはログファイルにだけ落ちる。だから flow は期待通りの非空出力でのみAntigravityにルーティングし、嘘をつくexitコードでは決してない。そのプラットフォームではヘッドレス取り込みが信頼できない。支援されるデフォルトは対話的だ:IDE Agent Managerか実端末でレビューを実行し、結果を貼り戻す。空のGemini結果は「レビュー不可」を意味し、承認では決してない。

これらの呼び出しは課金され、diffに契約やPRDの抜粋がマシンを離れるため、コストゲートを開くトリガーは正確に3つだ:

  1. ツーストライクの行き詰まり——同一モデルエージェントが2回止まった。Antigravityは後の追加エンジンだ:同一モデル経路と第2エンジンの両方が停滞した後に発火する。
  2. セキュリティクラスのカードレビュー。
  3. 明示的なオペレータのオプトイン(「これをCodexでレビューして」「これをAntigravityで」「/flow … codex」「/flow … antigravity」)。

デフォルトで全ステージには決してない。機密・規制・NDA下のコードベースでは、知ってオプトインすること:Codexを選べばその概要はプランの保持条件でOpenAIに送られる。Antigravityを選べばGeminiプランでGoogleに送られる。認証は完全にプラグインか agy / IDEに委譲する。flow はそれらの認証情報を読まず、保存せず、ログしない。

ゲートの等価性は絶対だ。CodexやAntigravityが起草・批評し、同一のステージゲートが依然として裁く。クロスモデルレビューはトリアージに資する。カードを自動で通すことも落とすこともない。

使用後、flow はどのエンジンが走ったか(またはtierが利用不可で何に縮退したか)を告知する。実行は読み解けるまま保つ。

会話ウィンドウは忘れる。耐久ハーネス——SQLiteストアに RETRO.md、DEBT.md、playbooks/——は捕捉・再利用・改善の閉ループであり、エージェント駆動のプロジェクトが人間のチームのように経験を蓄積する。

捕捉は自発的ではなくエンジン発火だ:

  • ステージ01の通過がintakeを生む
  • 通過したカードチェックがtier採点済みtraceを記録する
  • 意図的スキップがdebtをログする

再利用は /flow recall だ。ステージやカードの開始時、何かを書く前に実行する。未解決debt、最新のレトロ、前カードのスコープ、ハーネスの摩擦とbacklog、監査の健全性、promote済みプレイブックを読み戻す。作業は、再発見ではなく過去の痛みを見た状態で始まる。

改善も機械的だ:harness audit はエントロピーとドリフトを採点し、harness propose は反復する摩擦をパターンが2回以上発火したら改善backlogに掘り起こし、harness decision outcome は予測対実績のループを閉じる。

resume に始まり recall に続くプロジェクト途中の儀式は プロジェクトの途中再開 にある。

教訓が1つのプロジェクトより大きいとき、持ち上げる:

/flow promote <playbook.md>

プレイブックをクロスプロジェクトのナレッジベース ~/.claude/flow/playbooks にコピーする。以降、recall は学んだ場所だけでなく、すべてのプロジェクトでそれを浮かべる。

実行が自律的になったら、「これはレビュー済み」はスクリプトがチェックできる意味を持たなければならない。証明付き実行コントロールプレーンはフィンガープリント束縛の証跡を発行する——レビュー済みステージやカードには semantic_gate 証跡、チェック済みデプロイには live_verify 証跡——承認した対象のフィンガープリントに束縛される。

/flow attest semantic --stage <stage> --revision <rev> --owner <manifest>
/flow attest semantic --card <id> --base <rev> --revision <rev> --owner <manifest>
/flow attest live-verify <id> --revision <rev> --owner <manifest>
/flow attest status [<stage|card>]
/flow attest recover <C-NNN> --mark-failed

発行は特定リビジョンのコミット済みblobに対して実行する。作業ツリーの汚れた現物ではない。ライブ証跡は正確なHEAD先端と再計算されたフィンガープリントを要する。承認後にファイルを編集すれば、承認は黙って継承されず無効になる。status は証跡が現行かを告げる。recover … --mark-failed はライブ検証が途中で詰まったときのMust-ask脱出だ。その試行を失敗と記す。通過は発行しない。

/flow auto の有効中、check、CLI所有のカード反転、依存の準備、マージ済みworktreeの除去はすべて現行の証跡を要する。/flow auto stop で警告のみの手動モードに戻る。隠しバイパスはない。auto停止規則——セキュリティクラスHALTを含む——は 作業が止まらなければならないとき にある。

証跡が検出するのは対象の古さだ。アクターを認証しない。敵対的ホストに耐えない。自律ループが古い承認を消費することへのガードであり、マシンを握る者へのセキュリティ境界ではない。


メンテナのホーム(公開ページではない):skills/flow/SKILL.md、skills/flow/references/codex-integration.md、skills/flow/references/antigravity-integration.md、skills/flow/references/attestations.md。メンテナが必要な図:docs/system-architecture.md。