> ## Documentation Index
> Fetch the complete documentation index at: https://adcp-docs-ja.pier1.co.jp/llms.txt
> Use this file to discover all available pages before exploring further.

# AI エージェントが広告スペックをプラットフォーム間でやりとりする方法

> AI 広告エージェントが AdCP の標準化されたタスクスキーマと MCP トランスポートを使用して、プラットフォーム間でインベントリを発見し、キャンペーンデータを交換し、購入を実行する方法。

AI エージェントが複数のプラットフォームにわたるキャンペーンを管理するとき、それぞれで同じことをする必要があります: 利用可能なインベントリを見つけ、購入を送信し、クリエイティブを提供し、デリバリーを確認します。課題は、すべてのプラットフォームがこれらの操作を異なる方法で説明していることです。

AdCP はこれを解決するために標準タスクのセットを定義します — それぞれが固定されたリクエストスキーマとレスポンススキーマを持つ — エージェントはどのプラットフォームと話しているかに関わらずこれを使用します。

## コミュニケーションの問題

3つのプラットフォームにわたるキャンペーンを管理するバイヤーエージェントを考えてみます:

| 操作          | プラットフォーム A            | プラットフォーム B               | プラットフォーム C         |
| ----------- | --------------------- | ------------------------ | ------------------ |
| インベントリを見つける | `GET /api/products`   | `POST /inventory/search` | `GET /catalogue`   |
| 購入を実行する     | `POST /api/campaigns` | `PUT /orders/new`        | `POST /media-buys` |
| デリバリーを確認する  | `GET /api/reports`    | `POST /analytics/query`  | `GET /stats/{id}`  |

標準なしでは、エージェントは各プラットフォームにカスタムコードが必要です — 異なるエンドポイント、異なるフィールド名、異なるレスポンスフォーマット。これにより、エージェントが扱えるプラットフォームの数が制限されます。

AdCP では、エージェントはどこでも同じタスクを使用します:

| 操作          | AdCP タスク                 |
| ----------- | ------------------------ |
| インベントリを見つける | `get_products`           |
| 購入を実行する     | `create_media_buy`       |
| デリバリーを確認する  | `get_media_buy_delivery` |

スキーマはプラットフォーム間で同一です。異なるのはトランスポート接続のみです。

## 2つのトランスポートプロトコル

AdCP タスクは統合タイプに応じて2つのプロトコルで転送されます:

### MCP（Model Context Protocol）

MCP は AI アシスタントが外部ツールを呼び出す方法です。AdCP MCP サーバーは Claude、Cursor、または任意の MCP 互換クライアントが呼び出せるツールとしてタスクを公開します。

```
AI アシスタント → MCP クライアント → AdCP MCP サーバー → プラットフォーム
```

エージェントはツールとして `get_products` を呼び出します。MCP サーバーはリクエストをプラットフォームの内部 API に変換して標準化されたレスポンスを返します。

**最適な用途:** AI アシスタントがメディアバイヤーのプラットフォーム操作を支援するヒューマンインザループワークフロー。

### A2A（Agent-to-Agent Protocol）

A2A は自律エージェントが互いに通信する方法です。バイヤーエージェントがセラーエージェントに構造化されたメッセージを送信し、セラーエージェントがそれを処理して結果を返します — 長時間実行する操作にわたって。

```
バイヤーエージェント → A2A クライアント → セラーエージェント → プラットフォーム
```

バイヤーエージェントは `create_media_buy` タスクをメッセージとして送信します。セラーエージェントがそれを処理し（秒または時間かかることがあります）、ステータス更新をストリーミングバックします。

**最適な用途:** エージェントが独立して動作し、主要なチェックポイントで人間が承認する自動化ワークフロー。

### 同じタスク、異なるトランスポート

重要なポイント: AdCP タスク定義はトランスポート非依存です。`get_products` リクエストは MCP または A2A どちらで転送されても同じフィールドを持ちます。プラットフォームはドメインロジックを一度実装して両方のトランスポートで提供します。

## エージェントが交換するもの

AdCP は複数のドメインにわたるタスクを定義します。典型的なキャンペーンでエージェントが実際に送受信するものを示します:

### プロダクト発見

バイヤーエージェントは「何を購入できるか?」と尋ね、メディアプロダクトの構造化されたカタログを受け取ります — それぞれが価格設定、フォーマット、ターゲティングオプション、デリバリータイプを持ちます。

```json theme={null}
{
  "buying_mode": "brief",
  "brief": "Premium video inventory on sports content for Q2"
}
```

