ANTIGRAVITY LABEN
記事一覧/Agents & Manager
Agents & Manager/2026-06-15上級

Antigravity のマルチエージェントを本番で壊さない封じ込め設計 — 連鎖障害を止める3つの境界の実装メモ

Antigravity のマルチエージェント構成は単体では綺麗に動くのに、本番では小さな失敗が全体に波及します。連鎖障害を止めるための制御の階層化・信頼境界・観測と冪等性という3つの境界を、TOML 設定と相関IDラッパーの実装まで含めて整理しました。

antigravity355multi-agent20orchestration12resilience7observability12production54agentkit13

プレミアム記事

プロトタイプでは驚くほど綺麗に動いていたマルチエージェント構成が、本番で同じ依頼を 100 回流した途端に表情を変えます。数回に一度、片方のエージェントの失敗がオーケストレーターを巻き込み、残りの並列タスクごと雪崩のように止まる。あるいは、ひとつのエージェントが誤った前提を共有メモリに書き込み、後続が全員それを正しいものとして扱い始める。こうした症状は、単体テストではまず再現しません。負荷と入力の多様性が一定量を超えて初めて、設計の隙間が一斉に開きます。

ここで整理したいのは、個別の不具合への対処療法ではありません。個人開発で Antigravity の複数エージェント構成を本番に載せ続けてきた中で私自身が気づいたのは、本番で起きる事故のほとんどが「ひとつの失敗がどこまで広がるか」という封じ込めの問題に帰着するということです。原因は十数通りあっても、効く設計はおおむね3つの境界に集約できます。制御の階層化、信頼と書き込みの分離、そして観測と冪等性です。この3つを最初から境界として引いておくと、新しい失敗パターンに遭遇しても、設計に戻って同じ場所を直せるようになります。

なぜ単体テストでは見えないのか

マルチエージェントの失敗は、ほぼ全てが「複数の独立した事象が同時に起きたとき」に顕在化します。決定的に失敗する入力が混入し、その間に別のエージェントが長考モードでトークンを食い、さらにその裏でツール呼び出しがタイムアウトする。ひとつずつ起きるなら無害でも、重なると相互作用で増幅します。

単体テストはこの「重なり」を再現しません。入力は整っていて、並列度は低く、外部依存はモックされています。だからこそ、本番で初めて遭遇する失敗を「想定外」として扱うのではなく、最初から重なる前提で境界を引いておく必要があります。封じ込めとは、失敗をゼロにすることではなく、失敗の影響半径を設計時に決めておくことです。

境界1: 制御を入れ子にして、下位の失敗が上位を超えない

最初の境界は、リトライ・タイムアウト・トークン予算という3種類の制御を、すべて入れ子の階層にすることです。ここが逆転していると、下位のエージェントが動作中に上位のオーケストレーターが先に打ち切り、せっかく得られた部分結果が失われます。

タイムアウトは外側ほど長く取ります。具体的には、オーケストレーター全体を 30 分、各サブエージェントを 10 分、各ツール呼び出しを 2 分というように、内側が外側に必ず収まる構造にします。この順序を守るだけで、下位の失敗が正しく上位へ伝わるようになります。

リトライについては、回数の上限だけでは止まりません。決定的に失敗する入力は何回試しても成功しないため、総経過時間のハードリミットとサーキットブレーカーを併用します。

[agents.researcher.retry_policy]
max_attempts = 5
initial_delay_ms = 1000
max_delay_ms = 30000
total_timeout_ms = 600000        # 指数バックオフで間隔が伸びても、ここで頭を打つ
circuit_breaker_threshold = 3    # 同種エラーが短時間に3回で遮断
circuit_breaker_window_ms = 120000

total_timeout_ms を入れる理由は、指数バックオフだけだと最後のリトライまでに想定より長く待ってしまうからです。回数で止めるのではなく、時間でも止める。サーキットブレーカーは、同じ種類のエラーが繰り返したときにそのタスク種別を一時的に弾き、無限ループ化を防ぎます。

トークン予算も同じ発想で、オーケストレーター側で並列度をセマフォで絞り、各エージェント側で個別の上限を引きます。並列実行は魅力ですが、5 つ同時に走らせれば単純に 5 倍、各々が長考モードを有効にしているとトークン消費は非線形に膨らみます。

[orchestrator]
max_parallel_agents = 3
token_budget_per_agent = 8000
thinking_budget_per_agent = 4000

合計予算がプロジェクトのクォータ上限を超えないよう、並列度から逆算して決めるのが実務的です。個人開発の規模ではクォータの取り合いがそのまま月末の請求に響くので、私自身は本番投入前に「最悪ケースで全エージェントが上限まで使った場合の合計コスト」を一度手計算で出してから値を確定させています。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
リトライ・タイムアウト・トークン予算を入れ子にして、下位の失敗が上位を巻き込まない階層制御の TOML 設定
コンテキスト汚染とプロンプトインジェクションを書き込み権限の分離と provenance で封じる実装パターン
相関ID・冪等性キー・最小メトリクス5点を最初から仕込む観測ラッパーのコードと導入順序
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Antigravity Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

Agents & Manager2026-04-27
Antigravity Self-Healing エージェントの設計実装 — 障害検知・自己診断・自動復旧のプロダクションパターン
Antigravity でエージェントを本番運用する際に避けて通れない『障害検知→自己診断→自動復旧』の3層設計。AgentKit 2.0 を使った具体的なラッパー実装と、私が深夜に呼び出された経験から得た落とし穴を共有します。
Agents & Manager2026-04-10
Antigravityマルチエージェント設計の実践ガイド — エージェント間通信エラーから本番安定稼働まで
Antigravityでマルチエージェントを設計・実装する完全ガイド。エージェント間通信エラーの解決から本番稼働パターン、パフォーマンス最適化まで体系的に解説します。
Agents & Manager2026-03-26
Antigravity マルチエージェント開発 実践設計パターン — AgentKit で構築する自律型AIチーム
AgentKit 2.0 のマルチエージェント設計パターンを深掘り。5つのオーケストレーション戦略、暴走防止、コスト管理の具体的な実装例。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →