用途
adcp-signals 技能用于执行 AdCP Signals Protocol,与信号代理(signal agents)交互,完成受众定向数据的发现与激活。它通过已连接代理暴露的标准 MCP 工具(get_signals、activate_signal)来操作。
该技能只覆盖按任务(per-task)的语义。买方侧的基础内容——幂等重放(idempotency replay)、oneOf 变体、异步 status:'submitted' 轮询、以及从 adcp_error.issues[] 进行错误恢复——位于 skills/call-adcp-agent/SKILL.md 中。
主要能力
Signals Protocol 提供 2 个标准化任务,用于发现和激活定向数据:
- get_signals:使用自然语言发现信号,响应时间约 60 秒。
- activate_signal:在平台/代理上激活信号,响应时间为分钟到小时级。
典型工作流
- 发现信号:用自然语言描述定向需求调用 get_signals。
- 评估选项:根据覆盖范围、定价和部署状态评估信号。
- 按需激活:对尚未在平台上线的信号调用 activate_signal。
- 用于广告活动:在媒体购买定向中引用激活键(activation key)。
使用方式
get_signals
基于自然语言描述发现信号,并返回跨平台的部署状态。
请求示例:
{ "signal_spec": "High-income households interested in luxury goods", "destinations": [ { "type": "platform", "platform": "the-trade-desk", "account": "agency-123" } ], "countries": ["US"], "filters": { "max_cpm": 5.0, "catalog_types": ["marketplace"] }, "max_results": 5 }
关键字段:
- signal_spec(字符串,条件必填):所需信号的自然语言描述。除非提供 signal_ids,否则必填。
- destinations(数组,可选):将信号过滤为可在特定代理/平台上激活的信号。省略时返回当前代理上所有可用信号。每项包含 type、platform/agent_url,以及可选的 account。
- countries(数组,可选):信号将使用到的 ISO 3166-1 alpha-2 国家代码。
- filters(对象,可选):按 catalog_types、data_providers、max_cpm、min_coverage_percentage 过滤。
- max_results(数字,可选):限制结果数量。
部署类型:
// DSP platform { "type": "platform", "platform": "the-trade-desk", "account": "agency-123" }
// Sales agent { "type": "agent", "agent_url": "https://salesagent.example.com" }
响应包含:
- signals:匹配信号数组,含:
- signal_agent_segment_id:在 activate_signal 中使用
- name、description:人类可读的信号信息
- data_provider:信号数据来源
- coverage_percentage:相对于代理人群的触达范围
- deployments:各平台状态,含 is_live、activation_key、estimated_activation_duration_minutes
- pricing:CPM 与货币
activate_signal
在特定平台或代理上激活信号以供使用。
请求示例:
{ "signal_agent_segment_id": "luxury_auto_intenders", "deployments": [ { "type": "platform", "platform": "the-trade-desk", "account": "agency-123-ttd" } ] }
关键字段:
- signal_agent_segment_id(字符串,必填):来自 get_signals 响应。
- deployments(数组,必填):目标部署,含 type、platform/agent_url,以及可选 account。
响应包含:
- deployments:各目标激活结果数组
- activation_key:用于定向的键(segment ID 或键值对)
- deployed_at:激活完成的 ISO 时间戳
- estimated_activation_duration_minutes:若为异步,剩余时间
- errors:遇到的任何警告或错误
关键概念
部署目标
信号可在两类目标上激活:
DSP 平台:
{ "type": "platform", "platform": "the-trade-desk", "account": "agency-123" }
销售代理:
{ "type": "agent", "agent_url": "https://wonderstruck.salesagents.com" }
激活键
当信号上线后,响应会包含用于定向的激活键:
Segment ID 格式(DSP 常见):
{ "type": "segment_id", "segment_id": "ttd_segment_12345" }
键值格式(销售代理常见):
{ "type": "key_value", "key": "audience_segment", "value": "luxury_auto_intenders" }
信号类型
- marketplace:从数据提供方授权(CPM 定价)
- custom:为特定 principal 账户构建
- owned:来自自有数据的私有信号(无成本)
覆盖百分比
表示信号相对于代理人群的触达范围:
- 99%:非常宽泛的信号(匹配大多数标识符)
- 50%:中等信号
- 1%:非常小众的信号
异步操作
信号激活可能需要时间。检查响应:
- is_live: true + activation_key:可立即使用
- is_live: false + estimated_activation_duration_minutes:激活进行中
轮询或使用 webhook 检查完成状态。
错误处理
常见错误码:
- SIGNAL_AGENT_SEGMENT_NOT_FOUND:signal_agent_segment_id 无效
- ACTIVATION_FAILED:无法激活信号
- ALREADY_ACTIVATED:信号已在目标上激活
- DEPLOYMENT_UNAUTHORIZED:未获平台/账户授权
- AGENT_NOT_FOUND:私有代理对该 principal 不可见
- AGENT_ACCESS_DENIED:未获该信号代理授权
错误响应示例:
{ "errors": [ { "code": "DEPLOYMENT_UNAUTHORIZED", "message": "Account not authorized for this data provider", "field": "deployment.account", "suggestion": "Contact your account manager to enable access" } ] }
适用场景
适用于广告投放中基于受众定向数据的发现与激活:用自然语言查找受众信号、评估其覆盖与定价、在 DSP 或销售代理上激活,并在媒体购买定向中引用激活键。
限制
该技能仅覆盖按任务语义;幂等重放、oneOf 变体、异步轮询与错误恢复等买方基础内容需参考 call-adcp-agent 技能。信号激活可能为异步,需轮询或使用 webhook 确认完成状态。