介绍
开始使用 Agent Client Protocol。
Agent Client Protocol (ACP) 标准化了代码编辑器/IDE 与编码 Agent 之间的通信,适用于本地和远程场景。
为什么需要 ACP?
AI 编码 Agent 和编辑器紧密耦合,但互操作性并非默认选项。每个编辑器必须为想要支持的每个 Agent 构建自定义集成,而 Agent 也必须实现编辑器特定的 API 才能触达用户。这导致了几个问题:
- 集成开销:每个新的 Agent-编辑器组合都需要自定义开发
- 兼容性有限:Agent 只能与部分可用编辑器配合工作
- 开发者锁定:选择一个 Agent 通常意味着接受其可用的接口
ACP 通过提供标准化的 Agent-编辑器通信协议来解决这一问题,类似于 语言服务器协议 (LSP) 标准化语言服务器集成的方式。实现 ACP 的 Agent 可以与任何兼容的编辑器配合工作。支持 ACP 的编辑器可以访问整个 ACP 兼容 Agent 生态系统。这种解耦使双方能够独立创新,同时让开发者自由选择最适合其工作流的工具。
概览
ACP 假设用户主要在编辑器中操作,并希望调用 Agent 来协助完成特定任务。ACP 适用于本地和远程场景:
- 本地 Agent:作为代码编辑器的子进程运行,通过 stdio 上的 JSON-RPC 进行通信。
- 远程 Agent:可以托管在云端或独立基础设施上,通过 HTTP 或 WebSocket 进行通信。
对远程 Agent 的完整支持仍在开发中。我们正在与各大 Agent 平台积极合作,以确保协议能够满足云端托管和远程部署场景的具体需求。
该协议在可能的情况下复用 MCP 中使用的 JSON 表示,但包含了用于有用的 Agent 编码 UX 元素的自定义类型,例如显示差异(diff)。用户可读文本的默认格式是 Markdown,这允许足够的灵活性来表示富文本格式,而无需代码编辑器能够渲染 HTML。