为什么存储凭证是错误的原语
存档的卡是一种不记名工具。持有卡号的人可以反复使用它进行消费,直到发卡机构或商户决定不再允许。没有任何系统提示、工具级指令或再多的思维链推理能改变这一属性。被交给存储卡的代理没有预算;它拥有的是能力。这一区别很重要,因为能力不受意图约束。它们受密码学、策略执行点和发卡机构拒绝扣款的意愿约束。
一旦代理持有可重复使用的凭证,撤销是唯一剩余的控制手段。撤销是粗粒度的。它无法区分合法重试与重复扣款、受制裁商户与被替换的商户,或单笔大额购买与二十笔小额购买。相对于代理执行,它也很慢。以分钟计的撤销循环无法治理以毫秒计发起调用的循环。
限定范围的单用途支出令牌
替代方案是签发一种本身就是策略的凭证。限定范围的支出令牌是一种签名制品,带有一组小而明确的声明:
{
"issuer": "studio-payments",
"subject": "agent-run-8f3a",
"task_id": "replenish-inventory-2026-04-11",
"merchant_category": "office_supplies",
"merchant_id": "supplier-4421",
"amount_ceiling_minor": 25000,
"currency": "EUR",
"not_before": "2026-04-11T09:00:00Z",
"not_after": "2026-04-11T09:15:00Z",
"max_uses": 1,
"nonce": "b7c1...",
"signature": "..."
}
三个属性发挥作用。第一,令牌绑定到特定任务标识符,因此授权轨迹可恢复:支出映射回请求它的运行,而不仅仅是用户账户。第二,令牌是单次使用或短期的,因此泄露的制品价值有限。被盗的卡号在发卡机构采取行动前都是负债;被盗的单次使用令牌,带有十五分钟窗口和商户锁定,在攻击者路由它时已是一串死字符串。第三,上限以最小单位计价,并在轨道上执行,而非由代理执行。代理无法提高自己的限额,因为限额是签名声明,而非提示中的变量。
权衡是真实的:令牌签发在任何购买发生前增加一次往返和签名依赖。对于低价值、高频率的调用,这种开销不可忽视,并迫使签发服务必须与代理本身一样可用。按调用签发的设计会比按会话签发的设计更慢;按会话签发的设计重新引入了重用。诚实的答案是按任务签发,带有短窗口和低上限,并接受需要多次购买的任务需要多个令牌。

授权与结算
支出的决策与支付的机制是可分离的,并且应当分离。决策属于策略:一个规则引擎,根据预算评估任务上下文、商户、金额和历史,并发出签名授权或拒绝。机制属于轨道:卡网络、账户到账户转账或稳定币结算层。将两者分开意味着策略可以在不触及轨道的情况下被审计、版本化和测试,轨道也可以在不重写策略的情况下被替换。
支持程序化微支付的结算轨道比消费者卡流程更适合机器对机器购买。消费者卡流程优化争议解决和拒付权,这对人类有价值,但按调用行使成本高昂。一种确定性结算的轨道,最终性以秒计,费用不主导小额金额,更适合代理购买单次 API 调用或小数据增量。在使用卡的情况下,令牌应是网络签发的单次使用虚拟卡,而非存储的主卡号,这样上限和商户锁定由发卡机构执行。
对账必须自动进行。人工审核无法扩展到按调用购买,待处理扣款队列违背了委托的目的。每个令牌应携带任务标识符和 nonce,轨道的结算记录应通过这些字段与授权记录匹配。不匹配——有扣款无匹配授权、有授权无扣款、扣款在窗口之外——应引发异常,而非工单。
需要防范的失败模式
拆分购买。 发现上限的代理,如果被允许,会将购买拆分为多笔各自低于上限的扣款。防御措施是按任务的累计预算,而不仅是每笔扣款的上限:授权服务跟踪针对任务标识符的总支出,并拒绝会超出意图的令牌。仅靠每笔扣款上限只是一种建议。
商户替换。 授权给供应商 A 的令牌不应在供应商 B 结算。将令牌绑定到商户标识符,而不仅是类别,并在结算时验证。类别锁定弱于商户锁定,应被视为授权时商户未知时的回退方案。
重试循环。 除非操作是幂等的,否则丢失的响应与失败的请求无法区分。给每个令牌一个 nonce,并要求轨道拒绝

这改变了什么
限定范围的支出凭证将控制点从撤销移到签发。问题不再是“我们如何阻止代理”,而是“我们究竟授权了什么,针对哪个任务,在哪个商户,直到何时”。这是审计可以回答的问题。存储卡不能。
常见问题
问:限定范围的令牌只是虚拟卡吗? 答:它可以被实现为虚拟卡,但重要的属性是签名声明集——任务标识符、商户锁定、上限、有效期、nonce——而非卡格式。
问:当代理达到上限时,什么阻止它请求新令牌? 答:授权服务,而非代理。按任务和按商户的累计预算在签发时执行,因此针对同一任务的重复请求会被拒绝。
问:这与稳定币结算如何交互? 答:令牌是权限;稳定币转账是轨道。在签署转账之前检查令牌的声明,转账的引用携带 nonce 用于对账。
问:主要成本是什么? 答:签发延迟以及签发服务必须与代理一样可用。按任务签发并带有短窗口是通常的折中;按会话签发会重新引入重用。
封面照片:Jakub Pabis / Pexels。