レスポンスにはプロダクト ID、価格モデル（CPM、CPC、フラットレート）、利用可能なクリエイティブフォーマット、オーディエンスリーチ推定が含まれます。スキーマはどこでも同じなので、エージェントはプラットフォーム間でプロダクトを比較できます。

### クリエイティブスペック

クリエイティブを送信する前に、エージェントは `list_creative_formats` を呼び出してプラットフォームが受け入れるフォーマットを確認します。レスポンスには寸法、受け入れられるファイルタイプ、レンダリングロールを含む構造化されたフォーマットオブジェクトが含まれます:

```json theme={null}
{
  "formats": [
    {
      "format_id": {
        "agent_url": "https://ads.publisher.example.com",
        "id": "video_preroll_16x9"
      },
      "name": "Pre-roll video (16:9)",
      "renders": [{
        "role": "primary",
        "dimensions": { "width": 1920, "height": 1080, "unit": "px" }
      }]
    }
  ]
}
```

次にエージェントは `build_creative` を通じてマッチするクリエイティブを送信し、プラットフォームの要件に合わせて広告を生成または適応させます。

### オーディエンスデータ

エージェントはオーディエンスシグナル — ターゲティングセグメント、コンテキストデータ、ファーストパーティデータ — を `get_signals` を通じて交換します。バイヤーは必要なものを説明し、データプロバイダーはリーチ推定と価格を含むマッチするセグメントを返します。エージェントは `activate_signal` を通じて活性化する前にこれを評価できます。

### キャンペーン実行

エージェントは予算、スケジュール、ブランドアイデンティティを含むメディアバイを作成します:

```json theme={null}
{
  "account": { "account_id": "acct-12345" },
  "brand": { "brand_id": "nova-electronics" },
  "proposal_id": "prop-sports-video",
  "total_budget": { "amount": 25000, "currency": "USD" },
  "start_time": "2026-04-01T00:00:00Z",
  "end_time": "2026-06-30T23:59:59Z"
}
```

プラットフォームはこれを即座にまたは非同期で処理できます。AdCP のステータスシステム（`completed`、`working`、`submitted`、`input-required`）は進捗をエージェントに伝えます。

### デリバリーレポート

エージェントは `get_media_buy_delivery` を呼び出してパフォーマンスデータ — インプレッション、クリック、支出、コンバージョンイベント — を標準化された形式で取得します。デリバリースキーマはプラットフォーム間で同じなので、エージェントは異なるメトリクス名や計算方法を調整することなくパフォーマンスを集計して比較できます。

## 実例

架空のエージェンシー Pinnacle Media が3つの AdCP 対応プラットフォームにわたって消費者電子機器ブランドのキャンペーンを実行します。

<Steps>
  ### エージェントを発見します

  バイヤーエージェントは各パブリッシャーのドメインの `adagents.json` を確認して、セールスエージェントとサポートされるプロトコルを見つけます。

  ### インベントリを比較します

  エージェントはすべての3つのプラットフォームで `get_products` を並行して呼び出します。構造化されたプロダクトカタログを受け取り、すべて同じスキーマで価格、フォーマット、リーチを比較します。

  ### クリエイティブ要件を確認します

  エージェントは各プラットフォームで `list_creative_formats` を呼び出し、3つすべてに共通するフォーマットを特定します。クリエイティブ制作を共有セットに削減します。

  ### 購入を実行します

  エージェントは比較分析に基づいた予算配分で各プラットフォームで `create_media_buy` を呼び出します。一部のプラットフォームは即座に確認し、他は `working` ステータスを返して後で確認します。

  ### デリバリーを監視します

  エージェントは毎日3つのプラットフォームすべてで `get_media_buy_delivery` をポーリングし、エージェンシーの計画チーム向けに統合されたパフォーマンスビューに結果を集計します。
</Steps>

エージェンシーのチームは戦略を設定して結果をレビューします。エージェントはクロスプラットフォームの実行、フォーマット交渉、統合レポートを処理します。

## はじめる

<CardGroup cols={2}>
  <Card title="プロトコル比較" icon="code-compare" href="/docs/building/concepts/protocol-comparison">
    AdCP トランスポートとしての MCP と A2A の詳細な技術比較。
  </Card>

  <Card title="AdCP を使った構築" icon="rocket" href="/docs/building">
    実装ガイド、SDK、統合パターン。
  </Card>

  <Card title="メディアバイプロトコル" icon="robot" href="/docs/media-buy/index">
    バイヤーサイドの視点: エージェントがプラットフォーム間でメディアバイイングを自動化する方法。
  </Card>

  <Card title="セラー統合" icon="store" href="/docs/building/operating/seller-integration">
    プラットフォームが AI バイヤーエージェントにインベントリを公開する方法。
  </Card>
</CardGroup>
