ACP 协议详解:换编程智能体,不必换编辑器

ACP 协议如何让编程智能体接入编辑器?本文梳理 Zed、JetBrains 和 Android Studio 的支持方式,解释 BYOA、会话流程、适配器与原生支持的差异,并对比 ACP 和 MCP。了解 Claude Agent 接入步骤,以及团队试点前必须核实的身份验证、配置、会话恢复和权限边界。

发布于

ACP 协议详解:换编程智能体,不必换编辑器

只要编辑器和编程智能体都支持 ACP 协议(Agent Client Protocol),你就能更换智能体,而不必更换编辑器。Google 发布的 Android Studio Rabbit 2,让 Android 开发者真正用上了这种选择自由:10 月的公告提到,它支持超过 40 款编程智能体,可以直接在 IDE 内选择。实际价值在于,你可以继续使用熟悉的开发环境,再决定由哪个智能体来完成工作。

上述数量来自 Google 2026 年 10 月 28 日发布的 Android Studio 公告。下文的支持范围与配置说明,已于 2026 年 11 月 3 日对照协议官网及编辑器文档核实。本文是一份基于文档的指南,不是智能体实测或性能评测。

ACP 协议改变了什么?

ACP 为编辑器与编程智能体提供了一套通用接口,用来交换提示词、进度、权限请求和结果。智能体是一个利用模型、工具及循环执行机制来完成任务的程序。编辑器或集成开发环境(IDE),则是你查看代码、审查改动并与这个程序交互的地方。

可以把它类比为 Language Server Protocol(LSP):LSP 统一了编辑器与语言服务器的连接方式,语言服务器负责提供诊断等特定编程语言的智能功能。ACP 将这种职责分离应用到编程智能体上:编辑器实现客户端连接,智能体则直接实现 ACP,或通过适配器接入。两端必须兼容。ACP 官方介绍将其价值概括为:不必再为每一种编辑器与智能体的组合单独开发集成。

如果你经常在 Anthropic 的 Claude Code、OpenAI 的 Codex 和 Google 的 Gemini CLI 之间切换,ACP 带来的好处就是工作环境可以保持稳定。评估另一款智能体时,不用连编辑器一起迁移。不过,各款智能体接入 ACP 的方式仍有差异,下文的支持列表会具体说明。

ACP 最初是谁发起的?

ACP 由 Zed Industries 创建,并与 Google 合作,将 Gemini CLI 作为最初的参考实现。Zed 于 2025 年 8 月 27 日公布了这项合作。JetBrains 随后加入;其当前的 ACP 页面将协议描述为由 JetBrains 和 Zed 以开放方式共同开发。Google 既是早期实现合作伙伴,也通过 Android Studio 成为了采用方。Zed 的发布文章和 JetBrains 的 ACP 页面分别说明了这些角色。

判断支持情况时,需要区分这些贡献:创建协议、维护适配器、在编辑器中提供客户端,并不是同一回事。

哪些编辑器和智能体支持 ACP?

**Zed、JetBrains IDE 和 Android Studio 都有文档明确说明如何接入 ACP 智能体。**其他编辑器可能依赖插件或扩展,需要核实你实际准备安装的集成。出现在目录里,只能证明有对应的集成,不能保证所有功能的表现完全一致。

编辑器文档说明的 ACP 接入方式需要留意的细节
Zed从 ACP Registry 安装外部智能体智能体仍使用自己的身份验证和配置。
JetBrains IDE在 AI Assistant 的 AI Chat 中使用 ACP 智能体,可从注册表安装或手动配置组织管理员可以限制可用的智能体。
Android Studio在智能体窗口或 Agents 设置中使用 Bring Your Own AgentRabbit 2 现已发布稳定版。
Visual Studio Code通过 ACP Client、ACP Patchbay、ACP Pro Extension 等扩展接入协议目录列出的是扩展接入方式,不代表编辑器全面内置支持 ACP。
NeovimCodeCompanion、agentic.nvim、avante.nvim 或 hermes.nvim支持情况取决于所选插件。
Emacs / Sublime Text分别通过 agent-shell.el / ACP 插件接入两者是各自独立的编辑器集成。

