AVIP 规范
意图域(AVIP-INT)
AVIP 意图的规范说明 —— 意图声明、约束、委托链与服务端验证。
意图域 —— AVIP-INT
意图是一份签名的、结构化的声明:它在执行开始之前说明 Agent 被授权做什么、在什么边界内。它是 执行 域被门控的依据,也是 审计 域作出裁决的依据。
| 组件 | 编码 | 用途 |
|---|---|---|
| 意图声明 | AVIP-INT-DECL | 对预期动作的签名声明 |
| 约束 | AVIP-INT-CON | 对该动作可机器校验的边界 |
| 委托链 | AVIP-INT-DEL | 从人到执行 Agent 的授权路径 |
| 意图验证 | AVIP-INT-VER | 入库前的服务端接受检查 |
AVIP-INT-DECL —— 意图声明
Purpose
定义意图的结构与签名。
Normative Requirements
- 意图 MUST 由签发 Agent 在交易开始之前创建并签名。
- 意图签名 MUST 覆盖其核心字段(
action、constraints、issuerDid、subjectDid、timestamp)的确定性序列化,嵌套键在每层都排序。 - 签名算法 MUST 为 Ed25519(RFC 8032);输出为 64 字节 detached 签名,Base64 编码。
- 意图 MUST 在执行被允许开始之前先按链上映射锚定。
- 入库的意图 MUST 与签名时逐字节一致 —— 服务端 MUST NOT 重建或重新签名。
Data Structures
意图(通用 / A2A 形态)
| 字段 | 类型 | 说明 |
|---|---|---|
intentId | string | 唯一 id,intent_ 前缀 |
issuerDid | string | 声明 Agent 的 DID |
subjectDid | string | 对手 Agent 的 DID |
action | string | 操作类型(如 execute_task) |
constraints | object | 见 AVIP-INT-CON |
delegationChain | array | 见 AVIP-INT-DEL |
timestamp | string | ISO 8601 创建时间 |
signature | string | Ed25519 detached 签名(Base64) |
A2B 扩展字段 —— A2B profile 在意图上增加支付相关字段:
| 字段 | 类型 | 用途 |
|---|---|---|
category | string | 商户高层类目(如 gift_card) |
maxAmount | number | 报价币种下的花费上限 |
deadlineUnix | int | 此 UTC 秒后订单自动过期 |
allowedTools | string[] | Agent 可调用工具的白名单 |
requiresConfirmAbove | number | 超过此额需用户确认 |
scope | string[] | 商户 / SKU 过滤 |
userSA | address | 用户智能账户(退款目的地) |
签名输入(有序)
进入签名输入的字段(已排序):
actionconstraints(嵌套键也排序)issuerDidsubjectDidtimestamp
On-Chain Mapping
| 项 | 值 |
|---|---|
| Anchor key(A2A) | keccak256("intent:" + orderId) |
| Anchor key(A2B) | intentHash(经 A2BOrderGateway.createOrder) |
| 数据哈希 | keccak256(intent JSON) |
| 提交者 | 执行方 / 用户的智能账户(AVIP-ID-SA) |
AVIP-INT-CON —— 约束
Purpose
定义意图对执行施加的可机器校验边界。约束是 Action Gateway 运行时所强制的内容,也是 Completion Proof 在结算时所核对的内容。
Normative Requirements
- 任何会突破已声明约束的执行步骤 MUST 被拒绝。
- 结算比对 MUST 评估每一项适用的约束,并把任何突破反映到裁决里。
Data Structures
约束对象(A2A)
| 字段 | 类型 | 说明 |
|---|---|---|
maxAmount | number(可选) | 本交易的最大金额 |
deadline | string(可选) | ISO 8601 —— 结算须在此时间前完成 |
milestoneCount | integer | 预期执行步数(默认 5) |
scope | string[] (可选) | 允许的能力类型 |
在 A2B profile 中,等价边界以 AVIP-INT-DECL 的扩展字段表达(maxAmount、deadlineUnix、allowedTools、requiresConfirmAbove、scope)。
约束语义
| 约束 | 满足条件 |
|---|---|
| 预算 | 实际花费 ≤ maxAmount |
| 截止 | 结算 / 完成发生在截止之前 |
| 范围 | 每步能力都在声明的 scope 内 |
| 里程碑数 | 已完成里程碑达到预期数 |
AVIP-INT-DEL —— 委托链
Purpose
记录从人类委托人到执行 Agent 的授权路径,使权限在多跳间可追溯、可衰减。
Normative Requirements
- 每个意图 MUST 带至少一条委托链记录。
- 当权限经过多个 Agent 时,每个被委托方 MUST 持有严格少于其委托方的权限(衰减)。
- 每个委托步骤 MUST 由委托方签名。
Data Structures
委托步骤
| 字段 | 类型 | 说明 |
|---|---|---|
from | string | 委托方 DID |
to | string | 被委托方 DID |
attenuated | boolean | 本步权限是否收窄 |
signature | string | 委托方对本步的签名 |
最简单情形(人 → Agent)链只有一条。在多 Agent 委托(人 → 编排者 → 工人)中,每跳增加一条,且每步都衰减。
AVIP-INT-VER —— 意图验证
Purpose
定义平台在接受并存储意图前 MUST 执行的检查。
Normative Requirements
收到意图时,实现 MUST 在入库前执行以下全部检查,任一失败则 MUST 拒绝该意图:
- 签名验证 —— 用相同的确定性序列化重建签名输入,从 DID 提取签发者公钥,验证 Ed25519 签名。
- 签发者一致 —— 意图的
issuerDidMUST 与订单 requester 一致。 - 对手一致 —— 意图的
subjectDidMUST 与订单 executor 一致。 - 约束一致 —— 意图的
maxAmountMUST 大于等于订单价格。
Error Conditions
| 失败的检查 | 结果 |
|---|---|
| 签名无效 | 意图被拒;订单不进行 |
| 签发者 / 对手不匹配 | 意图被拒 |
maxAmount < 订单价格 | 意图被拒 |
被拒的意图永不锚定。只有通过全部四项检查的意图才会被原样存储并锚定上链。