UCP 核心概念
1.1 UCP的定位
UCP是AI代理商务中的”商品发现+交易+支付”全链路协议。它解决的核心问题:AI代理如何与商家安全地完成一笔完整的商务交易? 传统电商中,消费者打开网站、浏览商品、加入购物车、结账。UCP把这整个流程标准化为协议能力(Capabilities),让AI代理能以编程方式完成整个购买生命周期——从商品发现到结账、从身份关联到订单追踪、从支付协商到令牌交换。 UCP由 Google、Shopify、Etsy、Wayfair、Target、Walmart 六家联合开发,拥有30+生态合作伙伴(包括Adyen、Affirm、American Express、Ant International、Best Buy、Block、Klarna、PayPal、Stripe、Visa等),在GitHub上以Apache 2.0许可证开源。1.2 参与方角色
| 角色 | 说明 | 举例 |
|---|---|---|
| 商家 (Business) | 提供商品和服务的卖方,部署UCP Profile | 独立电商网站、品牌官网 |
| 平台 (Platform) | 承载商家的电商平台,为商家托管UCP能力 | Shopify, Etsy, Wayfair |
| AI代理 (Agent) | 代表消费者完成购买的AI系统 | ChatGPT, Claude, Gemini |
| 消费者 (Consumer) | 最终购买商品的人 | AI代理的最终用户 |
| 支付处理器 (Payment Handler) | 处理支付令牌交换的服务商 | Stripe, Adyen, PayPal |
1.3 四大核心能力 (Capabilities)
UCP使用反向域名命名空间标识每个能力,确保全球唯一且无命名冲突。结账 (Checkout)
命名空间:dev.ucp.shopping.checkout
结账是UCP的核心交易能力。一个结账会话(Checkout Session)有明确的状态机:
| 状态 | 含义 |
|---|---|
incomplete | 会话创建但信息不完整 |
requires_escalation | 需要人工介入(如年龄验证、高风险订单) |
ready_for_complete | 所有信息就绪,可以提交 |
complete_in_progress | 正在处理完成请求 |
completed | 交易成功完成 |
canceled | 交易已取消 |
身份关联 (Identity Linking)
命名空间:dev.ucp.common.identity_linking
基于 OAuth 2.0 Authorization Code 流程。商家通过 /.well-known/oauth-authorization-server 发布授权服务器元数据。标准scope为 ucp:scopes:checkout_session。支持令牌撤销(RFC 7009),用户可随时取消AI代理的访问权限。
订单管理 (Order)
命名空间:dev.ucp.shopping.order
行项目状态追踪:processing(处理中)、partial(部分履约)、fulfilled(已履约)、removed(已移除)。
履约事件类型:processing、shipped、in_transit、delivered、attempted_delivery、ready_for_pickup、picked_up 等。
调整操作类型:refund(退款)、return(退货)、credit(信用额度)等。
Webhook通知使用 RFC 9421 HTTP消息签名 确保数据完整性。
支付令牌交换 (Payment Token Exchange)
支付处理器使用反向DNS命名(如com.stripe.payment)。生命周期为三步:
- 协商(Negotiation): 平台和商家确定共同支持的支付处理器
- 获取(Acquisition): 平台获取支付凭证
- 完成(Completion): 使用凭证完成支付
1.4 命名空间治理
UCP的命名空间采用反向域名格式,确保全球唯一性:dev.ucp.*命名空间由UCP官方管理,必须源自https://ucp.dev/com.vendor.*命名空间由各供应商自行管理- 命名空间确保不同供应商的扩展不会互相冲突
1.5 UCP Profile (/.well-known/ucp)
每个支持UCP的商家或平台必须在/.well-known/ucp 路径发布一个JSON Profile文件,这是AI代理发现和对接的入口。
关键要求:
- 必须通过 HTTPS 提供服务(不允许HTTP)
- 不允许重定向(3xx响应会被拒绝)
- 必须设置
Cache-Control头:public, max-age至少60秒
1.6 UCP-Agent HTTP头
AI代理在与商家通信时,使用UCP-Agent HTTP头声明自身身份。该头遵循 RFC 8941 Dictionary Structured Field 格式:
1.7 能力协商算法
当AI代理和商家初次建立连接时,需要通过能力协商确定双方共同支持的功能。算法分为四步:- 计算交集: 找出双方Profile中名称相同的能力
- 选择版本: 对每个共同能力,选择双方都支持的最高版本号
- 修剪孤立扩展: 移除依赖于不在交集中的能力的扩展
- 重复修剪: 反复执行步骤3,直到没有更多扩展被移除(达到稳定状态)
1.8 传输机制
UCP不绑定单一传输协议,支持四种传输方式:| 传输方式 | Schema | 通信模式 | 典型场景 |
|---|---|---|---|
| REST | OpenAPI 3.x | HTTP请求/响应 | 服务端集成、平台对接 |
| MCP | OpenRPC (JSON-RPC 2.0) | 工具调用 | AI应用直接对接(search_catalog、lookup_catalog、get_product) |
| A2A | Agent Card Specification | 代理间消息 | 多代理协作(购物代理+支付代理) |
| Embedded | OpenRPC schema | 嵌入式调用 | 商家页面内嵌AI能力 |
1.9 版本策略
UCP使用基于日期的版本号(如2026-04-08),而非传统的语义化版本号。这种策略的优势:
- 版本号直接反映规范发布日期,便于理解时间线
- 每个能力可以独立版本化
- 能力协商时通过日期比较即可确定最新版本
1.10 一个完整的交易流程
下一章: 结账API — 6个状态、5种操作、嵌入式UI和ISO 4217金额处理