上表的插件名称取自 ACP 客户端目录。Zed、JetBrains 和 Android Studio 的信息则来自下文引用的各自官方文档。这里选取了与编程工作流相关的客户端,并未列出全部 ACP 客户端。

Zed:外部智能体使用独立配置

Zed 在 Agent Panel 和 Threads Sidebar 中提供 ACP 智能体。其当前文档列出的常见外部智能体包括 Claude、Codex、OpenCode、Copilot、Cursor 和 Pi,也提供了 Gemini CLI 的配置说明。主要安装渠道是 ACP Registry。Zed 的外部智能体文档同时说明了安装方法和配置归属。

Zed 文档展示外部智能体的安装与配置
Zed:外部智能体与 ACP Registry

实际使用中,要注意配置不会自动继承。Zed Agent 的配置档案和 Zed Skills,不会自动变成外部智能体的设置。为团队记录配置时,需要单独写清楚智能体自己的指令、凭据和工具。

JetBrains:先核实组织策略和运行环境

JetBrains AI Assistant 通过 AI Chat 提供 ACP 智能体。你可以从 Settings > Tools > AI Assistant > Agents 安装智能体,也可以通过 acp.json 添加自定义智能体。文档还说明,ACP 智能体目前不支持 Windows Subsystem for Linux(WSL),管理员也可以限制注册表条目或自定义智能体。这些限制应以 JetBrains 的 ACP 文档为准。

JetBrains AI Assistant 文档展示 ACP 智能体注册表与设置
JetBrains:在 AI Chat 中安装 ACP 智能体

对工程负责人来说,这意味着推荐这项集成之前,要先核实团队的工作站环境。同事的笔记本上能跑通,并不能证明团队受管理的 WSL 工作流也受支持。

智能体:原生支持与适配器接入要分清

ACP 智能体目录对相关集成的表述很具体:

  • Claude Agent 标注为通过 Zed 的 SDK 适配器接入。这是目录对 Claude 集成的命名,并不表示 Claude Code CLI 本身原生支持 ACP。
  • Codex CLI 标注为通过 ACP 的适配器接入。记录编辑器启动了哪些组件时,也要把这个适配器算进去。
  • Gemini CLI 列为实现了协议的智能体,没有附加适配器说明。
  • GitHub Copilot 在该页面上明确标为公开预览版。

同一页面还列出了 Augment Code、Cline、Cursor、Docker 的 cagent、Factory Droid、Goose、Hermes Agent、JetBrains 的 Junie、Kimi CLI、Kiro CLI、Mistral Vibe、OpenCode、OpenHands 和 Qwen Code。Pi 则标注为通过 pi-acp 适配器接入。这里沿用了目录中的名称,只列出部分条目;完整名单见链接中的目录。

不能把这份目录当成一张适用于所有编辑器的兼容性评分表。某个组合能否满足你的需求,取决于智能体、必要时使用的适配器、编辑器集成,以及双方协商后启用的能力。

Android Studio 的 Bring Your Own Agent 有什么用?

**Android Studio 允许你自行选择编程智能体,同时保留原有的 Android 开发工具。**Google 的稳定版公告列出了 Claude Agent、Codex、Junie 和 Google Antigravity,并说明智能体可以访问 Android Emulator、构建系统、Logcat 和 Android 技能。Logcat 是 Android 的应用及系统日志查看工具。Google 的 Rabbit 2 公告说明了这些工具的开放情况。

Google 公告展示 Claude Agent 在 Android Studio 中运行
Android Studio:智能体窗口中的 Claude Agent

对 Android 开发者来说,可以想象一个排查崩溃的场景:你希望智能体能配合项目的构建和诊断工具工作,自己则继续在熟悉的环境中检查修复。BYOA 让你可以独立于工作环境选择智能体。至于选中的智能体能否准确定位崩溃原因,仍然需要评估。

对工程负责人来说,这也让试点更有参考价值。保持代码仓库、任务和审查流程一致,再在同一个环境中比较获准使用的智能体。评估它们产出的补丁、请求执行的命令,以及支撑答案的证据。连上了,只是接入成功,还不代表已经适合推广使用。

发布之初是预览版,现在已进入稳定版

Google 于 2026 年 9 月 24 日首次推出 BYOA 预览版,从 Android Studio Rabbit 2 Canary 开始提供。2026 年 10 月 28 日,Google 宣布包含 BYOA 的 Rabbit 2 正式进入稳定版。较新的公告已经取代首发文章中的预览版状态。参见预览版公告和稳定版公告。

判断是否仍处于预览阶段,要落实到具体组件。Android Studio 发布稳定版,并不意味着其他智能体的公开预览标签随之取消,也不保证适配器已经具备完全对等的功能。

ACP 会话是怎样运行的?

**编辑器启动智能体,再与它交换结构化消息。**采用本地传输时,编辑器会启动一个子进程,也就是操作系统中运行的另一个程序。双方通过进程的标准输入输出流 stdio,使用 JSON-RPC 2.0 通信。这种格式定义了请求、响应和通知。这是一种结构化通信,并非读取终端渲染出来的文本。参见协议概览和传输规范。

会话按以下顺序推进:

  1. **启动并协商。**编辑器启动智能体或适配器,发送 initialize。双方交换协议版本和支持的能力。
  2. **按需完成身份验证。**按照智能体声明的认证方式完成验证。编辑器连接成功,并不代表你已经拥有该智能体的账号。
  3. **创建对话。**编辑器发送 session/new,附带工作目录及它提供的 MCP 服务器信息。智能体返回会话标识符。
  4. **发送任务并接收进度。**编辑器发送 session/prompt;智能体通过 session/update 通知报告消息和工具活动。
  5. **处理操作请求。**智能体申请权限时,编辑器展示可选项,再把决定传回。当前轮次最终会以一条响应结束,说明停止的原因。

以上流程来自文档中的消息流程和会话创建规则。会话承载的是某个智能体的对话,以及它自己的上下文和状态,并不是各家厂商共用的通用对话文件。

文件修改与终端命令如何处理?

**文件和终端访问都属于需要协商的能力。**获得支持时,智能体可以通过 fs/read_text_file 经由编辑器读取文件,包括尚未保存的修改,也可以用 fs/write_text_file 经由编辑器写入。当屏幕上的缓冲区内容与磁盘文件不一致时,这一点尤其有用。参见 ACP 文件系统规范。

执行命令时,terminal/create 会请求客户端启动一个进程。相关方法还能获取输出、等待完成、停止命令和释放终端。调用这些方法之前,智能体必须确认客户端已声明支持终端能力。参见 ACP 终端规范。

智能体也可以自行执行操作,同时通过 ACP 以 diff 形式报告修改,并汇报工具执行进度。因此,在编辑器里看到操作记录,并不表示每项操作都是编辑器执行的。参见工具调用规范。

ACP 和 MCP 有什么区别?

**ACP 连接编辑器与智能体;Model Context Protocol(MCP)连接 AI 应用或智能体与工具、数据。**两者可以在同一个会话中配合使用。以下对比依据 ACP 会话规范和 MCP 官方介绍。

对比项ACPMCP
连接什么?编辑器/客户端 ↔ 编程智能体AI 应用/智能体 ↔ 外部工具和数据
传递什么?提示词、会话更新、工具活动及权限请求对工具、数据源和可复用工作流的访问
典型用途向智能体发送任务,并在编辑器中展示它提出的修改让该智能体查询已连接的数据源或调用工具
如何配合?创建会话时,可以向智能体提供 MCP 服务器配置这些服务器为智能体提供外部能力
以建筑房间示意连接关系:编辑器通过 ACP 连接智能体,智能体通过 MCP 连接工具
ACP 和 MCP 连接的是同一工作流中的不同环节。

如果缺少某个工具,既要检查编辑器连接,也要检查工具连接。例如,JetBrains 为向智能体传递自定义 MCP 服务器和内置 IntelliJ MCP 服务器分别提供了设置。支持 ACP,并不会自动启用全部工具。JetBrains 的注册表设置文档说明了这些控制项。

如果你正在设计底层服务的边界,MCP 与 API 的对比讨论的是另一个决策:如何向外提供应用功能。如果你准备围绕编程智能体构建应用,可以阅读 Vercel AI SDK ACP 适配器详解,了解这一集成层。

如何在 Android Studio 中接入 Claude Agent?

**在 Android Studio 中选择智能体,再完成相应提供方的身份验证。**Google 当前说明的入口是智能体窗口,或 Settings > Tools > AI > Agents。首发指南要求登录账号或提供 API 密钥,支持哪些账号套餐由智能体提供方决定。参见当前接入说明和身份验证说明。

  1. 使用支持 BYOA 的版本

    使用 Android Studio Rabbit 2 稳定版,或文档明确包含 BYOA 的后续版本。最初仅限 Canary 的说明,适用于预览版发布阶段。

  2. 选择 Claude Agent

    打开智能体窗口,选择 Claude Agent。也可以通过 Settings > Tools > AI > Agents 选择智能体。

  3. 完成该智能体的身份验证

    按照智能体的流程登录,或在提供相应选项时填入 API 密钥。使用项目批准的账号和访问方式。接入另一款智能体时,需要完成那款智能体自己的身份验证,并具备相应使用权限。

  4. 先提交一个范围明确的提示词

    Google 的配置流程以提交提示词结束。可以从这样一个任务开始:“解释这个项目的构建方式,并找出相关的测试任务。不要修改文件。”这只是建议的起步提示词,并非厂商的测试结果。

  5. 确认工作流程后再扩大任务范围

    接下来,在工作分支上请求一项便于审查的小改动。检查提出的修改、权限选项及所有请求执行的命令。确认自己能理解结果,再交给它更大的任务。这些是实际推广使用时的建议,超出了厂商文档中的连接步骤。

如果身份验证失败,应排查所选智能体的账号或密钥配置。如果智能体已连接,却无法使用某个工具,则应检查该集成开放了哪些能力。这是不同的故障点,配置记录中也应分别说明。

团队使用 ACP 时,有哪些限制必须确认?

**连接方式可以统一,智能体的具体行为仍要逐个验证。**协议减少了重复集成工作,但没有让各款智能体在所有运行细节上都能互相替换。

**身份验证仍由各智能体独立处理。**每选用一家提供方,都要准备相应的登录或 API 密钥配置。某种实现可能会复用已有凭据,但 ACP 本身并不是共用账号或共享配额池。例如,Zed 文档明确说明,外部智能体有自己的身份验证方式及与提供方的关系。参见 Zed 的配置边界说明。

**恢复会话需要满足条件。**协议中的 session/load 操作要求智能体具备 loadSession 能力。实现该能力后,可以加载已有会话;这并不表示另一家厂商的智能体能继承原智能体的私有状态。在承诺无缝切换之前,需要核实具体组合如何处理历史记录。参见会话加载规范。

**远程支持必须核实具体实现。**当前的传输规范定义了 stdio,并说明 Streamable HTTP 传输仍在制定规范。协议也允许自定义传输。不能因为某项集成在本地可用,就认定它能直接连接远程智能体端点。参见 ACP 传输规范。

权限请求不等于沙箱

**ACP 为权限决定规定了消息格式,但不会强制建立操作系统层面的隔离边界。**规范说明,智能体以其进程拥有的权限运行,权限请求属于建议性约定,智能体有责任遵守用户的决定。智能体通过客户端能力接口请求的文件系统和终端操作,则由客户端另行执行。参见 ACP 安全注意事项。

请求的操作进入人工审核,再分流至允许并执行或拒绝
操作请求的审批路径。决定能否得到落实,仍取决于智能体和执行环境。

一次请求可以提供仅本次生效或记住决定的允许、拒绝选项。记住的决定适用多大范围、保存多久,由智能体负责。选择之前要看清选项的含义,不要默认“始终允许”只针对当前命令或目录。参见权限选项语义。

平台运维人员在核实编辑器配置的同时,还应检查智能体的可执行文件、执行环境和权限策略。审批弹窗有助于看清将要发生的操作,但仅凭它的存在,无法证明执行范围已被隔离限制。

哪些说法被夸大了,哪些人值得现在尝试?

**ACP 确实能减少编辑器与智能体之间的耦合。**但支持 ACP 不能证明某款智能体写代码更好,也不能证明它能迁移另一款智能体的配置,或每一种组合都能提供相同的工作流。这些结果都需要直接评估。

**已经经常切换智能体的开发者,值得现在尝试。**在你现用的编辑器中,接入一款受支持的智能体。关键要看它的改动审查、命令可见性和上下文处理方式,是否有助于完成一项有代表性的任务。

**工程负责人应先试点,再统一采用。**比较不同智能体时,保持任务和验收标准一致。记录身份验证、工具支持、会话恢复及权限处理行为。选择应依据产出质量和可控性,而不是注册表里有多少条目。

**如果必需的环境尚不受支持,平台运维人员应暂缓推广。**JetBrains 文档中的 WSL 限制就是一个具体例子。如果远程工作流依赖某种尚未确认的传输行为,也应先验证组合,再推广使用。

**对已经满意于终端工作流的开发者,ACP 基本没有影响。**不必仅仅因为出现了一个协议就更换界面。如果你还在犹豫哪款智能体更适合自己的工作,可以先用 Codex 与 Claude Code 的对比梳理选择标准,再到自己的代码仓库中评估。

常见问题

Agent Client Protocol 是什么?

Agent Client Protocol 是编程智能体与编辑器或其他客户端之间的通用接口。兼容的实现可以交换提示词、进度和操作信息,不必为每一种组合分别开发专用集成。

ACP 与 MCP 有什么区别?

ACP 负责编辑器与智能体之间的连接。MCP 连接 AI 应用或智能体与外部工具、数据。ACP 会话可以提供 MCP 服务器配置,因此两种协议可以参与同一个工作流。

A2A 和 MCP 有什么区别?

Agent2Agent(A2A)统一了独立智能体之间的通信方式。MCP 将 AI 应用连接到外部能力和数据。A2A 解决的是智能体协作问题,本文的 ACP 处理的则是编辑器连接。参见 A2A 项目的说明。

Claude Code 支持 Agent Client Protocol 吗?

目录中的准确表述是 Claude Agent 通过 Zed 的 SDK 适配器接入。应使用编辑器文档明确支持的集成,不能据此认为每个 Claude Code 可执行程序都原生支持 ACP。Zed 文档将 Claude Agent 列为外部智能体,使用它自己的身份验证方式。

Claude Code 仍是最好的编程智能体吗?

是否支持 ACP,无法回答这个问题。应在自己的代码仓库中,使用相同的任务、审查标准和允许调用的工具比较智能体。优先选择修改结果便于验证、工作流也适合你日常任务的智能体。

Agent Client Protocol 是谁开发的?

Zed 创建了 ACP,并与 Google 合作,将 Gemini CLI 作为最初的参考实现。JetBrains 随后加入,其当前文档将 ACP 描述为由 JetBrains 和 Zed 以开放方式共同开发。

Agent Client Protocol 和 Agent Communication Protocol 有什么区别?

两者是不同的项目,只是缩写相同。Agent Client Protocol 连接编辑器与编程智能体。IBM 的 Agent Communication Protocol 则用于智能体之间的通信;IBM Research 现已说明,它已成为 A2A 的一部分。

ACP 是如何工作的?

在本地会话中,编辑器将智能体作为子进程启动,并通过 stdio 使用 JSON-RPC 通信。双方协商能力,完成必要的身份验证,创建会话,再交换提示词、更新和权限决定。

Agentic AI 中的 ACP 指什么?

在编辑器集成场景中,ACP 通常指 Agent Client Protocol。阅读架构或选择库时,应确认名称全称:Agent Communication Protocol 虽然也缩写为 ACP,但指的是另一个项目。

下次开始工作时,可以这样试

继续使用当前编辑器,选择一款获准使用的 ACP 智能体,从代码仓库里一项便于审查结果的小任务开始。记录所用的智能体和适配器、身份验证方式、可用工具及权限处理行为。确认整个工作循环都清楚可控,包括拒绝某项操作后会发生什么,再扩大试点范围。

想获取开发工作流变化的实用指南,可以订阅邮件通讯。

发布日期
分类
Build
2026 年 Vercel 替代方案:Next.js 与 AI 应用该迁到哪里?

