In questo tutorial, utilizzerai i protocolli di comunicazione degli agenti (ACP) per esplorare un workflow AI multipiattaforma e multiagente che dimostra la collaborazione degli agenti in tempo reale con BeeAI e crewAI. L'ACP funziona come un livello di messaggistica condiviso e uno standard aperto che consente agli agenti di diversi framework di comunicare e coordinarsi senza una logica di integrazione personalizzata.
L'ACP è particolarmente utile per gli ambienti di AI aziendali, in cui i team devono spesso creare agenti e workflow su piattaforme, strumenti e infrastrutture diversi. Fornendo un livello di messaggistica standardizzato, l'ACP consente una collaborazione tra agenti scalabile, sicura e modulare che soddisfa le esigenze dei moderni sistemi di AI aziendali.
Questo progetto dimostra l'interoperabilità degli agenti consentendo agli agenti basati su AI di collaborare tra silos di framework, combinando le capacità degli agenti come la ricerca, la generazione di contenuti e il feedback in un workflow unificato.
La maggior parte dei framework di agentic AI gestisce la comunicazione utilizzando sistemi personalizzati o chiusi. Questa architettura rende difficile connettere gli agenti tra toolchain, team o infrastrutture, soprattutto quando si combinano componenti di diversi sistemi di AI.
L'ACP introduce un formato di messaggistica standardizzato e indipendente dal framework per il modo in cui gli agenti autonomi inviano, ricevono e interpretano i messaggi. I messaggi sono strutturati, in genere in formato JSON, e contengono dei metadati per arricchire le interazioni degli agenti con chiarezza e coerenza.
Disaccoppiando la comunicazione dalla logica interna di un agente, l'ACP consente ai team di combinare agenti creati con diversi framework di agenti AI, come BeeAI, CrewAI, LangChain o LangGraph, senza richiedere un codice di integrazione personalizzato. Questo approccio aumenta la scalabilità, semplifica l'automazione e supporta la progettazione di un sistema modulare e trasparente in linea con i moderni standard di settore.
Al termine di questo tutorial, avrai visto un esempio pratico di ACP e avrai un'esperienza altrettanto pratica nell'utilizzo delle seguenti tecnologie:
Questo progetto dimostra un workflow multiagente che mostra come l'ACP (attraverso l'acp-sdk) possa semplificare la collaborazione coerente e osservabile attraverso gli ecosistemi agente.
Il workflow inizia quando l'utente fornisce un URL. Da lì, un sistema modulare e indipendente dal framework di agenti specializzati trasforma il contenuto della pagina web in un artefatto creativo (un brano originale), accompagnato da una critica in stile professionale. Tutti i componenti lavorano in concerto per combinare questi output in un unico report Markdown unificato leggibile dall'uomo. Il risultato finale rappresenta una trasformazione completa dei dati originali, che fonde la generazione creativa con l'insight.
Questo workflow illustra come l'ACP consenta a un sistema di agentic AI multiagente di coordinare la collaborazione tra agenti sviluppati con due framework distinti: BeeAI e crewAI, svolgendo il ruolo di livello di comunicazione condiviso in tutto il sistema.
Separando la comunicazione dall'implementazione, il sistema rimane modulare ed estensibile, in grado di orchestrare gli agenti attraverso i framework e producendo allo stesso tempo un output completo e coeso a partire da contenuti web non strutturati.
agenti ACP
Questo progetto utilizza quattro agenti AI specializzati:
Workflow del progetto di scrittura e critica di brani
Durante il workflow, i messaggi scambiati tra gli agenti sono strutturati come oggetti JSON arricchiti con metadati. Questi metadati guidano la comprensione di ciascun agente del contenuto del messaggio, del contesto e delle risposte previste.
Questo workflow dimostra un modello riutilizzabile applicabile a qualsiasi caso d'uso che richieda l'orchestrazione di pipeline di trasformazione dei dati e analisi multiagente.
L'ACP fornisce un sistema di messaggistica comune che consente agli agenti creati con framework diversi di scambiare informazioni in modo standardizzato. Questo protocollo aperto consente agli agenti di interoperare senza bisogno di integrazioni personalizzate o logica interna condivisa.
Il client ACP (
Panoramica del workflow del client ACP
La funzione
Ruoli chiave di
Esempio di utilizzo da parte del client:
Ecco i requisiti di sistema per eseguire questo progetto:
Prima di iniziare, ecco una rapida panoramica degli strumenti e dei servizi del provider di cui avrai bisogno.
L'elenco seguente copre i principali framework, piattaforme e API necessari per il workflow multiagente.
Nelle sezioni successive sono disponibili istruzioni dettagliate per l'installazione, la configurazione e l'uso di ogni strumento e provider in modo da poter configurare l'ambiente.
BeeAI e CrewAI sono entrambi progettati per funzionare con una varietà di provider di modelli linguistici, rendendoli flessibili per diversi ambienti e casi d'uso. In questo tutorial, OpenRouter è il provider LLM per l'agente BeeAI, mentre Ollama viene utilizzato localmente per gli agenti crewAI.
Entrambi i framework sono indipendenti dal fornitore, quindi è possibile passare ad altri servizi LLM aggiornando le impostazioni di configurazione. La configurazione può variare a seconda del provider LLM scelto. Inoltre, questo tutorial include una configurazione opzionale e preconfigurata per l'utilizzo di IBM watsonx.ai come provider alternativo basato sul cloud.
Può anche utilizzare il tuo provider e il tuo modello LLM preferiti; ma tieni presente che solo le configurazioni mostrate in questo tutorial sono state testate. Altri provider e modelli potrebbero richiedere configurazioni o regolazioni aggiuntive.
I seguenti requisiti sono validi per i tre provider supportati in questo progetto:
Avrai bisogno di una chiave API OpenRouter per utilizzare il server agente BeeAI preconfigurato con modelli linguistici basati su cloud.
Per utilizzare OpenRouter come provider LLM per l'agente BeeAI, segui questi passaggi:
Nota: il modello gratuito potrebbe essere diverso a seconda di quando viene eseguito questo tutorial. Per i modelli gratuiti, consulta l'elenco dei modelli del livello gratuito di OpenRouter.
Se prevedi di utilizzare Ollama come provider di LLM per l'agente crewAI, segui questi passaggi:
Per utilizzare IBM watsonx.ai come provider LLM per il server crewAI, segui questi passaggi:
IBM watsonx.ai viene utilizzato come provider LLM cloud opzionale per gli agenti CrewAI in questo tutorial.
AgentOps è un servizio opzionale per tracciare, monitorare e visualizzare i workflow multiagente.
Se desideri utilizzare AgentOps in questo progetto, segui questi passaggi:
AgentOps non è necessario per eseguire il workflow, ma può aiutarti a monitorare l'attività dell'agente ed eseguire il debug delle interazioni tra più agenti.
Per eseguire questo progetto, clona il repository GitHub utilizzando https://github.com/IBM/ibmdotcom-tutorials.git come URL HTTPS. Per i passaggi dettagliati su come clonare un repository, consulta la documentazione di GitHub.
Questo tutorial si trova nella directory dei progetti del repository.
All'interno di un terminale, vai alla directory di questo tutorial:
Questo progetto richiede l'esecuzione simultanea di tre script Python separati per ogni componente del sistema multiagente. Di conseguenza, dovrai aprire tre finestre o schede del terminale.
Inizia tenendo aperto il terminale attuale, poi apri altri due terminali e assicurati che tutti e tre siano indirizzati nelle directory corrette (come mostrato nel passaggio successivo).
Utilizzi un IDE?
Se utilizzi un IDE come Visual Studio Code*, puoi utilizzare la funzionalità di suddivisione del terminale per gestire più terminali fianco a fianco.
In caso contrario, apri tre finestre di terminale autonome e naviga su ciascuna fino alla sottodirectory corretta.
Navigazione nel terminale
Ogni terminale è responsabile di uno dei seguenti componenti:
Ogni componente viene eseguito nel proprio ambiente virtuale per garantire una gestione pulita delle dipendenze. Questo tutorial utilizza UV, un gestore di pacchetti Python basato su Rust, per gestire e sincronizzare gli ambienti.
Nota: assicurati che sia installato Python 3.11 o successivo prima di procedere.
Installa UV
Se non l’ha già fatto, installa UV usando Homebrew (consigliato per macOS e Linux):
Nota per gli utenti Windows: installare WSL (Windows Subsystems for Linux) e seguire le istruzioni Linux nel terminale WSL.
Creare e attivare un ambiente virtuale (in ogni terminale)
In ogni terminale (BeeAI, crewAI e ACP client), esegui il seguente codice:
Con questo passaggio crei e attivi un
Eseguire
Ora installa le dipendenze in ogni terminale utilizzando:
Questo passaggio installa le dipendenze elencate nel file
Con BeeAI installato, usa la CLI per avviare la piattaforma BeeAI in
Nota: alla prima esecuzione, questo passaggio potrebbe richiedere alcuni minuti.
Configura il tuo provider LLM (OpenRouter)
Eseguire il comando seguente per configurare il provider e il modello LLM tramite la CLI interattiva:
Segui i prompt per selezionare OpenRouter e inserisci la chiave API e i dettagli del modello.
Per confermare le impostazioni, utilizza:
Questo passaggio dovrebbe restituire l'output configurato
In alternativa, gli utenti avanzati possono modificare manualmente un file
Esempio .env per OpenRouter
Per verificare che BeeAI funzioni, invia un prompt di prova:
Una risposta valida conferma che la piattaforma è attiva.
Risoluzione dei problemi
Se necessario, è possibile aggiornare o riavviare la piattaforma:
Nella
Apri
Puoi anche personalizzare il tuo provider utilizzando la documentazione di configurazione LLM di crewAI.
Aggiorna il codice dell'agente crewAI
In
Assicurati che i nomi delle variabili d'ambiente nel file
Una volta configurati sia BeeAI che crewAI, avvia i server degli agenti nei rispettivi terminali.
Avvia il server dell'agente BeeAI
Nel terminal beeai_agent_server:
Dovresti vedere un output con la conferma che il server è stato avviato su
Il terminale dovrebbe registrare i ping di controllo dello stato di salute ogni due secondi. A
Avvia il server dell'agente crewAI
Nel terminal crewai_agent_server:
Dovresti vedere il server in esecuzione su
Conferma che tutti gli agenti sono in esecuzione
Gli agenti conformi ad ACP creati localmente vengono riconosciuti automaticamente da BeeAI. Utilizza la CLI di BeeAI per confermare che tutti gli agenti locali siano registrati e funzionanti (questo passaggio può essere eseguito in qualsiasi terminale libero):
Dovrebbero essere visualizzate le voci per:
Se sono tutti elencati e raggiungibili, possiamo confermare che questi agenti interagiscono correttamente!
Nel terminale dedicato al server acp-client (all'interno della directory
All'interno del terminale, ti verrà chiesto di inserire un URL. Questo input attiva il workflow multiagente.
Con tutti gli agenti e il client/server in esecuzione, è tutto pronto per avviare il progetto ACP!
Nota: gli output dei modelli linguistici di grandi dimensioni (LLM) sono probabilistici e possono variare ogni volta che si esegue il workflow, anche con lo stesso input.
In questo tutorial, hai collegato due diversi framework tramite un client/server ACP che ha esposto gli endpoint per consentire agli agenti AI di collaborare per generare e trasformare i dati. Separando la comunicazione dal comportamento degli agenti, ACP consente agli agenti creati con BeeAI, CrewAI, LangChain e altri framework di agenti di collaborare senza una logica di integrazione personalizzata. Questo approccio migliora la modularità, la scalabilità e l'interoperabilità.
ACP è un'iniziativa aperta guidata dalla necessità che gli agenti inviino, ricevano e interpretino i messaggi. I messaggi in ACP sono strutturati, in genere in formati come JSON, e arricchiti con metadati per garantire coerenza e chiarezza tra le interazioni degli agenti. Che tu stia utilizzando agenti basati su OpenAI, Anthropic o altri modelli AI, ACP fornisce un livello di messaggistica condiviso che supporta l'interoperabilità indipendente dal framework.
Seguendo il workflow, hai visto come gli agenti creativi e analitici possono collaborare in armonia, trasformando contenuti web non strutturati in un brano, una critica professionale e un report Markdown unificato. Questo approccio dimostra la potenza dell'ACP nel consentire sistemi AI multiagente senza interruzioni, scalabili e flessibili.
Una volta terminati gli esperimenti con il sistema, segui questi passaggi per arrestare correttamente tutti i componenti in esecuzione:
1. Arrestare ogni server in esecuzione
In ogni finestra del terminale, premi
Dovresti vedere un output come:
2. Se il server si blocca durante l'arresto
Se un server non risponde o si blocca all'arresto (ad esempio, è bloccato su
Trovare l'ID del processo (PID)
Esegui il comando seguente per individuare il processo del server:
Identifica il PID del processo che stai tentando di interrompere. Ad esempio:
Arresta il processo. Usa il PID per arrestarlo in modo forzato:
Se necessario, ripeti questa procedura per ogni server.
Questo è tutto! Hai gestito con successo un sistema multiagente multipiattaforma completo utilizzando ACP.
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.