ACP 曾是真项目、于 2025 年年中并入 A2A,晚于 2025 年 8 月之前的每一篇"ACP vs A2A"都已过期——这篇短文把这扇门关上。
ACP(Agent Communication Protocol,IBM/AGNTCY)于 2025 年 7 月被贡献给 Linux 基金会,并在同月并入 A2A。晚于此之前的每一篇"我们该用 ACP 还是 A2A"都已过期。搜索结果尚未跟上。这篇按设计写得很短:ACP 是什么、并入为何合理、它的思路最终落在了 A2A v1.0 的哪里。
ACP 是什么。
ACP——Agent Communication Protocol——是 IBM Research 孵化、经 AGNTCY 工作组在 2024 与 2025 年年初推出的一份开放规范。它与众不同的性质是从一开始就是 REST 原生:一个 ACP 智能体就是一组 HTTP 端点,请求与响应是普通 JSON,流式用分块传输编码而不是 JSON-RPC over SSE,交互形状看起来更像"调这个 API"而不是"调用这个方法"。设计是自觉的、当时的反-A2A——彼时 pre-1.0 A2A 草案重度依赖 JSON-RPC 与长轮询语义,而 ACP 主张 agent-to-agent 流量应与 agent-to-tool 流量走同一形状,而那个形状就应是普通 HTTP。
消息模型有意做简单:一个 Run 资源、Run 上的一串 Message 对象、人类可读的结构化输出——Markdown 是一等输出类型,理由是 Markdown 本就是模型说话的方式,假装不是就是徒增开销。发现走 ACP 所谓的 Agent Manifest——托管在智能体自身 URL 下的 JSON 文档,列出可用 run 及其预期输入,精神与之后成为 A2A Agent Card 的东西相近。身份与鉴权故事很薄(bearer 令牌、无正式 profile);传输故事很薄(仅 HTTP、无 gRPC 绑定);卖点是一名称职的 web 工程师能在一下午立起一个 ACP 智能体、无须触碰 JSON-RPC。
合并。
2025 年 7 月,Linux 基金会宣布同时托管 A2A(Google 贡献)与 ACP(IBM/AGNTCY 贡献),并在同一发布窗口内两个工作组宣布合并——A2A 保留名字,ACP 作为独立项目日落,ACP 贡献者加入合并后的工作组。LF 新闻稿的、以及两个项目 issue tracker 上都得到确认的公开理由是:两份都自称覆盖同一块地面的协议同在市场,实际上损害了它们本应促成的互操作性;哪一份赢得采纳竞赛,都会把真实的生产代码搁浅在输家一侧。合并成一份,比任何一方一家独赢都便宜。
两个条件让合并可行。第一,pre-1.0 A2A 草案仍在变动——状态机、Message 模型、传输绑定都还是开放问题——这意味着把 ACP 的贡献并入是一场设计对话而不是一次重写。第二,ACP 的 REST 原生论调在实现者中间足够流行,A2A 工作组不能简单忽视;诚实解决分歧的方式,是把 ACP 贡献者拉进屋子。那场对话的结果,就是 2026 年 4 月发布的 A2A v1.0,距合并大约九个月。
ACP 有哪些思路留存。
ACP 有三处贡献以可辨认的形态进入了 A2A v1.0。REST 绑定最为直接——A2A v1.0 的 HTTP 绑定,独立于 JSON-RPC 与 gRPC 绑定,本质上是 ACP 的线上形状叠上 A2A 的对象模型;曾交付 ACP 智能体的开发者一天就能移植到 A2A REST 绑定。Agent Manifest 融进了如今的 Agent Card——同样的 well-known URL 发现模式,扩展到覆盖 A2A 所需的协商面。Markdown 作为一等输出的主张,出现在 A2A v1.0 的默认输出模式里,text/markdown 是基础 Agent Card 公布的标准内容类型之一,规范把它当作 application/json 的同侪而不是回退。
没有留存的,是那份"A2A 的 JSON-RPC 绑定该消失"的哲学立场。v1.0 把 JSON-RPC 保留为默认绑定、把 REST 作为等价选项、允许对端在部署时任选其一。互操作问题一文的框架在此适用——多绑定形状实现工作更重,但避免每三年新一批团队想以自己 stack 已经用的传输去标准化时,重打同一场官司。如果你网上翻到一篇"ACP vs A2A"教程、日期在 2025 年 8 月之前,关掉标签页。如果日期在其后,查作者是否注意到了合并——注意到的,那些有用;没注意到的,仍在描述一个已不存在的分叉。