2026 年 Vercel 替代方案:Next.js 与 AI 应用该迁到哪里?

正在寻找 Vercel 替代方案?本文对比 Cloudflare、Render、Railway、Netlify、Fly.io 与 AWS Amplify,梳理 Next.js 和 AI 应用的托管费用、免费额度、流式响应支持、后台任务及迁移限制,帮助你按实际负载选平台,并判断何时继续使用 Vercel 更合适。2026年11月3日Build
Vapi 替代方案 2026:Retell AI、Bland AI 等平台怎么选

Vapi 替代方案 2026:Retell AI、Bland AI 等平台怎么选

寻找 Vapi 替代方案?对比 Retell AI、Bland AI、ElevenLabs Agents、Synthflow、Vida Global 与 CloudTalk,厘清 AI 计费、运营商费用、并发限制和集成要求。先验证预约等业务操作与转人工,再决定是否迁移主号码,避免只看每分钟标价。2026年11月3日Build
浏览器自动化入门:用 Browser Use 搭建 AI 智能体

浏览器自动化入门:用 Browser Use 搭建 AI 智能体

想用 AI 完成网页任务,又把自动化留在自己的应用中?本文介绍 Browser Use 的工作原理、模型支持与 Cloud 部署选择,带你从只读任务开始,搭建浏览器智能体。文中还梳理登录状态保护、提示词注入、限流与重试的边界,说明如何核验实际结果,以及何时应保留 API、固定脚本或人工提交。2026年11月2日Build
Zernio评测:社交媒体 API 值不值得接入?

Zernio评测:社交媒体 API 值不值得接入?

Zernio评测聚焦开发者真正需要的社交媒体API能力:支持哪些平台、账号要满足什么条件、如何按连接数和实际用量计费,以及发布、收件箱、广告和MCP智能体的边界。结合公开文档与工作流,对比Ayrshare、Postiz和原生API,帮助独立开发者、SaaS团队及代理机构判断是否适合接入自己的产品。2026年11月1日Build
Airtable vs Notion:数据库、知识库与项目管理,团队怎么选?

Airtable vs Notion:数据库、知识库与项目管理,团队怎么选?

Airtable vs Notion 怎么选?本文按轻量 CRM、内容日历、项目管理、团队知识库、库存与客户门户逐项比较,梳理价格、数据库容量、自动化、API 限制与 AI 积分规则,说明客户权限、表单更新和迁移时容易忽略的边界,并给出搭配使用的分工思路,帮助团队根据实际工作决定选哪款。2026年11月1日Build
Google Jules 停服指南:导出工作记录,迁移后台任务

Google Jules 停服指南:导出工作记录,迁移后台任务

Google Jules 即将停服,如何保住代码仓库之外的任务记录?本文梳理只读与关停时间表、官方导出流程、历史记录和 API 的未决问题,并说明如何迁移到 Antigravity、Codex、Claude Code 或 GitHub Copilot,验证环境配置、测试和代码审查流程,再切换定期任务。2026年11月1日Build
smolagents 教程:Python 代码智能体原理、沙箱与框架选型

smolagents 教程:Python 代码智能体原理、沙箱与框架选型

smolagents 如何用 Python 驱动 AI 智能体?了解两种智能体的区别、工具与模型的搭配,以及 Docker 示例的执行流程。本文梳理沙箱边界、权限与资源限制,并对比 LangGraph 和 OpenAI Agents SDK,帮助开发者判断何时适合动态组合代码,何时应采用持久化工作流或专职智能体协作。2026年10月31日Build
Warp Terminal 评测:先换终端,再决定要不要换 AI 编程助手

Warp Terminal 评测:先换终端,再决定要不要换 AI 编程助手

Warp Terminal 值得替换现有终端吗?本文拆解命令块、外部编程智能体集成与 Warp Drive,比较 iTerm2、Ghostty,并梳理套餐价格、平台计费、隐私设置、共享会话保留和离线限制。先保留 Claude Code 或 Codex,用实际任务判断终端体验是否改善,再决定是否更换智能体或推广到团队。2026年10月31日Build
订阅通讯

每周日,一封信。写运转中的系统,不写热评。

每周一期。无垃圾邮件。随时退订。