Torna al blog

AI per principiantiGuida

Cos'è ACP (Agent Client Protocol)? Bring your own agent

ACP è il socket tra un editor di codice e un agente di coding. Ecco come si differenzia da MCP e dove si collocano il tuo modello e la tua chiave API.

Di CheapTokens TeamPubblicato il 6 min di lettura

Copertina: flusso Editor → ACP → Agente, il protocollo tra un editor di codice e un agente di coding
In questa pagina
  1. Perché un socket?
  2. Come funziona ACP, in parole semplici
  3. ACP vs MCP: quale collega cosa
  4. Bring your own agent in Android Studio
  5. Dove stanno il modello e la chiave API
  6. Cosa fare dopo

Android Studio ora offre un menu con oltre 40 agenti di coding, e le notizie a riguardo menzionano sempre tre lettere: ACP. Ecco la versione breve. Il Agent Client Protocol (ACP) è un socket condiviso tra un editor di codice e un agente di coding, un po' come l'USB tra un computer e qualunque cosa ci si colleghi. Qualsiasi editor che parla ACP può ospitare qualsiasi agente che lo parla. MCP è un cavo diverso: collega un agente a strumenti e dati, non al tuo editor.

Il gancio della notizia è Android Studio. Il blog di Android Developers (28 ottobre 2026) afferma che Android Studio Rabbit 2, ora stabile, include "Bring Your Own Agent": scegli tra oltre 40 agenti di coding, tra cui Claude Agent, Codex di OpenAI, Junie e Google Antigravity. Il post non menziona mai esplicitamente "ACP". Il nome e i meccanismi provengono dalla introduzione ad ACP (verificata il 1 novembre 2026).

Perché un socket?#

Supponiamo ci siano 5 editor e 8 agenti di coding. Se ogni coppia necessita della propria connessione fatta a mano, sono 5 × 8 = 40 integrazioni, e ogni nuovo agente significa cinque lavori in più per cinque team di editor. Se tutti concordano su un unico socket, ogni editor lo costruisce una volta e ogni agente lo costruisce una volta: 5 + 8 = 13 pezzi di lavoro. È tutta qui l'idea.

Il sito di ACP fa lo stesso paragone con LSP, il Language Server Protocol, che permette a un language server di funzionare in molti editor. Stesso trucco, applicato agli agenti di coding: qualsiasi agente ACP funziona con qualsiasi editor ACP, senza integrazioni personalizzate per ogni coppia.

Flashcard

Parole che incontrerai intorno ad ACP

Come funziona ACP, in parole semplici#

Immagina due colleghi che si passano bigliettini attraverso una fessura per la posta. L'editor scrive una richiesta, l'agente risponde con ciò che vuole mostrare. Per un agente locale, quella fessura è letterale: l'editor avvia l'agente come sotto-processo sulla tua macchina e si scambiano messaggi JSON-RPC tramite stdio. Ogni messaggio ha la stessa forma generale:

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

I nomi dei metodi sono definiti da ACP stesso, quindi non li scrivi mai a mano. Li scrivono l'editor e l'agente.

Gli agenti non devono per forza risiedere sul tuo laptop. Gli agenti remoti usano HTTP o WebSocket, anche se il sito di ACP afferma che il supporto remoto completo è ancora in fase di sviluppo. E poiché il protocollo è pensato per il coding, riutilizza dove possibile le rappresentazioni JSON di MCP e aggiunge tipi per le cose che un editor deve disegnare, come i diff. Ecco perché una modifica proposta può apparire come un diff nel tuo editor invece che come un muro di testo.

Editor, ACP, agente e API del modello in fila
ACP è il collegamento tra l'editor e l'agente. Il modello sta dietro l'agente, su una connessione separata.

ACP vs MCP: quale collega cosa#

Metti l'agente al centro. Da un lato c'è il tuo editor, e quel collegamento è ACP. Dall'altro lato ci sono le cose con cui lavora l'agente: file, database, servizi. Quel collegamento è MCP. Stanno su lati diversi dell'agente, quindi non competono. Se MCP è nuovo per te, inizia dalla nostra guida a MCP in parole semplici.

