KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA
A2A Protocol Engineering:从协议边界到可交付 Bridge — keel 龙骨
A2A Protocol Engineering 的参考信息:A2A Protocol Engineering:从协议边界到可交付 Bridge
课程定位
两个 Agent 要合作,最简单粗暴的做法是互相开放内部接口。这在同进程里可行,一旦跨团队、跨组织就破产了:没人愿意交出源码、提示词和数据库凭据。A2A 把这件事变成一次对不透明对端的委派:对端只公布一张卡、一组状态和一批产物,其余全部隐藏。工程师仍然要负责版本协商、状态机、取回方式、认证、信任和可观测。
章节地图
| 章节 | 关键问题 | 项目落点 |
|---|---|---|
| 01 | A2A 解决什么,不解决什么?它和 MCP 的分界在哪? | contracts.py 的边界对象 |
| 02 | Agent Card 为什么能撑起整个发现机制? | agentcard.py、WELL_KNOWN_PATH |
| 03 | 版本怎么协商?三种绑定怎么选?v0.3→v1.0 改了什么? | A2A-Version、choose_interface() |
| 04 | 一次委派携带什么,又取回什么? | Part OneOf、Message、Artifact |
| 05 | 一次委派为什么必须留下句柄?中断态怎么处理? | TaskStore 与 9 个状态 |
| 06 | 进展怎么实时取回来?断线之后怎么办? | SendStreamingMessage、SubscribeToTask |
| 07 | 客户端不在线时怎么办? | 推送配置 CRUD 与投递 |
| 08 | 我凭什么相信这张卡、这个身份? | sign_card() / verify_card()、Principal |
| 09 | 兼容、可见性与可观测怎么做? | ListTasks 游标分页、EventRecorder |
| 10 | 如何把课程项目提升为可交付形态? | Capstone 与生产替换清单 |
| 附录 | 远端 Agent 怎么接进本地编排,边界在哪? | 09_orchestrator.py 最小编排循环 |
学习闭环
每章都按"现场 -> 直觉模型 -> 精确定义 -> 全链路图 -> 真实运行 -> 失败注入 -> 生产边界 -> 练习"推进。阅读时先运行项目的对应示例,再回到正文解释输出为什么如此;不要从一开始就接入真实模型或远端服务器。
版本提示
本课程按 A2A v1.0 / specification v1.0.1(2026-10-05 取自 a2a-protocol.org)组织,重点覆盖 Agent Card、版本协商、三种绑定、Part OneOf、任务状态机、流式与推送、签名卡和 ListTasks 游标分页。v0.3 与 v1.0 不兼容,具体 SDK 的 API 可能变化,生产实现以官方规范和 SDK 版本锁定为准。