Architecture · 01
A2A 的核心概念
Client Agent 先读取 Agent Card,确认能力、端点与认证方式;随后通过 HTTP(S) 发送由 Part 组成的 Message。远端 Agent 可以直接返回 Message,也可以创建可追踪的 Task,并用 Artifact 交付成果。
先发现,再调用
Agent Card 是数字名片:描述身份、能力、技能、服务端点和认证要求。
立即回答或创建 Task
简单交互可直接返回 Message;长期、可追踪工作返回 Task。
多模态不绑死
Part 统一承载文本、字节、URL 与结构化数据。
Sequence · 02
一次 Task 如何运行
下面是典型的有状态路径:发现远端 Agent、创建 Task、持续接收状态或 Artifact 更新;如果需要补充输入,则沿同一 taskId 与 contextId 继续,直到 Task 进入终态。
contextId 管“同一段协作”
它把多个 Message 与多个 Task 组织在共同上下文中,也允许并行的后续任务。
taskId 管“这一份工作”
在 input-required 或 auth-required 后继续原 Task,需要带回相同标识。
更新方式可替换
轮询、SSE 与推送只改变收取更新的方式,不改变 Task 语义。
State machine · 03
Task 状态机
Task 从已提交进入处理中;可能暂停等待输入或授权,也可能抵达四种终态。终态不可重启——任何修改、追问或衍生工作都应该在同一 contextId 下创建一个新的 Task。
中断态不是终态
INPUT_REQUIRED 与 AUTH_REQUIRED 表示暂停;条件满足后可以回到 WORKING。
终态保证可追踪
完成、失败、取消、拒绝都封存该工作单元,输入、输出与状态映射保持清晰。
Artifact 版本由 Client 管
规范不替 Client 维护成果版本链;Client 应向用户呈现自己认可的最新版本。