ACP collega editor e agente, MCP collega agente e strumenti
I due protocolli affiancati. ACP guarda verso l'editor, MCP guarda verso gli strumenti.

Sono anche stretti parenti: come notato sopra, ACP prende in prestito le rappresentazioni JSON di MCP dove può. Prova ad abbinarli tu stesso:

Abbina le coppie

Abbina ogni nome a ciò che collega

  • ACPEditor ⇄ agente di coding
  • MCPAgente ⇄ strumenti e dati
  • JSON-RPC su stdioCome un agente ACP locale parla con l'editor
  • API del modello (base URL + chiave)Agente ⇄ modello linguistico

Bring your own agent in Android Studio#

Senza un protocollo condiviso, aggiungere un agente a un editor è compito del fornitore dell'editor. Con Android Studio Rabbit 2 scegli tu stesso l'agente. Secondo il post di Android Developers, apri la finestra dell'agente e selezioni un agente, oppure ne scegli uno in Settings > Tools > AI > Agents. Poi ti autentichi e invii il tuo primo prompt. Il post dice solo "autenticati"; ciò che viene richiesto dipende dall'agente che hai scelto, quindi la documentazione dell'agente stesso è il posto dove guardare.

Ecco l'ordine, se vuoi verificare da solo:

Metti in ordine

Metti in ordine i passaggi di Android Studio

  1. Apri Android Studio Rabbit 2
  2. Seleziona un agente (finestra dell'agente o Settings > Tools > AI > Agents)
  3. Autenticati
  4. Invia il primo prompt

Dove stanno il modello e la chiave API#

Questa è la parte che confonde la maggior parte dei principianti. Il collegamento ACP trasporta la conversazione tra l'editor e l'agente. L'agente ha comunque bisogno di un modello linguistico con cui pensare, e quella è una connessione separata, di solito con il proprio login o la propria chiave API. Cambiare l'editor non cambia il modello, e cambiare il modello non cambia l'editor. Il post di Android Studio non dice nulla su chiavi o modelli personalizzati, quindi ciò che puoi cambiare dipende dall'agente che scegli.

Alcuni agenti ti permettono di puntarli a un endpoint compatibile con OpenAI: un base URL, una chiave e un id del modello. Quando il tuo lo fa, questa è l'intera connessione lato modello, e puoi testarla in un terminale prima di toccare qualsiasi impostazione (la chiave è un segnaposto in una variabile d'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."}]
  }'

Ricevi indietro una risposta JSON con il testo in choices[0].message.content e i conteggi dei token in usage. Gli agenti di coding reinviano molto contesto a ogni passo, quindi un modello a contesto lungo è adatto a loro. In CheapTokens è DeepSeek-V4-Flash: una finestra di contesto di 380K, fino a 32.768 token di output per risposta, un prezzo a qualsiasi ora del giorno e un saldo unico su tutti i modelli. L'API è compatibile con OpenAI e Anthropic. Prendi l'id esatto del modello dalla documentazione di CheapTokens; gli id differiscono tra i provider. La pagina dei modelli DeepSeek ha i dettagli.

Non sei sicuro di quale strumento accetti una chiave personalizzata? La nostra guida dove inserire la tua chiave API illustra chat, editor, terminale e codice. E se "base URL" è un termine nuovo, leggi cos'è base_url e come cambiarlo.

Provalo tu stessoProva: hai installato un agente ACP. Quale connessione cambi per cambiare il modello che usa?Mostra risposta

Non quella ACP. Il socket editor-agente resta com'è. Il modello è un'impostazione dell'agente stesso: base URL, chiave e id del modello nella configurazione dell'agente, se l'agente li espone.

Cosa fare dopo#

Apri la documentazione dell'agente che vuoi e cerca dove imposta il modello. Se sei curioso di come funziona l'agente all'interno, come funziona un agente AI: il loop lo mostra passo dopo passo. ACP risponde solo a una domanda: come parlano l'editor e l'agente. Tutto il resto resta tra l'agente e i suoi strumenti e il suo modello.