KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

A2A Protocol Engineering — keel 龙骨

A2A Protocol Engineering 的参考信息:A2A Protocol Engineering

A2A 不是"让两个 Agent 聊起来"的聊天协议,而是跨组织边界的一次委派:我怎么知道你能干什么、用什么版本和绑定连你、派出去的活现在怎么样、产物怎么取回、以及我凭什么相信那张卡是真的。本课程从 A2A v1.0 的最小事实出发,带你实现一个可测试的 A2A Bridge:它能发布 Agent Card、协商版本、收发 Message 与 Artifact、推进任务状态机、支持流式与推送、校验证据与签名卡,并为真实 SDK 或远端传输留下替换点。

适合谁

学完以后

你将能够:

  1. 说清 A2A 解决什么、不解决什么,以及它和 MCP 的分界线在哪。
  2. 读懂并构造 Agent Card,解释 8 个必填字段各自防住了哪种事故。
  3. 用 A2A-Version 与 supportedInterfaces 做版本协商和绑定选择,并解释 v0.3 → v1.0 的破坏性变更。
  4. 区分 Message、Part 与 Artifact:一次委派携带什么、又取回什么。
  5. 处理 9 个任务状态中的 4 个终态与 2 个中断态,不让"等一句话"被误判为失败。
  6. 在轮询、流式(SSE)与推送三种取回方式之间做选择,并解释各自的失败模式。
  7. 用签名卡验证卡面未被篡改,用凭据三元组(scope / 租户 / 受众)守住信任边界。
  8. 用确定性测试验证发现、版本、状态、可见性、分页和可观测性,而不是依赖模型"看起来能用"。

章节入口

课程正文位于 course/README.md。每章都包含:一个边界问题、协议形状、失败场景、项目落点和生产替换点。

配套项目

course/project 是一个只依赖 Python 标准库的 A2A Bridge 教学实现。它不冒充完整 A2A SDK,而是把协议的关键决策压缩成可以逐步调试的代码:契约对象、Agent Card 与签名、版本协商、任务状态机、流式帧、推送配置、认证与事件。

其中 09_orchestrator.py 是第 10 章附录的配套:用一个确定性的编排循环演示远端 Agent 如何被消费。请注意它演示的是边界——「怎么发现、怎么委派、怎么取回」由 A2A 管;「要不要委派、委派几次、什么时候放弃」属于本地编排,不在 A2A 规范内。

推荐顺序

Harness -> Tool Calling -> Context Engineering -> MCP Protocol Engineering
                                                  \-> A2A Protocol Engineering

先完成确定性路径,再将其中的 server.py、agentcard.py 和 auth.py 替换为官方 SDK、生产身份系统和真实网络传输。

进入 keel 阅读