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

サブエージェントの受け渡しを壊さないスキーマ進化の設計

上流エージェントの成果物を下流が受け取る境界に型付き契約を置き、スキーマを変えても既存のフローが止まらないようにする設計を、検証コード・移行手順・実運用での落とし穴とともにまとめました。

AIエージェント32マルチエージェント37スキーマ設計Antigravity253

プレミアム記事

Antigravity 2.0 でサブエージェントを並べて運用していると、ある日とつぜん下流のエージェントが黙り込みます。

エラーも出さず、ただ「期待していたフィールドが空でした」とだけ言って止まる。原因をたどると、上流のエージェントがプロンプト改善のついでに出力の形を少しだけ変えていた、というのがほとんどです。

私自身、複数アプリの更新作業を main / sub のエージェント構成で回していて、この「沈黙する下流」に何度も足を取られました。ここで共有したいのは、その痛みを設計で消すための、エージェント間ハンドオフの型付き契約とスキーマ進化のやり方です。

なぜ「成功したのに壊れる」のか

マルチエージェントの厄介さは、各エージェント単体は成功している点にあります。

上流は「JSON を返した」という意味では成功しています。下流も「JSON を受け取った」という意味では成功しています。けれど中身の形が噛み合っていない。テストは緑、ログも正常、それでも成果物だけが空っぽになる。

この状態を私は「サイレント・ハンドオフ破壊」と呼んでいます。型のない受け渡しでは、形の不一致がランタイムのずっと後ろ、しかも本番でしか顕在化しません。

防ぐ鍵は一点です。上流の出力を、下流の入力契約として境界で検証すること。

契約をコードで固定する

まず、エージェント間でやり取りする成果物の形を JSON Schema として明示します。プロンプトの中で「こういう形で返してね」と頼むだけでは、モデルの気分で揺れます。境界で機械的に弾く必要があります。

# handoff_schema.py — 上流(調査エージェント)が下流(執筆エージェント)に渡す成果物の契約
RESEARCH_HANDOFF_V1 = {
    "type": "object",
    "required": ["schema_version", "topic", "findings"],
    "properties": {
        "schema_version": {"const": 1},
        "topic": {"type": "string", "minLength": 3},
        "findings": {
            "type": "array",
            "minItems": 1,
            "items": {
                "type": "object",
                "required": ["claim", "source_url"],
                "properties": {
                    "claim": {"type": "string", "minLength": 10},
                    "source_url": {"type": "string", "format": "uri"},
                },
                "additionalProperties": False,
            },
        },
    },
    "additionalProperties": False,
}

ポイントは additionalProperties: False を付けていることです。

これがあると、上流が勝手にフィールドを増やしたときに即座に検証で落ちます。「余計なものが混ざった」を早期に検知できる代わりに、後述するスキーマ進化では一手間が必要になります。私はこのトレードオフを承知のうえで、まずは厳格側に倒すことを推奨しています。

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

この記事の続きを読む

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

この記事で得られること
上流の出力を下流の入力契約として JSON Schema で検証する具体実装
後方互換を保ったままフィールドを増やす version フィールド方式の手順
受け渡しが壊れたときに本番で起きる症状と、3つの再発防止策
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

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

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

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

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

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

関連記事

Agents & Manager2026-04-27
AgentKit 2.0 で作ったAIエージェントを売る5つの収益化パス — 個人開発者が選ぶべき販売チャネルの判断軸
Antigravity の AgentKit 2.0 で作ったAIエージェントを、個人開発者がどう売るか。マーケットプレイス出品から自社サイト販売、受託からの商品化まで、5つの収益化チャネルを実例つきで比較します。
Agents & Manager2026-04-14
Antigravity × AgentKit 2.0 × Stripe でつくるAIエージェント SaaS — 個人開発者が本番運用まで到達する実装ガイド
AgentKit 2.0 と Stripe を組み合わせ、サブスクリプション収益を得られるAIエージェント SaaS を Antigravity で構築する完全ガイド。アーキテクチャ設計から本番デプロイまで、個人開発者が実際につまずく落とし穴と解決策を詳解します。
Agents & Manager2026-04-09
Antigravity × Gemma 4:プロダクション・エージェントをローカルLLMで構築する
Gemma 4をAntigravityで動かしてプロダクションレベルのAIエージェントを構築する完全ガイド。モデル選択・Ollama設定・AgentKit統合・マルチエージェント化まで体系的に解説。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →