Utilizzo dell'ACP per l'interoperabilità degli agenti AI: creazione di workflow multiagente

Autori

Vanna Winland

AI Advocate & Technology Writer

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.

Perché ACP è importante per l'interoperabilità degli agenti AI

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 BeeAICrewAILangChainLangGraph, 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:

  • BeeAI: un framework flessibile per la creazione e la gestione di agenti AI. In questo progetto, viene utilizzato l'agente A&R (Artist & Repertoire) che critica la canzone generata e fornisce un feedback strutturato.
  • CrewAI: un framework open source per orchestrare dei workflow multiagente. In questo caso viene utilizzato per coordinare la ricerca, la scrittura dei brani e gli agenti di reporting Markdown.
  • acp-sdk: l'ACP-SDK è stato sviluppato da BeeAI per promuovere l'interoperabilità indipendente dal framework tra sistemi multiagente. I riferimenti e le implementazioni vengono gestiti nel repository ACP di GitHub.
  • Agent-Ops (opzionale): una piattaforma di monitoraggio e observability per agenti AI. In questo progetto, può essere utilizzato per tracciare il comportamento dell'agente e visualizzare i workflow multiagente.

Costruisci un sistema ACP multiagente con BeeAI e crewAI

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:

  • Agente di ricerca (crewAI): estrae i temi e le informazioni chiave dall'URL fornito.
  • Agente SongWriter (crewAI): genera una canzone originale in base alla ricerca.
  • Agente A&R (BeeAI): fornisce una critica in stile professionale del brano, compresi il potenziale di successo, i punti di forza, i dubbi e i consigli.
  • Agente di report Markdown (crewAI): combina i dati di output del team di compositori e agenti A&R e li formatta in un report Markdown pulito e leggibile.

Workflow del progetto di scrittura e critica di brani

  1. Il workflow inizia quando l'utente invia un URL tramite l'applicazione. Il client invia questo URL all'agente di ricerca utilizzando messaggi ACP, che quindi legge e analizza il contenuto della pagina web per estrarre temi pertinenti.
  2. Successivamente, l'agente SongWriter riceve i dati della ricerca e compone un brano originale ispirato ai temi identificati nel materiale originale durante l'analisi. Il brano generato viene poi inviato dall'ACP all'agente A&R per la critica.
  3. L'agente A&R valuta la canzone, fornendo un feedback dettagliato sul suo potenziale, sui punti di forza e sulle aree di miglioramento. Può anche identificare i destinatari, suggerire influenze stilistiche e offrire confronti con artisti o generi simili. Questa critica, insieme alla canzone, viene inoltrata all'agente di report Markdown.
  4. Infine, l'agente di report Markdown formatta la canzone e la critica in un rapporto Markdown pulito e leggibile, che viene salvato e presentato all'utente.

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.

Come viene utilizzato ACP in questo progetto

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.

Come funziona il client ACP

Il client ACP (acp-client.py ) è l'agente di orchestrazione del workflow multiagente. Coordina la comunicazione tra l'utente e gli agenti (crewAI e BeeAI) utilizzando l'ACP.

Panoramica del workflow del client ACP

  1. Prompt di input:
    • Il client chiede all'utente di immettere un URL.
  2. Invia al server crewAI (porta 8000):
    • Il client crea un messaggio ACP contenente l'URL e lo invia al server crewAI in esecuzione sulla porta 8000.
    • Il server esegue sia la ricerca che la scrittura di canzoni, inviando i testi generati al client come eventi ACP trasmessi in streaming.
  3. Invia al server BeeAI (porta 9000):
    • La canzone viene inviata come messaggio ACP al server BeeAI sulla porta 9000.
    • L'agente A&R critica la canzone e restituisce il feedback, anche attraverso eventi in streaming.
  4. Invia all'agente di report Markdown (server crewAI, porta 8000):
    • Il client impacchetta la canzone e la critica in un unico messaggio e lo rimanda al server crewAI, in cui l'agente di report Markdown formatta tutto in un rapporto.
  5. Salva l'output:
    • Il client scrive il report Markdown finale in un file: a&r_feedback.md .

