消歧义
ACP vs MCP vs LSP(以及别的 ACP)
搜到「ACP」不一定是这个协议。Agent Client Protocol 是编辑器↔编程 Agent 的标准。它和 MCP 组合使用,而不是取代 MCP。
分层对比
| 协议 | 连接什么 | 形态 | 状态 |
|---|---|---|---|
| ACP(Agent Client Protocol) | 编辑器 / 客户端 ↔ 编程 Agent | JSON-RPC,先 stdio | v1 稳定,v2 草案 |
| MCP(Model Context Protocol) | Agent / 模型 ↔ 工具、数据、提示 | JSON-RPC 客户端/服务器 | Linux Foundation / AAIF |
| LSP(Language Server Protocol) | 编辑器 ↔ 语言服务器 | stdio 上的 JSON-RPC | 稳定,源于 Microsoft |
| A2A(Agent-to-Agent) | 系统间 Agent ↔ Agent | 任务 / 对等协议 | Linux Foundation |
它们怎么拼在一起
你待在编辑器里(ACP 客户端)。编辑器启动或连接编程 Agent(ACP)。那个 Agent 再调 MCP 服务器拿工具和上下文——常常就是编辑器已经配好、经 session/new 传过去的那些。补全和诊断仍是 LSP。A2A 是另一层:Agent 跟 Agent 说话,不是跟你的 IDE 说话。
同样的字母,不同的协议
Agent Client Protocol(本站)
源于 Zed 的外部 Agent 工作,现由社区在 github.com/agentclientprotocol 治理。Apache 许可。acpserver.org 讲的就是它。
IBM Agent Communication Protocol(已退役)
BeeAI 用的 REST Agent 对 Agent 协议。捐给 Linux Foundation 后于 2025 年 8 月并入 A2A。仓库已归档。新项目不要实现它。
Agentic Commerce Protocol(OpenAI / Stripe)
给会买东西的 AI Agent 用的结账与电商标准。和代码编辑器无关。如果你要的是支付,你走错页了。
Agent Control Protocol 以及其他
研究和厂商项目会拿这个缩写做授权或治理层。它们和 Agent Client Protocol 不存在线上兼容。
我该实现哪一个?
1
我在给编程 Agent 做编辑器、TUI 或聊天宿主
实现 ACP 客户端。说 v1。
2
我在做编程 Agent
实现 ACP Agent,然后可选地进 Registry。工具走 MCP。
3
我要把文件、API 或浏览器暴露给模型
实现 MCP。ACP 客户端会把这些 server 转给 Agent。
4
我需要跨组织的 Agent 对 Agent
看 A2A。ACP 不干这个。