Le ultime tendenze in materia di AI, proposte da esperti
Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.
Il protocollo di comunicazione degli agenti (ACP) è uno standard aperto per la comunicazione tra agenti. Con questo protocollo, possiamo trasformare il nostro attuale landscape di agenti isolati in sistemi agentici interoperabili con integrazione e collaborazione più semplici.
Ricevi insight selezionati sulle notizie più importanti e interessanti sull'AI. Iscriviti alla nostra newsletter settimanale Think. Leggi l'Informativa sulla privacy IBM.
Con il protocollo ACP, originariamente introdotto da BeeAI di IBM, gli agenti AI possono collaborare liberamente tra team, framework, tecnologie e organizzazioni. È un protocollo universale che trasforma gli agenti AI del panorama frammentato di oggi in compagni di team interconnessi, e questo standard aperto sblocca nuovi livelli di interoperabilità, riutilizzo e scalabilità. Come passo successivo al protocollo di contesto del modello (MCP), uno standard aperto per l'accesso ai dati, il protocollo ACP definisce il modo in cui gli agenti operano e comunicano.1
Per contestualizzare, un agente AI è un sistema o programma in grado di eseguire autonomamente attività per conto di un utente o di un altro sistema. Le esegue progettando il suo workflow e utilizzando gli strumenti disponibili. I sistemi multiagente sono costituiti da più agenti AI che lavorano collettivamente per eseguire attività per conto di un utente o di un altro sistema.
Come standard di comunicazione per gli agenti AI con governance aperta, il protocollo ACP consente agli agenti di intelligenza artificiale di comunicare tra diversi framework e stack tecnologici. Dalla ricezione delle query degli utenti in linguaggio naturale all'esecuzione di una serie di azioni, gli agenti AI offrono prestazioni migliori se dotati di protocolli di comunicazione. Questi protocolli trasmettono queste informazioni tra strumenti, altri agenti e, in ultima analisi, all'utente.
Con comunicazione degli agenti AI si fa riferimento al modo in cui gli agenti di intelligenza artificiale interagiscono tra loro, con esseri umani o con sistemi esterni per scambiare informazioni, prendere decisioni e completare attività. Questa comunicazione è particolarmente importante nei sistemi multiagente, in cui ci sono più agenti AI che collaborano, e nell'interazione uomo-AI.
Il protocollo ACP fa parte di un ecosistema in crescita, in cui è incluso BeeAI. Di seguito sono riportate alcune caratteristiche principali, e puoi leggere degli approfondimenti sui concetti fondamentali e sui dettagli nella documentazione ufficiale.
Nota: il protocollo ACP consente l'orchestrazione degli agenti per qualsiasi architettura agentica, ma non gestisce i workflow, le distribuzioni o il coordinamento tra agenti. Invece, consente l'orchestrazione tra diversi agenti standardizzando il modo in cui comunicano. IBM Research ha creato BeeAI, un sistema open source progettato per gestire l'orchestrazione, la distribuzione e la condivisione degli agenti utilizzando il protocollo ACP come livello di comunicazione.
Con l'agentic AI continua a crescere, aumenta anche la complessità del capire come ottenere il miglior risultato da ogni tecnologia indipendente per il suo caso d'uso, senza essere vincolati a un particolare fornitore. Ogni framework, piattaforma e toolkit offre vantaggi unici, ma integrarli tutti in un unico sistema agentico è difficile.
Oggi, la maggior parte dei sistemi di agenti opera in silos. Sono basati su framework incompatibili, espongono API ed endpoint personalizzati e non dispongono di un protocollo comune per la comunicazione. La loro connessione richiede integrazioni fragili e non ripetibili che sono costose da realizzare.
Il protocollo ACP rappresenta un passaggio fondamentale, ovvero quello da un ecosistema frammentato e ad hoc a una rete interconnessa di agenti, ciascuno in grado di scoprire, comprendere e collaborare con gli altri, indipendentemente da chi li ha creati o dallo stack su cui sono eseguiti. Con il protocollo ACP, gli sviluppatori possono sfruttare l'intelligenza collettiva di diversi agenti per creare workflow più potenti di quelli che un singolo sistema può ottenere da solo.
Nonostante la rapida crescita della funzionalità degli agenti, l'integrazione nel mondo reale rimane un grosso collo di bottiglia. Senza un protocollo di comunicazione comune, le organizzazioni devono affrontare diverse sfide ricorrenti:
Per illustrare la necessità reale di comunicazione tra agenti, considera due organizzazioni:
Ora immagina che il sistema del produttore debba stimare i tempi di consegna per un ordine di attrezzatura personalizzata di grandi dimensioni per fornire un preventivo al cliente.
Senza protocollo ACP: questo approccio richiede la creazione di un'integrazione su misura tra il software di pianificazione del produttore e le API del fornitore di servizi logistici. Ciò implica la gestione manuale dell'autenticazione, delle discrepanze nei formati dei dati e della disponibilità dei servizi. Queste integrazione sono costose, fragili e difficili da scalare con l'aggiungersi di più partner.
Con il protocollo ACP: ogni organizzazione integra il proprio agente con un'interfaccia ACP. L'agente di produzione invia i dettagli dell'ordine e della destinazione all'agente logistico, che risponde con opzioni di spedizione in tempo reale ed ETA. Entrambi i sistemi realizzano una collaborazione agentica senza esporre componenti interni o scrivere integrazioni personalizzate. I nuovi partner logistici possono essere introdotti facilmente con l'implementazione del protocollo ACP. L'automazione fornita dagli agenti AI in combinazione con il protocollo ACP consente la scalabilità e la semplificazione degli scambi di dati.
La semplicità è un principio di progettazione fondamentale del protocollo ACP. L'integrazione di un agente con il protocollo ACP può essere eseguita in poche righe di codice. Utilizzando l'SDK Python, puoi definire un agente conforme al protocollo ACP semplicemente decorando una funzione.
Questa implementazione minima:
Esempio di codice:
from typing import Annotated
import os
from typing_extensions import TypedDict
from dotenv import load_dotenv
#ACP SDK
from acp_sdk.models import Message
from acp_sdk.models.models import MessagePart
from acp_sdk.server import RunYield, RunYieldResume, Server
from collections.abc import AsyncGenerator
#Langchain SDK
from langgraph.graph.message import add_messages
from langchain_anthropic import ChatAnthropic
load_dotenv()
class State(TypedDict):
messages: Annotated[list, add_messages]
#Set up the AI model of your choice
llm = ChatAnthropic(model="claude-3-5-sonnet-latest",
api_key=os.environ.get("ANTHROPIC_API_KEY"))
#------ACP Requirement-------#
#START SERVER
server = Server()
#WRAP AGENT IN DECORACTOR
@server.agent()
async def chatbot(messages: list[Message])-> AsyncGenerator[RunYield, RunYieldResume]:
"A simple chatbot enabled with memory"
#formats ACP Message format to be compatible with what langchain expects
query = " ".join(
part.content
for m in messages
for part in m.parts
)
#invokes llm
llm_response = llm.invoke(query)
#formats langchain response to ACP compatible output
assistant_message = Message(parts=[MessagePart(content=llm_response.content)])
# Yield so add_messages merges it into state
yield {"messages": [assistant_message]}
server.run()
#---------------------------#
Ora hai creato un agente completamente conforme allo standard ACP che è in grado di:
Per comprendere meglio il ruolo del protocollo ACP nell'ecosistema AI in evoluzione, è utile confrontarlo con altri protocolli emergenti. Questi protocolli non sono necessariamente concorrenti. Piuttosto, si rivolgono a diversi livelli dello stack di integrazione dei sistemi AI e spesso si completano a vicenda.
In sintesi:
Protocollo di contesto del modello (MCP): progettato per arricchire il contesto di un singolo modello con strumenti, memoria e risorse. Introdotto da Anthropic.
Focus: un modello, tanti strumenti
Protocollo di comunicazione degli agenti (ACP): progettato per la comunicazione tra agenti indipendenti attraverso sistemi e organizzazioni. Introdotto da BeeAI di IBM.
Focus: molti agenti, che lavorano in modo sicuro come colleghi, senza blocco da fornitore, con governance aperta
Protocollo Agent2Agent (A2A): progettato per la comunicazione tra agenti indipendenti tra sistemi e organizzazioni diversi. Introdotto da Google.
Focus: molti agenti, che lavorano come colleghi, ottimizzati per l'ecosistema di Google
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:
Anche il protocollo Agent2Agent (A2A) di Google, introdotto poco dopo l'ACP, mira a standardizzare la comunicazione tra agenti AI. Entrambi i protocolli condividono l'obiettivo di abilitare i sistemi multiagente, ma divergono nella filosofia e nella governance.
Principali differenze:
Il protocollo ACP è stato deliberatamente progettato per essere:
Entrambi i protocolli possono coesistere, in quanto ognuno di essi soddisfa esigenze diverse a seconda dell'ambiente. Il design leggero, aperto ed estensibile del protocollo ACP lo rende adatto per i sistemi decentralizzati e l'interoperabilità del mondo reale oltre i confini organizzativi. L'integrazione naturale dell'A2A potrebbe renderle quest'opzione più adatta per chi utilizza l'ecosistema Google.
Con l'evoluzione del protocollo ACP, vengono esplorate nuove possibilità per migliorare la comunicazione tra agenti. Ecco alcune aree chiave di interesse:
Il protocollo ACP è stato sviluppato con l'open source perché gli standard funzionano meglio quando vengono sviluppati direttamente con gli utenti. I contributi di sviluppatori, ricercatori e organizzazioni interessate al futuro dell'interoperabilità degli agenti AI sono i benvenuti. Contribuisci a dare forma a questo standard di gen AI in evoluzione.
Per ulteriori informazioni, visita il sito ufficiale del protocollo ACP e partecipa alla conversazione su GitHub e Discord.
Crea, implementa e gestisci assistenti e agenti AI potenti che automatizzano workflow e processi con l'AI generativa.
Costruisci il futuro della tua azienda con soluzioni AI di cui puoi fidarti.
I servizi di AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.