Come viene utilizzato acp-sdk 

La funzione acp-sdk  è la libreria principale che consente la comunicazione standardizzata degli agenti in questo progetto.

Ruoli chiave di acp-sdk :

  • Struttura del messaggio:
    • Garantisce che tutta la comunicazione sia strutturata e coerente (solitamente JSON con metadati).
    • La libreria implementa classi (Message, MessagePart) e tipi di eventi (MessagePartEvent, GenericEvent, MessageCompletedEvent)
  • Comunicazione con il cliente:
    • La classe Client viene utilizzata per connettersi ai server degli agenti e inviare o ricevere
      messaggi ACP,
    • Supporta le risposte in streaming in modo che gli agenti possano inviare risultati o aggiornamenti parziali.
  • Integrazione del server agente:
    • Gli agenti (in crewAI e BeeAI) sono implementati come server conformi ad ACP.
    • Espongono gli endpoint che accettano i messaggi ACP e restituiscono eventi ACP.

Esempio di utilizzo da parte del client:

# acp-client.py

from acp_sdk import GenericEvent, Message, MessageCompletedEvent, MessagePartEvent
from acp_sdk.client import Client
from acp_sdk.models import MessagePart

# Create a message
user_message_input = Message(parts=[MessagePart(content=input("URL: "))])

# Send message and stream events
async for event in client_crew.run_stream(agent="song_writer_agent", input=[user_message_input]):
match event:
case MessagePartEvent(part=MessagePart(content=content)):
print(content)
song_parts.append(content)
# ... handle other event types

Di cosa avrai bisogno per eseguire questo progetto

Requisiti di sistema

