Skip to main content
L3 はエージェント側で AdCP が 何を意味するか を強制します。ワイヤー形状は整形式(L0)、呼び出し元は本物(L1)で認可済み(L2)。今: リクエストは世界の現在の状態を考慮して合法か? エージェントにとって、L3 はプロトコルサーフェスの大部分です — 一から 3〜4 人月のビルド はほぼ完全にここに存在します。呼び出し元にとって、L3 はコンシューマー側: 状態遷移を強制するのではなく、エラーコードを分類し状態遷移を扱う、数週間のハンドラーグルー。

L3 の SDK が提供しなければならないもの

SDK を選ぶか新しい言語に移植する場合、これが L3 のビルドターゲットです:
  • すべての仕様定義リソースの ライフサイクルステートマシングラフ、仕様正しいエラーコード(NOT_CANCELLABLE / INVALID_STATE など)を発する遷移アサーションプリミティブ付き。
  • クロスペイロード衝突検出と IDEMPOTENCY_CONFLICT エンベロープの no-payload-echo 不変条件を持つ 冪等性キャッシュ
  • 非同期タスクストア + ディスパッチャー — ツールは非同期にオプトインする。SDK は task_id を返し、ポーリングを受け入れ、終端アーティファクトを発する。
  • Webhook エミッター — 署名済み、リトライ済み、冪等。
  • 解決されたアカウントが sandbox または mock モードのとき状態を決定的に駆動するよう配線された(そうでなければ拒否される)適合性テストサーフェスcomply_test_controller)。
  • 仕様のエコーコントラクトを扱う リソースごとの永続性プリミティブ
  • 上のすべてを賢明なデフォルトで結びつける サーバー構築エントリポイント
累積的なクロス層のストーリー(L0+L1+L2+L3 が何をもたらすか)については、SDK スタックリファレンス を参照。2.5 と 3.0 の間で L3 で何が変わったかについては、What changed at L3 in 3.0 を参照。

この層のページ

  • Task lifecycle — ステータス値、遷移、ポーリング。
  • Async operations — 同期、非同期、インタラクティブなタスク処理。
  • Webhooks — プッシュ通知、署名、リトライ、冪等性。
  • Error handling — エラーカテゴリー、コード、リカバリー分類。
  • comply_test_controller — サンドボックス専用の適合性テストサーフェス。