03把任务交给远程助手 · 第 8 章
总进度 8 / 15

07|A2A:先问远程助手“你能做什么”

目前所有角色都在同一个工作台进程里执行。假设资料助手由另一套服务维护,工作台需要先知道它的地址、能力和通信方式。这一节启动独立资料服务,读取它公开的 Agent Card,也就是能力说明卡。

2026-09-28约 9 分钟12 行代码难度 ★★★

如果想获取全套课程资料,请关注微信公众号 「AI面包君」,回复 「课程资料」 即可领取。

目前所有角色都在同一个工作台进程里执行。假设资料助手由另一套服务维护,工作台需要先知道它的地址、能力和通信方式。这一节启动独立资料服务,读取它公开的 Agent Card,也就是能力说明卡。

本节只做发现,不委派任务。结束时,你应该能从能力卡找到调用地址,分清“服务介绍中的版本”和“协议版本”,并说明 A2A 与 MCP 在这个项目中分别连接谁。

先看懂协议在连接什么

假设你负责一份活动方案,外部资料团队负责查资料。你不需要知道他们用了哪个搜索程序,但必须约定:怎样介绍能力、怎样提交任务、做到一半怎样问你问题、最后交付的材料放在哪里。A2A 就是在智能体之间建立这样的通信约定。

这里的“协议”可以理解为共同遵守的格式与行为规则。格式规定消息里有哪些字段;行为规则规定收到任务后能返回什么状态、怎样补充材料、怎样报告结果。两边只用自然语言互相聊天,并不能自动解决这些问题。

A2A 1.0 协议概念图:调用方、服务方、消息、任务、产物及与 MCP 的关系

先按图上方的四根箭头读一遍:工作台先看能力卡,再按卡上的接口提交请求;资料助手边处理边报告,最后给出资料产物。再看下方三个对象:Message 记录一次表达,Task 管理一件工作的生命周期,Artifact 承载可交付的成果。“我正在搜索”是一条进展消息;附有来源的资料卡才是我们想交给写作者的产物。

一个很容易误解的地方是:并非每次请求都必须生成长期任务。服务可以直接回复 Message;当工作需要跨多个阶段追踪时,Task 才让“还在做、等补充、已完成”变成调用方可以检查的状态。本课程资料助手选用 Task 路线,目的是把整个协作过程显式展示出来。

A2A 和 HTTP、JSON-RPC、SSE 是什么关系

它们不在同一层。A2A 约定智能体之间的对象和操作;协议绑定把这些操作映射到具体通信方式。本课程用 JSONRPC 绑定传递请求,通过 HTTP 连接通信,流式响应中的 SSE 事件用于连续报告状态和产物。A2A 1.0 还定义了其他绑定,课程选择一种便于本机观察的路径。

可以把它类比为寄一份项目委托:A2A 规定委托单怎样写、工作怎样回报;HTTP 是运输通道;JSON-RPC 是封装操作请求的一种方式;SSE 则让接收方沿着一条打开的响应通道不断送来进展。换通道,不应该顺便把“已完成”的业务含义改掉。

用一句话分清 A2A 与 MCP

“请另一位资料助手完成这项调研”是跨智能体委派;“请调用检索工具找这条资料”是使用工具。在本课中,工作台用 A2A 找资料助手,资料助手再用 MCP 访问资料工具。两个协议可以出现在同一条业务链里。不要把两者理解为“谁更新,谁就完全替代谁”。

图按 A2A 1.0 规范和官方的 A2A 与 MCP 对照整理。阅读其他教程时先检查版本:0.3 与 1.0 的能力卡、操作名称和 SDK 对象不能混着复制。

试读到这里 · 后续内容已封存

关注公众号,继续把这章学完

在「AI面包君」发送关键词「学习AI」拿到口令。验证一次,这个浏览器就能继续阅读全部课程。