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 或远端传输留下替换点。
适合谁
- 已完成 Agent Harness、Tool Calling、Context Engineering 和 MCP Protocol Engineering 的开发者
- 正在把自研 Agent 暴露给别的团队 / 别的公司调用的工程师
- 需要判断"这个问题该用 MCP 还是 A2A"的平台工程师与 FDE
学完以后
你将能够:
- 说清 A2A 解决什么、不解决什么,以及它和 MCP 的分界线在哪。
- 读懂并构造 Agent Card,解释 8 个必填字段各自防住了哪种事故。
- 用
A2A-Version与supportedInterfaces做版本协商和绑定选择,并解释 v0.3 → v1.0 的破坏性变更。 - 区分 Message、Part 与 Artifact:一次委派携带什么、又取回什么。
- 处理 9 个任务状态中的 4 个终态与 2 个中断态,不让"等一句话"被误判为失败。
- 在轮询、流式(SSE)与推送三种取回方式之间做选择,并解释各自的失败模式。
- 用签名卡验证卡面未被篡改,用凭据三元组(scope / 租户 / 受众)守住信任边界。
- 用确定性测试验证发现、版本、状态、可见性、分页和可观测性,而不是依赖模型"看起来能用"。
章节入口
课程正文位于 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、生产身份系统和真实网络传输。