Voltar ao blog

IA para iniciantesGuia

O que é ACP (Agent Client Protocol)? Traga seu próprio agente

O ACP é o socket entre um editor de código e um agente de código. Veja como ele difere do MCP e onde entram seu modelo e sua chave de API.

Por CheapTokens TeamPublicado em 6 min de leitura

Capa: fluxo Editor → ACP → Agente, o protocolo entre um editor de código e um agente de código
Nesta página
  1. Por que um socket, afinal?
  2. Como o ACP funciona, em palavras simples
  3. ACP vs MCP: qual conecta o quê
  4. Traga seu próprio agente no Android Studio
  5. Onde ficam o modelo e a chave de API
  6. O que fazer a seguir

O Android Studio agora oferece um menu com mais de 40 agentes de código, e as notícias sobre isso sempre mencionam três letras: ACP. Aqui vai a versão curta. O Agent Client Protocol (ACP) é um socket compartilhado entre um editor de código e um agente de código, mais ou menos como o USB entre um computador e o que você conecta nele. Qualquer editor que fale ACP pode hospedar qualquer agente que fale ACP. O MCP é um cabo diferente: ele conecta um agente a ferramentas e dados, não ao seu editor.

O gancho da notícia é o Android Studio. O blog do Android Developers (28 de outubro de 2026) diz que o Android Studio Rabbit 2, agora estável, traz o “Bring Your Own Agent”: você escolhe entre mais de 40 agentes de código, incluindo Claude Agent, Codex da OpenAI, Junie e Google Antigravity. O post nunca escreve “ACP”. O nome e o funcionamento vêm da introdução ao ACP (verificado em 1 de novembro de 2026).

Por que um socket, afinal?#

Digamos que existam 5 editores e 8 agentes de código. Se cada par precisar da sua própria conexão feita à mão, isso dá 5 × 8 = 40 integrações, e cada novo agente significa cinco trabalhos a mais para cinco equipes de editores. Se todos concordarem com um único socket, cada editor o constrói uma vez e cada agente o constrói uma vez: 5 + 8 = 13 peças de trabalho. É essa a ideia toda.

O site do ACP faz a mesma comparação com o LSP, o Language Server Protocol, que permite que um language server funcione em muitos editores. Mesmo truque, aplicado a agentes de código: qualquer agente ACP funciona com qualquer editor ACP, sem integração personalizada por par.

Flashcards

Palavras que você vai encontrar em torno do ACP

Como o ACP funciona, em palavras simples#

Imagine dois colegas passando bilhetes por uma fenda de correio. O editor escreve um pedido, o agente responde com o que quer mostrar. Para um agente local, essa fenda é literal: o editor inicia o agente como um subprocesso na sua máquina e eles trocam mensagens JSON-RPC via stdio. Toda mensagem tem a mesma forma geral:

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

Os nomes dos métodos são definidos pelo próprio ACP, então você nunca os escreve à mão. O editor e o agente fazem isso.

Os agentes não precisam viver no seu laptop. Agentes remotos usam HTTP ou WebSocket, embora o site do ACP diga que o suporte remoto completo ainda está em andamento. E como o protocolo foi feito para código, ele reutiliza as representações JSON do MCP onde possível e adiciona tipos para coisas que um editor precisa desenhar, como diffs. É por isso que uma alteração proposta pode aparecer como um diff no seu editor em vez de uma parede de texto.

Editor, ACP, agente e API do modelo em sequência
O ACP é a ligação entre o editor e o agente. O modelo fica atrás do agente, em uma conexão separada.

ACP vs MCP: qual conecta o quê#

Coloque o agente no meio. De um lado está o seu editor, e essa ligação é o ACP. Do outro lado estão as coisas com que o agente trabalha: arquivos, bancos de dados, serviços. Essa ligação é o MCP. Eles ficam em lados diferentes do agente, então não competem. Se o MCP é novidade para você, comece pelo nosso guia de MCP em linguagem simples.