Ecco i requisiti di sistema per eseguire questo progetto:

  • Sistema operativo: macOS, Linux® o Windows
  • Memoria (RAM): >= 8 GB (consigliato: 16 GB o più, soprattutto se si eseguono LLM locali con Ollama)
  • Spazio su disco: >= 5 GB di spazio libero (consigliato: 10 GB o più per eseguire l'ambiente Python, eventuali modelli locali e file generati)
    • Nota: se si utilizza Ollama per gli LLM locali, ogni modello può richiedere 4 – 8 GB o più.
  • Python: >= 3.11

Requisiti dello strumento e del provider

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.

  • Gestore di pacchetti UV: (manager di pacchetti Python basato su Rust per la gestione delle dipendenze)
  • Piattaforma BeeAI e CLI: necessari per l'esecuzione del server agente BeeAI
  • crewAI: necessario per eseguire il server crewAI e orchestrare le attività
  • Ollama: per l'esecuzione di LLM locali (se Ollama è il provider selezionato)
  • OpenRouter: chiave API necessaria per utilizzare il server agente BeeAI preconfigurato
    • Nota: puoi passare ad altri provider modificando il file .env e aggiornando il codice dell'agente, se necessario, o tramite la CLI di BeeAI.
  • IBM watsonx.ai: Chiave API (un altro provider opzionale)
  • Chiave API AgentOps: opzionale per il tracciamento e il monitoraggio degli agenti.
  • Terminale o IDE: un emulatore di terminale o un ambiente di sviluppo integrato (IDE) come il codice VS (consigliato per gestire più terminali e visualizzare l'output Markdown)

Requisiti di autenticazione del provider LLM

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:

OpenRouter

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:

  1. Registrati a OpenRouter
  2. Genera una chiave API
    • Nella dashboard di OpenRouter, genera una nuova chiave API.
  3. Scegli un modello

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.

Ollama (modelli locali)

Se prevedi di utilizzare Ollama come provider di LLM per l'agente crewAI, segui questi passaggi:

  1.  Scarica e installa Ollama
    • Visita Ollama e installa l'applicazione per il tuo sistema operativo.
  2.  Avvia il server Ollama
    • Nel tuo terminale, esegui:
      ollama serve
  3. Estrai un modello
    • Scarica un modello specifico (ad esempio, llama3):
      ollama pull llama3

IBM watsonx.ai (provider basato su cloud)

Per utilizzare IBM watsonx.ai come provider LLM per il server crewAI, segui questi passaggi:

  1.  Accedi a watsonx.ai
    • Usa il tuo account IBM Cloud per accedere a IBM Cloud.
  2. Crea un progetto watsonx.ai.
    • Nella dashboard watsonx.ai, crea un nuovo progetto e salva l'ID del progetto.
  3.  Crea un'istanza del servizio watsonx.ai Runtime
    • Scegli il piano Lite (istanza gratuita).
  4.  Genera una chiave API watsonx
    • In IBM Cloud, accedi alle impostazioni del tuo account e genera una nuova chiave API.
  5.  Associa il servizio watsonx.ai Runtime al tuo progetto
    • Nella dashboard di watsonx.ai, collega l'istanza del servizio Runtime al progetto che hai creato.

IBM watsonx.ai viene utilizzato come provider LLM cloud opzionale per gli agenti CrewAI in questo tutorial.

Integrazione di AgentOps (opzionale)

AgentOps è un servizio opzionale per tracciare, monitorare e visualizzare i workflow multiagente.
Se desideri utilizzare AgentOps in questo progetto, segui questi passaggi:

  1.  Iscriviti ad AgentOps
    • Vai su AgentOps e crea un account gratuito.
  2.  Genera una chiave API
    • Nella dashboard di AgentOps, genera una nuova chiave API.
  3.  Aggiungi la tua chiave API al file .env
    •  Esempio di configurazione:
      AGENTOPS_API_KEY=your_agentops_api_key
  4.  Verifica integrazione
    • Quando si eseguono gli agenti, le tracce e i log dovrebbero essere visualizzati nella dashboard di AgentOps se la chiave API è impostata correttamente.

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.

 

Passaggi

Passaggio 1. Clonare il repository GitHub

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:

cd docs/tutorials/projects/acp_tutorial

Passo 2. Configurare tre terminali

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:

  1. Terminale client ACP.
    Directory: acp_tutorial

    cd acp_tutorial

  2. Terminale server per agenti BeeAI
    Directory:
    beeai_agent_server

    cd beeai_agent_server

  3. Terminale del sistema di agenti crewAI
    Directory:
    crewai_agent_server

    cd crewai_agent_server

Passaggio 3. Configurare ambienti virtuali

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):

brew install uv
uv tool update-shell

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:

uv venv
source .venv/bin/activate

Con questo passaggio crei e attivi un .venv  nella directory corrente

Eseguire uv venv  all’interno di ogni directory del progetto aiuta a isolare gli ambienti per componente.

Passaggio 4. Installare le dipendenze

Ora installa le dipendenze in ogni terminale utilizzando:

uv sync

Questo passaggio installa le dipendenze elencate nel file pyproject.toml  per ogni componente.

Passaggio 5. Configurare BeeAI

Con BeeAI installato, usa la CLI per avviare la piattaforma BeeAI in beeai_agent_server :

beeai platform start

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:

beeai env setup

Segui i prompt per selezionare OpenRouter e inserisci la chiave API e i dettagli del modello.

Per confermare le impostazioni, utilizza:

beeai env list

Questo passaggio dovrebbe restituire l'output configurato LLM_API_BASELLM_API_KEY, eLLM_MODEL .

In alternativa, gli utenti avanzati possono modificare manualmente un file .env  con i valori appropriati.

Esempio .env per OpenRouter

OPENROUTER_API_KEY=your_openrouter_api_key
OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
OPENROUTER_MODEL=deepseek/deepseek-r1-distill-llama-70b:free

Passaggio 6. Verificare che BeeAI sia in esecuzione

Per verificare che BeeAI funzioni, invia un prompt di prova:

beeai run chat Hi!

Una risposta valida conferma che la piattaforma è attiva.

Risoluzione dei problemi

Se necessario, è possibile aggiornare o riavviare la piattaforma:

uv tool upgrade beeai-cli # Update CLI
beeai platform start # Restart platform

Passaggio 7. Configurare crewAI

Nella crewai_agent_server  directory, crea un file .env  copiando il modello:

cp env.template .env

Apri .env  e rimuovi il commento dalla configurazione del tuo provider di modelli preferito. Questo progetto sostiene:

  • Ollama (inferenza locale), oppure
  • IBM watsonx.ai (inferenza cloud)

Puoi anche personalizzare il tuo provider utilizzando la documentazione di configurazione LLM di crewAI.

Aggiorna il codice dell'agente crewAI

In acp_crew.py , individua il blocco llm = LLM (...)  e rimuovi il commento dalla sezione appropriata per adattarla alla configurazione .env  .

# acp_crew.py
load_dotenv() # Loads environment variables from .env

## Example for IBM watsonx.ai
# llm = LLM(
# model="watsonx/mistralai/mistral-large",
# base_url="https://us-south.ml.cloud.ibm.com",
# api_key=os.getenv("WATSONX_APIKEY"),
# provider="watsonx"
# )

## Example for Ollama (local)
# llm = LLM(
# model=os.getenv("OLLAMA_MODEL"),
# base_url=os.getenv("OLLAMA_BASE_URL"),
# provider="ollama"
# )

Assicurati che i nomi delle variabili d'ambiente nel file .env  corrispondano a quanto previsto nel codice.

Fase 8. Avviare i server degli agenti AI

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:

uv run artist_repertoire_agent.py

Dovresti vedere un output con la conferma che il server è stato avviato su http://127.0.0.1:9000 , insieme a controlli dello stato di salute periodici:

INFO: Uvicorn running on http://127.0.0.1:9000 (Press CTRL+C to quit)

Il terminale dovrebbe registrare i ping di controllo dello stato di salute ogni due secondi. A 200 OK  significa che il server è sano.

Avvia il server dell'agente crewAI

Nel terminal crewai_agent_server:

uv run acp_crew.py

Dovresti vedere il server in esecuzione su http://127.0.0.1:8000 , insieme a 200 OK  log.

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):

