Volver al blog

IA para principiantesGuía

¿Qué es ACP (Agent Client Protocol)? Trae tu propio agente

ACP es el socket entre un editor de código y un agente de programación. Así se diferencia de MCP y dónde encajan tu modelo y tu clave de API.

Por CheapTokens TeamPublicado el 6 min de lectura

Portada: flujo Editor → ACP → Agente, el protocolo entre un editor de código y un agente de programación
En esta página
  1. ¿Por qué un socket?
  2. Cómo funciona ACP, en palabras sencillas
  3. ACP vs MCP: qué conecta cada uno
  4. Trae tu propio agente a Android Studio
  5. Dónde están el modelo y la clave de API
  6. Qué hacer a continuación

Android Studio ahora ofrece un menú de más de 40 agentes de programación, y las noticias al respecto mencionan siempre tres letras: ACP. Aquí va la versión corta. El Agent Client Protocol (ACP) es un socket compartido entre un editor de código y un agente de programación, algo parecido al USB entre un ordenador y lo que le conectes. Cualquier editor que hable ACP puede alojar cualquier agente que lo hable. MCP es otro cable: conecta un agente con herramientas y datos, no con tu editor.

El gancho de la noticia es Android Studio. El blog de Android Developers (28 de octubre de 2026) dice que Android Studio Rabbit 2, ya estable, incluye «Bring Your Own Agent»: eliges entre más de 40 agentes de programación, incluidos Claude Agent, Codex de OpenAI, Junie y Google Antigravity. La entrada nunca menciona «ACP». El nombre y la mecánica vienen de la introducción a ACP (consultada el 1 de noviembre de 2026).

¿Por qué un socket?#

Supongamos que hay 5 editores y 8 agentes de programación. Si cada par necesita su propia conexión hecha a mano, son 5 × 8 = 40 integraciones, y cada agente nuevo supone cinco trabajos más para cinco equipos de editores. Si todos se ponen de acuerdo en un único socket, cada editor lo construye una vez y cada agente lo construye una vez: 5 + 8 = 13 piezas de trabajo. Esa es toda la idea.

El sitio de ACP hace la misma comparación con LSP, el Language Server Protocol, que permite que un servidor de lenguaje funcione en muchos editores. El mismo truco, aplicado a los agentes de programación: cualquier agente ACP funciona con cualquier editor ACP, sin integración personalizada por par.

Tarjetas de memoria

Palabras que verás en torno a ACP

Cómo funciona ACP, en palabras sencillas#

Imagina a dos colegas pasándose notas por una ranura de correo. El editor escribe una petición, el agente responde con lo que quiere mostrar. Para un agente local, esa ranura es literal: el editor arranca el agente como subproceso en tu máquina e intercambian mensajes JSON-RPC por stdio. Todos los mensajes tienen la misma forma general:

json
{ "jsonrpc": "2.0", "id": 1, "method": "…", "params": { … } }

Los nombres de los métodos los define ACP, así que nunca los escribes a mano. Lo hacen el editor y el agente.

Los agentes no tienen por qué vivir en tu portátil. Los agentes remotos usan HTTP o WebSocket, aunque el sitio de ACP dice que el soporte remoto completo sigue en desarrollo. Y como el protocolo está pensado para programar, reutiliza las representaciones JSON de MCP donde puede y añade tipos para cosas que un editor necesita dibujar, como los diffs. Por eso un cambio propuesto puede aparecer como un diff en tu editor en lugar de un muro de texto.

Editor, ACP, agente y API del modelo en fila
ACP es el enlace entre el editor y el agente. El modelo está detrás del agente, en una conexión aparte.

ACP vs MCP: qué conecta cada uno#

Pon al agente en el medio. A un lado está tu editor, y ese enlace es ACP. Al otro lado están las cosas con las que trabaja el agente: archivos, bases de datos, servicios. Ese enlace es MCP. Están en lados distintos del agente, así que no compiten. Si MCP es nuevo para ti, empieza por nuestra guía de MCP en lenguaje llano.

ACP enlaza editor y agente, MCP enlaza agente y herramientas
Los dos protocolos lado a lado. ACP mira al editor, MCP mira a las herramientas.