ACP liga editor e agente, MCP liga agente e ferramentas
Os dois protocolos lado a lado. O ACP olha para o editor, o MCP olha para as ferramentas.

Eles são parentes próximos, também: como observado acima, o ACP empresta as representações JSON do MCP onde pode. Tente associá-los você mesmo:

Emparelhar os pares

Associe cada nome ao que ele conecta

  • ACPEditor ⇄ agente de código
  • MCPAgente ⇄ ferramentas e dados
  • JSON-RPC via stdioComo um agente ACP local fala com o editor
  • API do modelo (base URL + chave)Agente ⇄ modelo de linguagem

Traga seu próprio agente no Android Studio#

Sem um protocolo compartilhado, adicionar um agente a um editor é tarefa do fornecedor do editor. Com o Android Studio Rabbit 2, você escolhe o agente. Segundo o post do Android Developers, você abre a janela do agente e seleciona um agente, ou escolhe um em Settings > Tools > AI > Agents. Depois você se autentica e envia seu primeiro prompt. O post diz apenas “autentique-se”; o que isso pede depende do agente que você escolheu, então a documentação do próprio agente é o lugar para procurar.

Aqui está a ordem, se você quiser conferir:

Colocar em ordem

Coloque os passos do Android Studio em ordem

  1. Abra o Android Studio Rabbit 2
  2. Selecione um agente (janela do agente ou Settings > Tools > AI > Agents)
  3. Autentique-se
  4. Envie o primeiro prompt

Onde ficam o modelo e a chave de API#

Esta é a parte que confunde a maioria dos iniciantes. A ligação ACP carrega a conversa entre o editor e o agente. O agente ainda precisa de um modelo de linguagem para pensar, e essa é uma conexão separada, geralmente com seu próprio login ou chave de API. Trocar o editor não muda o modelo, e trocar o modelo não muda o editor. O post do Android Studio não diz nada sobre chaves ou modelos personalizados, então o que você pode mudar depende do agente que escolher.

Alguns agentes permitem apontá-los para um endpoint compatível com OpenAI: uma base URL, uma chave e um id de modelo. Quando o seu permitir, essa é toda a conexão do lado do modelo, e você pode testá-la em um terminal antes de mexer em qualquer configuração (a chave é um placeholder em uma variável de ambiente):

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."}]
  }'

Você recebe de volta uma resposta JSON com o texto em choices[0].message.content e as contagens de tokens em usage. Agentes de código reenviam muito contexto a cada etapa, então um modelo de contexto longo combina com eles. Na CheapTokens, esse é o DeepSeek-V4-Flash: uma janela de contexto de 380K, até 32.768 tokens de saída por resposta, um preço em qualquer hora do dia e um saldo único em todos os modelos. A API é compatível com OpenAI e Anthropic. Pegue o id exato do modelo na documentação da CheapTokens; os ids variam entre provedores. A página dos modelos DeepSeek tem os detalhes.

Não sabe qual ferramenta aceita uma chave personalizada? Nosso guia onde colocar sua própria chave de API percorre chat, editor, terminal e código. E se “base URL” é um termo novo, leia o que é base_url e como trocar.

Experimente você mesmoTeste: você instalou um agente ACP. Qual conexão você muda para trocar o modelo que ele usa?Mostrar resposta

Não a do ACP. O socket entre editor e agente permanece como está. O modelo é uma configuração do próprio agente: base URL, chave e id de modelo na configuração do agente, se o agente as expuser.

O que fazer a seguir#

Abra a documentação do agente que você quer e procure onde ele define o modelo. Se você tem curiosidade sobre como o agente funciona por dentro, como funciona um agente de IA: o loop mostra passo a passo. O ACP responde apenas a uma pergunta: como o editor e o agente conversam. Todo o resto fica entre o agente e suas ferramentas e modelo.