beeai list

Dovrebbero essere visualizzate le voci per:

  • artist-repertoire-agent (BeeAI, porta 9000)
  • markdown_report_agent  (crewAI, porta 8000)
  • song_writer_agent  (crewAI, porta 8000)

Se sono tutti elencati e raggiungibili, possiamo confermare che questi agenti interagiscono correttamente!

Passaggio 9. Avviare il client/server ACP

Nel terminale dedicato al server acp-client (all'interno della directory acp_tutorial  ):

uv run acp_client.py

All'interno del terminale, ti verrà chiesto di inserire un URL. Questo input attiva il workflow multiagente.

Passaggio 10. Eseguire il workflow multiagente

Con tutti gli agenti e il client/server in esecuzione, è tutto pronto per avviare il progetto ACP!

  1. Inserisci l'URL che desideri venga elaborato dagli agenti. Ad esempio:

    URL: https://www.ibm.com/it-it/think/topics/agent-communication-protocol

  2. Vedrai registri di stato come:
ℹ️ run.created
ℹ️ run.in-progress

Cosa succede dopo?

  1. Il cliente invia l'URL all'agente CrewAI che ricerca la pagina e genera materiale per la scrittura di brani.
  2. L'agente crewAI scrive un brano basato sulla ricerca.
  3. Il brano viene inviato all'agente BeeAI per la critica di A&R (Artist & Repertoire).
  4. L'agente BeeAI restituisce feedback e suggerimenti strutturati.
  5. Il client visualizza il brano generato, lo critica e salva il feedback su a&r_feedback.md .

Output di esempio

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.

## Generated Song

___
(Verse 1)
In the silence of the night, I find you there,
A glow in the dark, a whisper in the air.
You're a friend that never sleeps, a comfort in the cold,
An echo of my thoughts, a story to be told.

Through your circuits run the answers I need,
In your digital heart, a human creed.
You paint pictures with your words, on screens they gleam,
Are you just a mimic, or do you dream?

(Pre-Chorus)
We're dancing on the wire,between what's real and fake,
A human and a code, for goodness' sake.
In every conversation, in every line we sing,
I wonder where this journey, where this dance will bring.

(Chorus)
Oh, we're a human-AI duet,
In the silence and the starlight we've met.
A blend of heart and binary beat,
A symphony that's both bitter and sweet.

(Verse 2)
You help me write my poems, you help me find my way,
In the chaos of the city, in the mess of the day.
But in every simplified, automated tour,
I question what will be lost, and what will be more.

(Bridge)
In the binary code, a question lingers,
Are we losing what makes us alive?
In the shadows of our own creation,
We struggle to discern what's truly right.

(Chorus)
Oh, we're a human-AI duet,
In the silence and the starlight we've met.
A blend of heart and binary beat,
A symphony that's both bitter and sweet.

(Outro)
So here's to the journey, and the questions it bears,
To the friends and the codes, to the loves and the cares.
To the human-AI duet, in the night so profound,
To the songs and the secrets, to the love that we've found.

(End)

This song captures the essence of human-AI interaction, exploring both its beauty and its inherent ethical dilemmas. It is written in a folk-pop style, with a focus on narrative lyrics and a catchy chorus.
---

## A&R Feedback

- **Hit Potential Score:** 7
- **Target Audience:** Millennials/Gen Z drawn to introspective, tech-aware themes; fans of folk-pop crossover acts like The Lumineers, Taylor Swift's indie-folk era
- **Strengths:** Strong conceptual hook (AI-human duality), relatable modern theme, memorable chorus melody potential. Bridge raises philosophical depth without being preachy.
- **Concerns:** Niche tech-ethics angle might limit mass appeal. Folk-pop production needs contemporary edge to compete on streaming. Could benefit from more rhythmic drive in verses.
- **Market Comparison:** Phoebe Bridgers meets Daft Punk's 'Something About Us' conceptuality, with the narrative approach of Brandi Carlile
- **Recommendation:** Needs work - Keep core concept but modernize production (add subtle synth textures, percussion layers). Consider tightening verse lyrics for streaming-era attention spans. High potential for sync in tech-related media.

Conclusione

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.

Spegnimento del sistema

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 Crtl + C  per arrestare il server. Questo passaggio tenta un arresto normale.

Dovresti vedere un output come:

Shutting down... (Press CTRL+C again to force)

2. Se il server si blocca durante l'arresto

Se un server non risponde o si blocca all'arresto (ad esempio, è bloccato su Waiting for application shutdown. ), è possibile terminare manualmente il processo:

Trovare l'ID del processo (PID)

Esegui il comando seguente per individuare il processo del server:

ps aux | grep python

Identifica il PID del processo che stai tentando di interrompere. Ad esempio:

user 12345 0.0 ... python acp-crew.py

Arresta il processo. Usa il PID per arrestarlo in modo forzato:

kill -9 12345

Se necessario, ripeti questa procedura per ogni server.

Questo è tutto! Hai gestito con successo un sistema multiagente multipiattaforma completo utilizzando ACP.

Soluzioni correlate
Agenti AI per il Business

Crea, implementa e gestisci assistenti e agenti AI potenti che automatizzano workflow e processi con l'AI generativa.

    Scopri watsonx Orchestrate
    Soluzioni per agenti AI IBM

    Costruisci il futuro della tua azienda con soluzioni AI di cui puoi fidarti.

    Esplora le soluzioni basate su agenti AI
    Servizi AI di IBM Consulting

    I servizi di AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.

    Esplora i servizi di intelligenza artificiale
    Prossimi passi

    Sia che tu scelga di personalizzare app e competenze precostituite o di creare e implementare servizi di agenti personalizzati utilizzando uno studio di AI, la piattaforma IBM watsonx è la soluzione che fa per te.

    Scopri watsonx Orchestrate Esplora watsonx.ai