协议扩展

扩展机制的目标是“在统一核心协议上做差异化能力”,而不是“各做各的私有协议”。

扩展适用场景

  • 仅补充结构化元数据
  • 对交互流程施加领域约束
  • 增加额外 RPC 方法(扩展技能)
  • 细化任务状态语义

兼容性边界

为了保持互操作,扩展不应:

  • 修改核心对象的 schema 合同
  • 重定义核心枚举值
  • 绕过核心认证和授权控制

自定义数据应放入 metadata,并配套明确 schema。

声明与激活

  • 智能体在 AgentCard capabilities 中声明支持的扩展。
  • 客户端按请求声明要激活的扩展,常见方式是 A2A-Extensions
  • 服务端在响应上下文中回显已激活扩展。

示例头:

A2A-Extensions: https://example.com/ext/konami-code/v1

必选扩展

当扩展标记为 required: true 时,客户端必须遵守该扩展约束,否则请求应被拒绝。

实施建议

  • URI 中显式包含版本号。
  • 破坏性变更使用新 URI。
  • 扩展规范放在稳定地址。
  • 扩展输入的校验强度不低于核心协议。

相关链接