Abstract
Signals Protocol は、AI を活用したシグナルの探索・有効化・管理システムの標準インターフェースを定義します。このプロトコルにより、AI アシスタントは自然言語での対話を通じて、マーケターがデータシグナル(オーディエンス、コンテキスト、地理、時間、多次元データ)を発見・有効化・管理できるよう支援します。Protocol Overview
Signals Protocol では次のことが可能です。- マーケティング目的に基づく自然言語でのシグナル探索
- 1 回のリクエストで複数プラットフォームのシグナルを探索
- 特定のプラットフォームやアカウントへのシグナル有効化
- CPM やレベニューシェアモデルによる透明な価格提示
- 個人・デバイス・世帯など単位別のシグナル規模報告
Transport Requirements
シグナルエージェントは以下のいずれか少なくとも 1 つのトランスポートをサポートしなければなりません。| Transport | Protocol | Description |
|---|---|---|
| MCP | Model Context Protocol | Tool-based interaction via JSON-RPC |
| A2A | Agent-to-Agent | Message-based interaction |
get_adcp_capabilities で Signals Protocol のサポートを宣言しなければなりません。
Core Concepts
Request Roles
すべてのシグナルリクエストには 2 つの役割が存在します。- Orchestrator: API リクエストを送るプラットフォーム(例: Scope3, Claude)
- Principal: リクエストが代行される主体(例: Nike, Omnicom)
Signal Agent Types
プライベートシグナルエージェント — プリンシパルが専有し、専用アクセスを持つもの:- 権限のないプリンシパルに対しては
AGENT_NOT_FOUNDを返さなければなりません - 他のプリンシパルにプライベートシグナルを公開してはなりません
- プリンシパル登録なしでの公開カタログアクセスをサポートしなければなりません
- 登録済みプリンシパル向けのパーソナライズされたカタログをサポートすることが推奨されます
Identifiers
-
signal_agent_segment_id: シグナルを一意に識別する ID。シグナルエージェントは各シグナルに対してこれを返さなければなりません。オーケストレーターはactivate_signalリクエストでこれを使用しなければなりません。 -
activation_key: キャンペーンのターゲティングに使うキー。is_live: trueかつ呼び出し元がデプロイメントへのアクセス権を持つ場合、シグナルエージェントはこれを返さなければなりません。オーケストレーターはターゲティングにactivation_keyを使用し(signal_agent_segment_idではなく)、なければなりません。
Tasks
Signals Protocol は 2 つのタスクを定義します。完全なリクエスト/レスポンススキーマと例はタスクリファレンスを参照してください。get_signals
Schema:get-signals-request.json / get-signals-response.json
Reference: get_signals task
キャンペーン条件に合致するシグナルを探索します。
要件:
- オーケストレーターは
signal_specとdeliver_toを含めなければなりません - シグナルエージェントはレスポンススキーマに定義された必須フィールドをすべて返さなければなりません
is_live: trueかつ呼び出し元がデプロイメントにアクセスできる場合、シグナルエージェントはactivation_keyを含めなければなりません
activate_signal
Schema:activate-signal-request.json / activate-signal-response.json
Reference: activate_signal task
意思決定プラットフォームで使用するためにシグナルを有効化します。
要件:
- オーケストレーターは
signal_agent_segment_idとdeploymentsを含めなければなりません - 成功時、シグナルエージェントは各デプロイメントの
is_liveを含むdeployments配列を返さなければなりません is_live: trueかつ呼び出し元がデプロイメントにアクセスできる場合、シグナルエージェントはactivation_keyを返さなければなりません- 失敗時、シグナルエージェントは
errors配列を返さなければならず(deployments配列は含めない)
Error Handling
シグナルエージェントは 標準の AdCP エラースキーマ に従ってエラーを返さなければなりません。 シグナルエージェントは エラーハンドリングリファレンス で定義された Signals Protocol のエラーコードを使用しなければなりません。Security Considerations
Transport Security
Signals Protocol の通信はすべて TLS 1.2 以上の HTTPS を使用しなければなりません。Authentication
- オーケストレーターは有効な認証情報を用いてシグナルエージェントに認証しなければなりません
- シグナルエージェントはリクエストを処理する前に認証情報を検証しなければなりません
- シグナルエージェントはプリンシパルのコンテキストを利用してカタログのアクセスレベルを判断することが推奨されます
Activation Key Security
- シグナルエージェントは認証済みでデプロイメントにアクセスできる呼び出し元にのみ
activation_keyを返さなければなりません - 呼び出し元がアクセスできないデプロイメントに対するアクティベーションキーを返してはなりません
Data Minimization
- シグナルエージェントはプリンシパルがアクセスを許可されていないシグナルを返してはなりません
Conformance
Signal Agent Conformance
準拠した Signals Protocol エージェントは次を満たさなければなりません。- 指定されたトランスポート(MCP または A2A)のうち少なくとも 1 つをサポートする
- スキーマに沿って
get_signalsとactivate_signalタスクを実装する - レスポンススキーマで定義された必須フィールドを返す
- 規定のエラーコードを使用する
- プライベートシグナルとアクティベーションキーへのアクセス制御を適用する
Orchestrator Conformance
準拠した Signals Protocol オーケストレーターは次を満たさなければなりません。- シグナルエージェントと認証を行う
- リクエストスキーマで定義された必須フィールドを含める
- 非同期の有効化レスポンスを処理する
- キャンペーンターゲティングに
activation_keyを用いる
Implementation Notes
Multi-Platform Discovery
オーケストレーターは 1 回のget_signals 呼び出しで複数プラットフォームにわたるシグナルを要求してもかまいません。
シグナルエージェントは要求されたすべてのプラットフォームについてデプロイ情報を返すことが推奨されます。
Activation Timing
シグナルの有効化は通常非同期です。- シンプルな有効化: 1〜2 時間
- 複雑なデプロイ: 最大 24〜48 時間
Schema Reference
| Schema | Description |
|---|---|
signals/get-signals-request.json | get_signals request |
signals/get-signals-response.json | get_signals response |
signals/activate-signal-request.json | activate_signal request |
signals/activate-signal-response.json | activate_signal response |
core/deployment.json | Deployment target |
core/activation-key.json | Activation key |