Skip to content
目录

协议设计详解

A2A 在 wire 层提供多种绑定,共享同一 proto 消息模型


1. 绑定方式

绑定特点
JSON-RPC 2.0方法如 message/send,易集成
HTTP+JSON (REST)资源 URL,ProtoJSON 体
gRPC服务间高性能
SSE服务端推送任务/消息事件

Agent Card 声明 preferredTransport 与支持列表。


2. 核心 RPC(概念)

方法族用途
message/send发起或继续对话,创建/推进 Task
tasks/get查询任务
tasks/cancel取消
tasks/resubscribe断线重订阅流

精确方法名以当前规范为准。


3. 消息模型

  • Message:role + parts(text、file、data…)。
  • Task:id、status、artifacts、history 指针。
  • Event:流式增量(状态、artifact 块)。

4. 序列化

  • 规范真相来源:proto3
  • REST 常用 ProtoJSON(字段命名与 proto 一致,见 ADR-001)。
  • 版本字段在 Card 与请求头协商。

5. 错误模型

JSON-RPC error.code + 消息;HTTP 映射 4xx/5xx。
业务态失败用 Task failed + 可读 description。


6. 总结

实现协议 = 选对绑定 + 严格遵守 proto 字段与状态机;勿在 payload 里塞实现细节。

MIT License.