Además son parientes cercanos: como se ha dicho, ACP toma prestadas las representaciones JSON de MCP cuando puede. Prueba a emparejarlos tú mismo:

Emparejar los pares

Empareja cada nombre con lo que conecta

  • ACPEditor ⇄ agente de programación
  • MCPAgente ⇄ herramientas y datos
  • JSON-RPC sobre stdioCómo habla un agente ACP local con el editor
  • API del modelo (URL base + clave)Agente ⇄ modelo de lenguaje

Trae tu propio agente a Android Studio#

Sin un protocolo compartido, añadir un agente a un editor es tarea del fabricante del editor. Con Android Studio Rabbit 2 eliges tú el agente. Según la entrada de Android Developers, abres la ventana del agente y seleccionas uno, o eliges uno en Settings > Tools > AI > Agents. Después te autenticas y envías tu primer prompt. La entrada solo dice «autentícate»; lo que eso pida depende del agente que hayas elegido, así que la documentación del propio agente es el lugar donde mirar.

Aquí está el orden, si quieres comprobarlo tú mismo:

Poner en orden

Ordena los pasos de Android Studio

  1. Abre Android Studio Rabbit 2
  2. Selecciona un agente (ventana del agente o Settings > Tools > AI > Agents)
  3. Autentícate
  4. Envía el primer prompt

Dónde están el modelo y la clave de API#

Esta es la parte que confunde a la mayoría de los principiantes. El enlace ACP transporta la conversación entre el editor y el agente. El agente sigue necesitando un modelo de lenguaje con el que pensar, y esa es una conexión aparte, normalmente con su propio inicio de sesión o clave de API. Cambiar el editor no cambia el modelo, y cambiar el modelo no cambia el editor. La entrada de Android Studio no dice nada sobre claves o modelos personalizados, así que lo que puedas cambiar depende del agente que elijas.

Algunos agentes te permiten apuntarlos a un endpoint compatible con OpenAI: una URL base, una clave y un id de modelo. Cuando el tuyo lo haga, esta es toda la conexión del lado del modelo, y puedes probarla en un terminal antes de tocar ningún ajuste (la clave es un marcador de posición en una variable de entorno):

bash
curl https://api.cheaptokens.dev/v1/chat/completions \
  -H "Authorization: Bearer $CHEAPTOKENS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "deepseek-ai/DeepSeek-V4-Flash-0731",
    "messages": [{"role": "user", "content": "Explain ACP in one sentence."}]
  }'

Recibes una respuesta JSON con el texto en choices[0].message.content y los recuentos de tokens en usage. Los agentes de programación reenvían mucho contexto en cada paso, así que les sienta bien un modelo de contexto largo. En CheapTokens ese es DeepSeek-V4-Flash: una ventana de contexto de 380K, hasta 32.768 tokens de salida por respuesta, un precio a cualquier hora del día y un saldo para todos los modelos. La API es compatible con OpenAI y Anthropic. Toma el id de modelo exacto de la documentación de CheapTokens; los ids difieren entre proveedores. La página de modelos de DeepSeek tiene los detalles.

¿No sabes qué herramienta acepta una clave personalizada? Nuestra guía dónde poner tu propia clave de API recorre chat, editor, terminal y código. Y si «URL base» es un término nuevo para ti, lee qué es base_url y cómo cambiarlo.

Pruébalo tú mismoPruébalo: has instalado un agente ACP. ¿Qué conexión cambias para cambiar el modelo que usa?Mostrar respuesta

No la de ACP. El socket editor-agente se queda como está. El modelo es un ajuste propio del agente: URL base, clave e id de modelo en la configuración del agente, si el agente los expone.

Qué hacer a continuación#

Abre la documentación del agente que quieras y busca dónde configura el modelo. Si tienes curiosidad por cómo funciona el agente por dentro, cómo funciona un agente de IA: el bucle lo muestra paso a paso. ACP solo responde a una pregunta: cómo hablan el editor y el agente. Todo lo demás queda entre el agente y sus herramientas y su modelo.