Skip to main content
Agent Client Protocol 定义了 AI 代理与客户端应用程序之间通信的标准接口。该架构设计灵活、可扩展且与平台无关。

设计原则

协议架构遵循以下几个关键原则:
  1. MCP 友好:协议基于 JSON-RPC 构建,并在可能的情况下重用 MCP 类型,以便集成商无需为常见数据类型构建另一种表示形式。
  2. UX 优先:它旨在解决与 AI 代理交互的 UX 挑战;确保有足够的灵活性清晰地呈现代理的意图,但不会过度抽象。
  3. 可信任:ACP 适用于您使用代码编辑器与您信任的模型进行对话的场景。您仍然可以控制代理的工具调用,但代码编辑器会为代理提供对本地文件和 MCP 服务器的访问权限。

设置

当用户尝试连接到代理时,编辑器会按需启动代理子进程,所有通信都通过 stdin/stdout 进行。 每个连接可以支持多个并发会话,因此您可以同时进行多个思考流程。 服务器客户端设置 ACP 大量使用了 JSON-RPC 通知,允许代理实时向 UI 推送更新。它还使用 JSON-RPC 的双向请求,允许代理向代码编辑器发起请求:例如请求工具调用的权限。

MCP

通常代码编辑器会拥有用户配置的 MCP 服务器。在转发用户提示时,它会将这些配置传递给代理。这允许代理直接连接到 MCP 服务器。 MCP 服务器连接 代码编辑器本身也可能希望导出基于 MCP 的工具。与其尝试在同一套接字上运行 MCP 和 ACP,代码编辑器可以将自己的 MCP 服务器作为配置提供。由于代理可能仅支持通过 stdio 的 MCP,代码编辑器可以提供一个小的代理,将请求隧道回自身: 连接到自身的 MCP