什么是 A2A,它与 MCP 有什么不同?

A2A 让独立的代理之间交换消息、任务和结果;MCP 将 AI 应用连接到工具和上下文。

一个客服代理可能请求一个日程代理来安排预约。日程代理随后可能使用消息工具来发送确认信息。

这两种交互有不同的边界。一种是将工作委托给另一个代理,另一种是调用服务暴露的能力。

A2A 提供了什么?

A2A 提供了一个接口,代理可以通过它发现能力、交换消息并跨独立系统管理工作。

A2A 规范定义了一个 Agent Card,用于公布代理的能力和连接信息。调用方可以使用这些信息,而无需访问远程代理的内部实现。

一次交互可以直接返回消息,也可以创建任务。任务有标识符和状态,因此调用方可以跟踪在首次响应之后仍在继续的工作。Artifact 承载该工作过程中产生的输出。

以预约为例,日程代理可以在等待缺失信息时返回一个任务。其结果随后可以标识已确认的预约。

MCP 提供了什么?

MCP 为 AI 应用提供了一个共享接口,用于发现和使用工具、资源和提示词。

MCP 规范将宿主应用、其客户端连接器和提供能力的服务器分离开来。工具暴露一个可执行的函数。资源提供上下文,提示词提供可复用的消息模板。

以预约为例,一个消息服务器可以暴露一个发送确认信息的工具。日程代理的宿主使用收件人和消息内容来调用该工具。

MCP 的工具也可以封装一个代理。区别在于暴露给调用方的接口,而不在于其背后是否存在模型。

两种接口如何比较?

A2A 描述与远程代理的交换。MCP 描述对服务器所暴露能力的访问。

问题A2AMCP
调用方如何发现接口?Agent Card 描述该代理服务器公布能力并暴露列表
调用方提交什么?一条消息或对任务的操作一个请求,如调用工具或读取资源
可以返回什么?消息、任务状态或 artifact由所请求操作定义的结果

两个规范描述的都不仅仅是即时的请求和响应。仅凭长时间运行的工作并不能决定适合哪种接口。围绕调用方需要使用的契约来做选择。

如何将消息发送步骤连接到 Bird?

你可以将代理连接到 Bird 的 MCP 服务器来发送消息并查看其结果。

保留发送操作返回的标识符。之后的读取会报告记录的投递状态,这与初始请求是否成功是分开的。

你的应用可以将这个消息发送步骤放入更大的代理工作流中。该消息发送步骤使用 Bird 的 MCP 接口。

对于邮件,投递结果报告的是接收邮件服务器的接受情况,并不代表有人阅读了该消息。投递状态说明解释了在报告完成时应使用的各渠道特定边界。

基于同一网络构建。

测试 API 密钥即刻获取。添加付款方式并验证发送者身份后,即可解锁生产环境。

你的下一个创意。 随时连接。