Il team ACP ha inizialmente esplorato l'opportunità di adattare il protocollo di contesto del modello (MCP), in quanto offre una solida base per le interazioni modello-contesto. Tuttavia, ha subito riscontrato delle limitazioni architetturali che lo hanno reso inadatto a una vera comunicazione da agente a agente.
Perché il protocollo MCP non è all'altezza dei sistemi multiagente:
Streaming: il protocollo MCP supporta lo streaming di base, probabilmente di messaggi completi, ma non il più dettagliato stile "delta", in cui gli aggiornamenti vengono inviati non appena si verificano. I flussi delta, come i token e gli aggiornamenti della traiettoria, sono flussi composti da aggiornamenti incrementali piuttosto che da payload di dati completi. Questa limitazione deriva dal fatto che quando il protocollo MCP è stato creato, non era destinato a interazioni in stile agente.
Condivisione della memoria: il protocollo MCP non supporta l'esecuzione di più agenti tra i server mantenendo al contempo la memoria comune. Anche il protocollo ACP non supporta ancora pienamente questa funzione, ma è un'area di sviluppo attiva.
Struttura del messaggio: il protocollo MCP accetta qualsiasi schema JSON, ma non definisce la struttura del corpo del messaggio. Questa flessibilità rende difficile l'interoperabilità, soprattutto per gli agenti di sviluppo che devono interpretare diversi formati di messaggio.
Complessità del protocollo: il protocollo MCP utilizza JSON-RPC e richiede SDK e tempo di esecuzione specifici. Invece, il design basato su REST del protocollo ACP con supporto asincrono/sincrono integrato è più leggero e facile da integrare.
Pensa al protocollo MCP come qualcosa che dà a una persona degli strumenti migliori, come una calcolatrice o un libro di riferimento, per migliorare le sue prestazioni. Il protocollo ACP, invece, consiste nel consentire alle persone di formare team, in cui ogni persona o agente contribuisce con le proprie capacità in modo collaborativo all'interno dell'applicazione AI.
I protocolli ACP e MCP possono completarsi a vicenda: