課題: 無断再販
歴史的背景
プログラマティック広告では ads.txt が無断再販という重大問題を解決するために作られました。以前は不正事業者が人気サイトを名乗り、無許可で在庫を販売していました。結果として:- 収益の搾取: パブリッシャーが無断セラーに収益を奪われる
- ブランドセーフティの問題: バイヤーが正規在庫元を確認できない
- 市場の分断: 正規・非正規セラーの区別がつかない
AI 主導広告でも同じ課題
AdCP も、AI エージェントが広告を売買する際に同様の課題に直面します:- AI セールスエージェント が実際に管理していないプロパティを名乗る可能性
- バイヤーエージェント は購入前に認可を検証する必要
- パブリッシャー は特定のセールスエージェントを明示的に認可する手段が必要
- スケールの課題: 数千のプロパティを手作業で検証するのは非現実的
解決策: AdCP 認可システム
AdCP は 2 つの仕組みで無断再販を防ぎます:- Publisher Authorization: パブリッシャーが
adagents.jsonでセールスエージェントを明示的に認可 - Agent Discovery: セールスエージェントが
get_adcp_capabilitiesのmedia_buy.portfolioでポートフォリオを公開
パブリッシャーによるセールスエージェントの認可
パブリッシャーは自ドメインの/.well-known/adagents.json に adagents.json をホストし、認可済みエージェントと権限を列挙します。
adagents.json の例
Key Fields
- contact: このファイルを管理するパブリッシャー/主体
- properties: 認可ファイルが対象とするプロパティ定義
- authorized_agents: プロパティを代表する認可済みセールスエージェント一覧
- url: エージェントの API エンドポイント
- authorized_for: 認可範囲の説明
- authorization_type: プロパティの選択方法(
property_ids,property_tags,inline_properties,publisher_properties)
- last_updated: 最終更新日時(ISO 8601)
セールスエージェントが認可プロパティを共有する方法
Sales agents はget_adcp_capabilities タスクで media_buy.portfolio にポートフォリオ情報を公開します。これには複数の目的があります:
- 透明性: エージェントが代表するパブリッシャーをバイヤーが確認できます
- 検証の容易さ: バイヤーが adagents.json で認可確認するためのドメインを提供
- ポートフォリオ概要: 主要チャネル・国・説明を含みます
Property Declaration Example
規模対応のプロパティタグ
数千のプロパティを持つ大規模ネットワークでは property tags で管理を容易にします:- Products は多数のステーションを列挙する代わりに
["local_radio", "midwest"]を参照可能 - Buyers は
get_adcp_capabilitiesでポートフォリオを発見し認可を検証 - 認可検証 は adagents.json を通じて解決済みプロパティに対して行います
認可検証のワークフロー
バイヤーエージェントが、セールスエージェントが主張するプロパティを正当に代表しているか検証する手順:1. 初期セットアップ
2. プロダクト検証
3. 継続的な検証
- adagents.json をキャッシュ(例: 24 時間)
- 長期キャンペーンでは定期的に再検証
- 認可変更 は適切に処理(停止か拒否)
このアプローチの利点
パブリッシャーにとって
- 明示的な制御: 誰が在庫を販売できるかを管理
- きめ細かな権限: プロパティ・期間・商品種別ごとに設定
- 標準的なホスティング: 特別なインフラ不要
- 監査証跡: 認可エージェントの履歴を保持
セールスエージェントにとって
- 明確な認可証跡: バイヤーが検証可能
- 効率的なタグ分け: 大規模ポートフォリオをタグで管理
- 標準化された宣言: AdCP の全インタラクションで統一
バイヤーエージェントにとって
- 認可の自動検証: セラーの正当性を自動確認
- 不正防止: 暗号的な検証で詐欺を抑止
- 安心して購入: 検証済み在庫ソースからの購入に自信
- スケーラブルな検証: 大規模な自動化バイイングにも対応
セキュリティの考慮事項
ドメイン検証
- HTTPS 必須: adagents.json は HTTPS で提供しなければなりません
- ドメイン所有権: ドメイン所有者のみがプロパティのエージェントを認可できます
- 定期的な検証: バイヤーは定期的に認可を再確認すべきです
認可スコープ
- 最小権限: 必要最小限の権限を付与します
- 期間制限: 一時的な認可には開始/終了日付を使用します
- プロパティ制限: 適切な場合は特定のパスやプロパティタイプに制限します
エラー処理
- adagents.json なし: 非認可として扱う(フェイルクローズ)
- 不正な JSON: 不正な認可ファイルは拒否します
- ネットワークエラー: フォールバックポリシー付きのリトライロジックを実装します
- 認可期限切れ: アクティブなキャンペーンでは適切に処理します
プロダクト発見との連携
認可検証は Product Discovery とシームレスに統合されます。get_productsでプロダクトを発見- プロダクトが参照するプロパティの認可を検証
- 認可済み在庫で安心して進行
- 未認可のプロダクトを手動レビュー用にフラグ
技術的な実装
adagents.json ファイル形式の実装に関する完全な技術詳細については以下を参照してください。
- ファイルの配置場所とフォーマット要件(
/.well-known/adagents.json) - JSON スキーマの定義と検証ルール
- モバイルアプリと CTV の実装パターン
- プロパティタイプの詳細仕様(website, mobile app, CTV, DOOH, podcast)
- ドメインマッチングルールとワイルドカードパターン
- バリデーションコード例とエラー処理
- セキュリティの考慮事項とベストプラクティス
関連ドキュメント
get_adcp_capabilities- エージェントの capabilities とポートフォリオ情報を確認- Product Discovery - プロダクト発見と認可の連携
- Properties Schema - Technical property data model
- adagents.json Tech Spec - Complete
adagents.jsonimplementation guide