Verwendung von ACP für die Interoperabilität von KI-Agenten: Erstellung von Multi-Agent-Workflows

Autoren

Vanna Winland

AI Advocate & Technology Writer

In diesem Tutorial verwenden Sie Agent Communication Protocols (ACP), um einen plattformübergreifenden KI-Workflow mit mehreren Agenten zu erkunden, der die Zusammenarbeit von Echtzeit-Agenten mit BeeAI und crewAI demonstriert. ACP fungiert als gemeinsame Messaging-Ebene mit offenem Standard, die es Agenten aus verschiedenen Frameworks ermöglicht, ohne benutzerdefinierte Integration zu kommunizieren und zu koordinieren.

ACP ist besonders wertvoll für KI-Umgebungen in Unternehmen, in denen Teams häufig Agenten und Workflows für verschiedene Plattformen, Tools und Infrastrukturen erstellen müssen. Durch die Bereitstellung einer standardisierten Messaging-Ebene ermöglicht ACP eine skalierbare, sichere und modulare Zusammenarbeit von Agenten, die den Anforderungen moderner KI-Unternehmenssysteme gerecht wird.

Dieses Projekt demonstriert die Interoperabilität von Agenten, indem es KI-gestützten Agenten ermöglicht, über Framework-Silos hinweg zusammenzuarbeiten und Agentenfunktionen wie Recherche, Inhaltserstellung und Feedback in einem einheitlichen Workflow zu kombinieren.

Warum ACP für die Interoperabilität von KI-Agenten wichtig ist

Die meisten agentischen KI Frameworks wickeln die Kommunikation über benutzerdefinierte oder geschlossene Systeme ab. Diese Architektur erschwert die Verbindung von Agenten über Toolchains, Teams oder Infrastrukturen hinweg, insbesondere wenn Komponenten aus verschiedenen KI-Systemen kombiniert werden.

ACP bietet ein standardisiertes, Framework-unabhängiges Nachrichtenformat, das bestimmt, wie autonome Agenten Nachrichten senden, empfangen und interpretieren. Die Nachrichten sind strukturiert, in der Regel in JSON, und enthalten Metadaten, um die Interaktion der Agenten mit Klarheit und Konstanz zu bereichern.

Durch die Entkopplung der Kommunikation von der internen Logik eines Agenten ermöglicht ACP den Teams, KI-Agenten, die mit verschiedenen Frameworks wie KI-Agent-Frameworks, BeeAI, crewAI, LangChain oder LangGraph erstellt wurden, zu kombinieren und zu integrieren, ohne dass benutzerdefinierter Integrationscode erforderlich ist. Dieser Ansatz erhöht die Skalierbarkeit, vereinfacht die Automatisierung und unterstützt ein modulares, transparentes Systemdesign, das modernen Branchenstandards entspricht.

Am Ende dieses Tutorials haben Sie ein praktisches Beispiel für ACP gesehen und praktische Erfahrung mit den folgenden Technologien erlangt:

  • BeeAI: Ein flexibles Agenten-Framework zum Erstellen und Verwalten von KI-Agenten. In diesem Projekt wird damit der A&R-Agent (Artist & Repertoire) ausgeführt, der den generierten Titel bewertet und strukturiertes Feedback gibt.
  • crewAI: Ein Open-Source-Framework für Orchestrierung von Multi-Agent-Workflows. In diesem Fall wird es verwendet, um die Recherche, das Songwriting und die Markdown-Berichterstattung zu koordinieren.
  • acp-sdk: Das ACP-SDK wurde von BeeAI entwickelt, um die Framework-unabhängige Interoperabilität über Multi-Agent-Systeme hinweg zu fördern. Referenzen und Implementierungen werden im ACP GitHub-Repository verwaltet.
  • Agent-Ops (Optional): Eine Überwachungs- und Observability-Plattform für KI-Agenten. In diesem Projekt kann es verwendet werden, um das Verhalten von Agenten zu verfolgen und Workflows mit mehreren Agenten zu visualisieren.

Erstellen Sie ein Multi-Agent-ACP-System mit BeeAI und crewAI

Dieses Projekt demonstriert einen Workflow, der zeigt, wie ACP (über das acp-sdk) die kohärente und beobachtbare Zusammenarbeit über Ökosysteme hinweg optimieren kann.

Der Workflow beginnt, wenn der Benutzer eine URL angibt. Anschließend verwandelt ein modulares, Framework-unabhängiges System spezialisierter Agenten den Inhalt der Webseite in ein kreatives Artefakt – ein Originallied – begleitet von professioneller Beurteilung. Alle Komponenten arbeiten zusammen, um diese Ausgaben in einem einzigen, einheitlichen, für Menschen lesbaren Markdown-Bericht zu kombinieren. Dieses Ergebnis stellt eine vollständige Transformation der Originaldaten dar, bei der kreative Generierung mit analytischen Erkenntnissen vereint wird.

Dieser Workflow veranschaulicht, wie ACP es einem agentischen Multi-Agent-KI-System ermöglicht, die Zusammenarbeit zwischen Agenten zu koordinieren, die mit zwei unterschiedlichen Frameworks entwickelt wurden (BeeAI und crewAI), indem es als gemeinsame Kommunikationsschicht im gesamten System dient.

Durch die Trennung von Kommunikation und Implementierung bleibt das System modular und erweiterbar. Es kann Agenten über Frameworks hinweg orchestrieren und gleichzeitig aus unstrukturierten Webinhalten zusammenhängende End-to-End-Ergebnisse erzeugen.

ACP-Agenten

Dieses Projekt verwendet vier spezialisierte KI-Agenten:

  • Research Agent (crewAI): Extrahiert Themen und wichtige Informationen aus der angegebenen URL.
  • SongWriter-Agent (crewAI): Erzeugt einen Originalsong auf der Grundlage der Recherche.
  • A&R-Agent (BeeAI): Bietet eine professionelle Beurteilung des Songs, einschließlich Hitpotenzial, Stärken, Bedenken und Empfehlungen.
  • Markdown-Report-Agent (crewAI): Kombiniert die Ausgabedaten der Songwriting-Crew und A&R-Agenten und formatiert sie in einen sauberen, lesbaren Markdown-Bericht.

Workflow für Songwriting und Beurteilung

  1. Der Workflow beginnt, wenn der Benutzer eine URL über die Anwendung absendet. Der Client sendet diese URL mithilfe von ACP-Nachrichten an den Research-Agent, der dann den Webseiteninhalt liest und analysiert, um relevante Themen zu extrahieren.
  2. Als nächstes erhält der SongWriter-Agent die Forschungsdaten und komponiert einen Originalsong, der von den Themen inspiriert ist, die im Quellmaterial während der Analyse identifiziert wurden. Der generierte Song wird dann von ACP zur Beurteilung an den A&R-Agenten gesendet.
  3. Der A&R-Agent bewertet den Text und gibt detailliertes Feedback zu Potenzial, Stärken und Verbesserungsmöglichkeiten. Er kann auch Zielgruppen identifizieren, stilistische Einflüsse vorschlagen und Vergleiche zu ähnlichen Künstlern oder Genres anbieten. Diese Beurteilung wird zusammen mit dem Titel an den Agenten für den Markdown-Bericht weitergeleitet.
  4. Schließlich formatiert der Markdown-Report-Agent das Musikstück und die Beurteilung in einen sauberen, lesbaren Markdown-Bericht, der gespeichert und dem Benutzer präsentiert wird.

Während des gesamten Workflows werden die zwischen den Agenten ausgetauschten Nachrichten als mit Metadaten angereicherte JSON-Objekte strukturiert. Diese Metadaten helfen jedem Agenten, den Inhalt der Nachricht, den Kontext und die erwarteten Antworten zu verstehen.

Dieser Workflow demonstriert ein wiederverwendbares Muster, das für jeden Anwendungsfall geeignet ist, der die Orchestrierung von Datenkonvertierungs- und Analysepipelines mit mehreren Agenten erfordert.

Wie ACP in diesem Projekt eingesetzt wird

ACP bietet ein gemeinsames Nachrichtensystem, mit dem Agenten, die mit verschiedenen Frameworks erstellt wurden, Informationen auf standardisierte Weise austauschen können. Dieses offene Protokoll ermöglicht es Agenten, ohne benutzerdefinierte Integration oder gemeinsame interne Logik zusammenzuarbeiten.

Funktionsweise des ACP-Clients

Der ACP-Client (acp-client.py ) ist der Orchestrator des Multi-Agent-Workflows. Er koordiniert die Kommunikation zwischen dem Benutzer und den Agenten (crewAI und BeeAI) mithilfe von ACP.

Übersicht über den ACP-Client-Workflow

  1. Eingabeaufforderung:
    • Der Client fordert den Benutzer auf, eine URL einzugeben.
  2. An den crewAI-Server senden (Port 8000):
    • Der Client erstellt eine ACP-Nachricht mit der URL und sendet sie an den crewAI-Server, der auf Port 8000 ausgeführt wird.
    • Der Server führt sowohl Recherchen als auch Songwriting durch und sendet die generierten Texte als gestreamte ACP-Ereignisse an den Client zurück.
  3. An BeeAI-Server senden (Port 9000):
    • Das Stück wird als ACP-Nachricht an den BeeAI-Server auf Port 9000 gesendet.
    • Der A&R-Agent beurteilt den Titel und gibt Feedback, auch über gestreamte Events.
  4. An Markdown Report Agent (crewAI-Server, Port 8000) senden:
    • Der Client verpackt das Musikstück und die Kritik in eine einzigen Nachricht und sendet diese an den crewAI-Server zurück, wo der Markdown-Berichtsagent alles in einen Bericht formatiert.
  5. Ausgabe speichern:
    • Der Client schreibt den endgültigen Markdown-Bericht in eine Datei: a&r_feedback.md .

Verwendung des acp-sdk

Das acp-sdk  ist die Kernbibliothek, die eine standardisierte Agentenkommunikation in diesem Projekt ermöglicht.

Schlüsselrollen von acp-sdk :

  • Nachrichtenstruktur:
    • Stellt sicher, dass die gesamte Kommunikation strukturiert und konstant ist (normalerweise JSON mit Metadaten).
    • Die Bibliothek implementiert Klassen (Message, MessagePart) und Ereignistypen (MessagePartEvent, GenericEvent, MessageCompletedEvent)
  • Client-Kommunikation:
    • Die Client-Klasse wird verwendet, um eine Verbindung mit Agent-Servern herzustellen und ACP-Nachrichten zu senden
      oder zu empfangen,
    • Unterstützt Streaming-Antworten, sodass Agenten Teilergebnisse oder Aktualisierungen senden können.
  • Agent-Server-Integration:
    • Agenten (in crewAI und BeeAI) werden als ACP-konforme Server implementiert.
    • Sie stellen Endgeräte bereit, die ACP-Nachrichten akzeptieren und ACP-Ereignisse zurückgeben.

Beispiel für eine Client-Nutzung:

# 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

Was Sie zum Ausführen dieses Projekts benötigen

Systemvoraussetzungen

Hier sind die Systemanforderungen zum Ausführen dieses Projekts:

  • Betriebssystem: macOS, Linux oder Windows
  • Arbeitsspeicher (RAM): >= 8 GB (empfohlen: 16 GB oder mehr, insbesondere bei der Ausführung lokaler LLMs mit Ollama)
  • Festplattenspeicher: >= 5 GB freier Speicherplatz (Empfohlen: 10 GB oder mehr für die Ausführung der Python-Umgebung, lokale Modelle und generierte Dateien)
    • Anmerkung: Wenn Sie Ollama für lokale LLMs verwenden, kann jedes Modell 4 bis 8 GB oder mehr benötigen.
  • Python: >= 3.11

Anforderungen an Tools und Anbieter

Bevor Sie beginnen, finden Sie hier einen kurzen Überblick über die Tools und Anbieterdienste, die Sie benötigen.

Die folgende Liste enthält die wichtigsten Frameworks, Plattformen und APIs, die für den Multi-Agent-Workflow erforderlich sind.

In den folgenden Abschnitten finden Sie Schritt-für-Schritt-Anleitungen für die Installation, Konfiguration und Verwendung der einzelnen Tools und Anbieter, damit Sie Ihre Umgebung einrichten können.

  • UV-Paketmanager: (Rust-basierter Python-Paketmanager für Abhängigkeitsmanagement)
  • BeeAI-Plattform und CLI: Erforderlich für die Ausführung des BeeAI-Agentenservers
  • crewAI: Erforderlich, um den crewAI-Server auszuführen und Aufgaben zu orchestrieren
  • Ollama: Zum Ausführen lokaler LLMs (wenn Ollama Ihr ausgewählter Anbieter ist)
  • OpenRouter: API-Schlüssel erforderlich, um vorkonfigurierten BeeAI-Agentenserver zu verwenden
    • Anmerkung: Sie können zu anderen Anbietern wechseln, indem Sie die .env-Datei bearbeiten und den Agent-Code bei Bedarf aktualisieren, oder über die BeeAI-CLI.
  • IBM watsonx.ai: API-Schlüssel (ein weiterer optionaler Anbieter)
  • AgentOps API-Schlüssel: Optional für die Verfolgung und Überwachung von Agenten.
  • Terminal oder IDE: Ein Terminal-Emulator oder eine integrierte Entwicklungsumgebung (IDE) wie VS-Code (empfohlen für die Verwaltung mehrerer Terminals und die Anzeige der Markdown-Ausgabe)

Anforderungen an die Authentifizierung von LLM-Anbietern

BeeAI und crewAI sind beide so konzipiert, dass sie mit einer Vielzahl von Sprachmodellanbietern zusammenarbeiten und so flexibel für unterschiedliche Umgebungen und Anwendungsfälle sein können. In diesem Tutorial istOpenRouter der LLM-Anbieter für den BeeAI-Agenten, während Ollama lokal für die crewAI-Agenten verwendet wird.

Beide Frameworks sind unabhängig vom Anbieter, sodass Sie durch Aktualisieren der Konfigurationseinstellungen zu anderen LLM-Services wechseln können. Ihre Einrichtung kann je nach gewähltem LLM-Anbieter variieren. Darüber hinaus enthält dieses Tutorial ein optionales, vorkonfiguriertes Setup für die Verwendung von IBM watsonx.ai als alternativen Cloud-Anbieter.

Sie können auch Ihren bevorzugten LLM-Anbieter und Ihr bevorzugtes Modell verwenden. beachten Sie jedoch, dass nur die in diesem Tutorial gezeigten Konfigurationen getestet wurden. Bei anderen Anbietern und Modellen sind möglicherweise zusätzliche Einrichtungs- oder Anpassungsmaßnahmen erforderlich.

Die folgenden Anforderungen gelten für die drei unterstützten Anbieter in diesem Projekt:

OpenRouter

Sie benötigen einen OpenRouter API-Schlüssel, um den vorkonfigurierten BeeAI-Agentenserver mit Cloud-Sprachmodellen verwenden zu können.

Führen Sie die folgenden Schritte aus, um OpenRouter als LLM-Anbieter für den BeeAI-Agenten zu verwenden:

  1. Melden Sie sich für OpenRouter an
    • Gehen Sie zu OpenRouter und erstellen Sie ein kostenloses Konto.
  2. Generieren Sie einen API-Schlüssel
    • Generieren Sie in Ihrem OpenRouter-Dashboard einen neuen API-Schlüssel.
  3. Modell wählen
    • Sehen Sie sich die Liste der OpenRouter-Modelle an und wählen Sie das Modell aus, das Sie verwenden möchten (z. B.deepseek/deepseek-r1-distill-llama-70b:free ).

Hinweis: Das kostenlose Modell kann je nachdem, wann dieses Tutorial ausgeführt wird, abweichen. Informationen zu kostenlosen Modellen finden Sie in der Liste der OpenRouter-Modelle mit kostenlosem Kontingent.

Ollama (lokale Modelle)

Wenn Sie Ollama als LLM-Anbieter für den crewAI-Agenten verwenden möchten, führen Sie die folgenden Schritte aus:

  1.  Laden Sie Olama herunter und installieren Sie es
    • Besuchen Sie Ollama und installieren Sie die Anwendung für Ihr Betriebssystem.
  2.  Starten Sie den Ollama-Server
    • Führen Sie in Ihrem Terminal aus:
      ollama serve
  3. Wählen Sie ein Modell
    • Laden Sie Ihr spezifisches Modell herunter (z. B. llama3):
      ollama pull llama3

IBM watsonx.ai (Cloud-basierter Anbieter)

Führen Sie die folgenden Schritte aus, um IBM watsonx.ai als LLM-Anbieter für den crewAI-Server zu verwenden:

  1.  Melden Sie sich bei watsonx.ai an
    • Verwenden Sie Ihr IBM Cloud-Konto, um sich bei IBM Cloud anzumelden.
  2. Erstellen Sie ein watsonx.ai Projekt
    • Erstellen Sie im watsonx.ai Dashboard ein neues Projekt und speichern Sie Ihre Projekt-ID.
  3.  Erstellen Sie eine Instanz eines watsonx.ai Runtime Services
    • Wählen Sie den Lite-Plan (kostenlose Instanz).
  4.  Generieren Sie einen watsonx API-Schlüssel
    • Gehen Sie in IBM Cloud zu Ihren Kontoeinstellungen und generieren Sie einen neuen API-Schlüssel.
  5.  Verknüpfen Sie den watsonx.ai Runtime Service mit Ihrem Projekt
    • Verknüpfen Sie im watsonx.ai-Dashboard die Runtime Service-Instanz mit dem von Ihnen erstellten Projekt.

IBM watsonx.ai wird in diesem Tutorial als optionaler Cloud-LLM-Anbieter für crewAI-Agenten verwendet.

AgentOps-Integration (optional)

AgentOps ist ein optionaler Service zur Verfolgung, Überwachung und Visualisierung Ihrer Multi-Agent-Workflows.
Wenn Sie AgentOps in diesem Projekt verwenden möchten, führen Sie die folgenden Schritte aus:

  1.  Melden Sie sich für AgentOps an
    • Gehen Sie zu AgentOps und erstellen Sie ein kostenloses Konto.
  2.  Generieren Sie einen API-Schlüssel
    • Generieren Sie in Ihrem AgentOps-Dashboard einen neuen API-Schlüssel.
  3.  Fügen Sie Ihren API-Schlüssel zu Ihrer .env-Datei hinzu
    •  Beispiel-Konfiguration:
      AGENTOPS_API_KEY=your_agentops_api_key
  4.  Überprüfen der Integration
    • Wenn Sie Ihre Agenten ausführen, sollten Traces und Protokolle in Ihrem AgentOps-Dashboard angezeigt werden, wenn der API-Schlüssel richtig gesetzt ist.

AgentOps ist für die Ausführung des Workflows nicht erforderlich, kann Ihnen aber bei der Überwachung von Agentenaktivitäten und dem Debugging von Multi-Agent-Interaktionen helfen.

 

Schritte

Schritt 1. Klonen des GitHub-Repository

Um dieses Projekt auszuführen, klonen Sie das GitHub-Repository, indem Sie https://github.com/IBM/ibmdotcom-tutorials.git als HTTPS-URL verwenden. Detaillierte Schritte zum Klonen eines Repository finden Sie in der GitHub-Dokumentation.

Dieses Tutorial finden Sie im Projektverzeichnis des Repos.

Navigieren Sie in einem Terminal zum Verzeichnis dieses Tutorials:

cd docs/tutorials/projects/acp_tutorial

Schritt 2. Einrichten von drei Terminals

Für dieses Projekt sind drei separate Python-Skripte erforderlich, die für jede Komponente des Multi-Agent-Systems gleichzeitig ausgeführt werden können. Sie müssen daher drei Terminalfenster oder Tabs öffnen.

Lassen Sie zunächst Ihr aktuelles Terminal geöffnet, öffnen Sie dann zwei weitere Terminals und stellen Sie sicher, dass alle drei in die richtigen Verzeichnisse navigiert sind (wie in den nächsten Schritten gezeigt).

Verwenden Sie ein IDE?

Wenn Sie ein IDE wie Visual Studio Code* verwenden, können Sie das Funktion Split Terminal verwenden, um mehrere Terminals nebeneinander zu verwalten.

Andernfalls öffnen Sie drei eigenständige Terminalfenster und navigieren jedes zum richtigen Unterverzeichnis.

Terminalnavigation

Jedes Terminal ist für eine der folgenden Komponenten zuständig:

  1. ACP-Client-Terminal.
    Verzeichnis: acp_tutorial

    cd acp_tutorial

  2. BeeAI-Agentenserver-Terminal
    Verzeichnis:
    beeai_agent_server

    cd beeai_agent_server

  3. crewAI Agentensystem-Terminal
    Verzeichnis:
    crewai_agent_server

    cd crewai_agent_server

Schritt 3. Einrichten virtueller Umgebungen

Jede Komponente wird in einer eigenen virtuellen Umgebung ausgeführt, um ein sauberes Abhängigkeitsmanagement zu gewährleisten. Dieses Tutorial verwendet UV, einen auf Rust basierenden Python-Paketmanager zum Verwalten und Synchronisieren von Umgebungen.

Hinweis: StellenSie sicher, dass Python 3.11 oder höher installiert ist, bevor Sie fortfahren.

UV installieren

Falls noch nicht geschehen, installieren Sie UV mit Homebrew (empfohlen für macOS und Linux):

brew install uv
uv tool update-shell

Hinweis für Windows-Benutzer: Installieren Sie WSL (Windows Subsystems for Linux) und folgen Sie den Linux-Anweisungen in Ihrem WSL-Terminal.

Erstellen und Aktivieren einer virtuellen Umgebung (in jedem Terminal)

Führen Sie in jedem Terminal (BeeAI, crewAI und ACP-Client) den folgenden Code aus:

uv venv
source .venv/bin/activate

Dieser Schritt erstellt und aktiviert eine .venv  im aktuellen Verzeichnis befinden

Die Ausführung uv venv  in jedem Projektverzeichnis hilft, Umgebungen pro Komponente zu isolieren.

Schritt 4. Installieren von Abhängigkeiten

Installieren Sie nun Abhängigkeiten in jedem Terminal, indem Sie Folgendes verwenden:

uv sync

In diesem Schritt werden die Abhängigkeiten installiert, die in der pyproject.toml  Datei für jede Komponente aufgeführt sind.

Schritt 5. Konfiguration von BeeAI

Wenn BeeAI installiert ist, verwenden Sie die CLI, um die BeeAI-Plattform im zu starten beeai_agent_server :

beeai platform start

Anmerkung: Bei der ersten Ausführung kann dieser Schritt einige Minuten dauern.

Richten Sie Ihren LLM-Anbieter ein (OpenRouter)

Führen Sie den folgenden Befehl aus, um den LLM-Anbieter und das Modell über die interaktive CLI zu konfigurieren:

beeai env setup

Folgen Sie den Anweisungen, um OpenRouter auszuwählen, und geben Sie Ihren API-Schlüssel und Ihre Modelldetails ein.

Um Ihre Einstellungen zu bestätigen, verwenden Sie:

beeai env list

Dieser Schritt sollte Ihre Konfiguration ausgeben LLM_API_BASELLM_API_KEY, undLLM_MODEL .

Alternativ können fortgeschrittene Benutzer auch manuell eine .env  Datei mit den entsprechenden Werten bearbeiten.

Beispiel .env für 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

Schritt 6. Vergewissern, dass BeeAI läuft

Um zu überprüfen, dass BeeAI funktioniert, senden Sie einen Testprompt:

beeai run chat Hi!

Eine gültige Antwort bestätigt, dass die Plattform aktiv ist.

Fehlerbehebung

Bei Bedarf können Sie die Plattform aktualisieren oder neu starten:

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

Schritt 7. Konfiguration von crewAI

Im crewai_agent_server  Verzeichnis erstellen Sie ein .env  Datei, indem Sie die Vorlage kopieren:

cp env.template .env

Offen .env  und entfernen Sie Ihre bevorzugte Modellanbieterkonfiguration. Dieses Projekt unterstützt entweder:

  • Ollama (lokale Inferenz), oder
  • IBM watsonx.ai (Cloud-Inferenz)

Sie können auch Ihren eigenen Anbieter anpassen, indem Sie die crewAI LLM-Konfigurationsdokumente verwenden.

crewAI-Agentencode aktualisieren

In acp_crew.py , lokalisieren Sie die llm = LLM (...)  blockieren und entfernen Sie den entsprechenden Abschnitt entsprechend Ihren Anforderungen.env  Konfiguration.

# 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"
# )

Stellen Sie sicher, dass die Namen der Umgebungsvariablen in Ihrem .env  Datei mit den Erwartungen im Code übereinstimmt.

Schritt 8. Starten des KI-Agent-Servers

Sobald sowohl BeeAI als auch crewAI konfiguriert sind, starten Sie die Agentenserver in ihren jeweiligen Terminals.

Starten Sie den BeeAI-Agentenserver

Im beeai_agent_server Terminal:

uv run artist_repertoire_agent.py

Sie sollten eine Ausgabe sehen, die bestätigt, dass der Server gestartet wurde http://127.0.0.1:9000 sowie regelmäßige Zustandsprüfungen:

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

Das Terminal sollte alle paar Sekunden Zustandsprüfungs-Pings protokollieren. Ein 200 OK  bedeutet, dass der Server in einwandfreiem Zustand ist.

Starten Sie den crewAI-Agentenserver

Im crewai_Agent_Server-Terminal:

uv run acp_crew.py

Sie sollten sehen, wie der Server läuft http://127.0.0.1:8000 , zusammen mit 200 OK  Protokolle.

Vergewissern Sie sich, dass alle Agenten ausgeführt werden

Lokal erstellte ACP-konforme Agenten werden von BeeAI automatisch erkannt. Verwenden Sie die BeeAI-CLI, um zu bestätigen, dass alle lokalen Agenten registriert und in einwandfreiem Zustand sind (dieser Schritt kann in jedem kostenlosen Terminal ausgeführt werden):

beeai list

Sie sollten Einträge für Folgendes sehen:

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

Wenn alle aufgeführt und erreichbar sind, können wir bestätigen, dass diese Agenten erfolgreich zusammengearbeitet haben!

Schritt 9. Starten des ACP-Client/Servers

Im Terminal, das dem acp-Client-Server zugewiesen ist (in acp_tutorial  Verzeichnis):

uv run acp_client.py

Im Terminal werden Sie dazu aufgefordert, eine URL einzugeben. Diese Eingabe löst den Multiagenten-Workflow aus.

Schritt 10. Ausführen des Multi-Agent-Workflows

Wenn alle Agenten und der Client/Server laufen, können Sie das ACP-Projekt starten!

  1. Geben Sie eine beliebige URL ein, die von den Agenten verarbeitet werden soll. Zum Beispiel:

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

  2. Sie sehen Statusprotokolle wie:
ℹ️ run.created
ℹ️ run.in-progress

Wie geht es weiter?

  1. Der Client sendet die URL an den crewAI-Agenten, der die Seite recherchiert und Songwriting-Material generiert.
  2. Der crewAI-Agent schreibt ein Musikstück, das auf den Recherchen basiert.
  3. Das Musikstück wird zur A&R-Bewertung (Artist & Repertoire) an den BeeAI-Agenten gesendet.
  4. Der BeeAI-Agent gibt strukturiertes Feedback und Vorschläge zurück.
  5. Der Client zeigt den generierten Titel und die Beurteilung an und speichert das Feedback a&r_feedback.md .

Beispielausgabe

Hinweis: Die Ausgaben von großen Sprachmodellen (LLMs) sind probabilistisch und können jedes Mal, wenn Sie den Workflow ausführen, variieren, selbst mit derselben Eingabe.

## 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.

Zusammenfassung

In diesem Tutorial haben Sie zwei verschiedene Frameworks über einen ACP-Client/Server verbunden, der Endpunkte für die Zusammenarbeit der KI-Agenten bei der Generierung und Transformation von Daten bereitstellt. Durch die Trennung der Kommunikation vom Agentenverhalten ermöglicht ACP es Agenten, die mit BeeAI, crewAI, LangChain und anderen Frameworks erstellt wurden, um ohne eine benutzerdefinierte Integration zusammenzuarbeiten. Dieser Ansatz verbessert die Modularität, Skalierung und Interoperabilität.

ACP ist eine offene Initiative, die von der Notwendigkeit geprägt ist, dass Agenten Nachrichten senden, empfangen und interpretieren können. Nachrichten in ACP sind strukturiert – in der Regel in Formaten wie JSON – und mit Metadaten angereichert, um Konstanz und Klarheit bei allen Agenteninteraktionen zu gewährleisten. Unabhängig davon, ob Sie Agenten verwenden, die auf OpenAI, Anthropic oder anderen KI-Modellen basieren, bietet ACP eine gemeinsame Messaging-Ebene, die Framework-unabhängige Interoperabilität unterstützt.

Wenn Sie diesem Workflow folgen, haben Sie gesehen, wie kreative und analytische Agenten harmonisch zusammenarbeiten können und unstrukturierte Webinhalte in einen Titel, professionelle Kritik sowie einen einheitlichen Markdown-Bericht verwandeln. Dieser Ansatz zeigt die Leistungsfähigkeit von ACP, nahtlose, flexible und skalierbare Multi-Agent-KI-Systeme zu ermöglichen.

Das System herunterfahren

Wenn Sie mit dem Experimentieren mit dem System fertig sind, führen Sie die folgenden Schritte aus, um alle laufenden Komponenten sauber herunterzufahren:

1. Stoppen Sie jeden laufenden Server

Drücken Sie in jedem Terminalfenster Crtl + C  um den Server zu stoppen. Bei diesem Schritt wird versucht, das System ordnungsgemäß herunterzufahren.

Sie sollten eine Ausgabe wie die folgende sehen:

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

2. Wenn der Server beim Herunterfahren hängt

Wenn ein Server nicht mehr reagiert oder beim Herunterfahren hängen bleibt (z. B. wenn er bei der Waiting for application shutdown. ), können Sie den Prozess manuell beenden:

Ermitteln Sie die Prozess-ID (PID).

Führen Sie den folgenden Befehl aus, um den Serverprozess zu finden:

ps aux | grep python

Identifizieren Sie die PID des Prozesses, den Sie stoppen möchten. Zum Beispiel:

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

Beenden Sie den Vorgang. Verwenden Sie die PID, um ihn zwangsweise zu stoppen:

kill -9 12345

Wiederholen Sie diesen Vorgang bei Bedarf für jeden Server.

Das war's! Sie haben mit ACP erfolgreich ein vollständiges plattformübergreifendes Multi-Agent-System ausgeführt.

Weiterführende Lösungen
KI-Agenten für Unternehmen

Entwickeln, implementieren und verwalten Sie leistungsstarke KI-Assistenten und -Agenten, die Workflows und Prozesse mit generativer KI automatisieren.

    Entdecken Sie watsonx Orchestrate
    IBM KI-Agenten-Lösungen

    Gestalten Sie die Zukunft Ihres Unternehmens mit KI-Lösungen, denen Sie vertrauen können.

    KI-Agenten-Lösungen erkunden
    IBM Consulting KI-Dienstleistungen

    Die KI-Services von IBM Consulting unterstützen Sie dabei, die Art und Weise, wie Unternehmen mit KI arbeiten, neu zu denken.

    Erkunden Sie die Services im Bereich der künstlichen Intelligenz
    Machen Sie den nächsten Schritt

    Ganz gleich, ob Sie vorgefertigte Apps und Skills anpassen oder mithilfe eines KI-Studios eigene Agentenservices erstellen und bereitstellen möchten, die IBM watsonx-Plattform bietet Ihnen alles, was Sie brauchen.

    Entdecken Sie watsonx Orchestrate watsonx.ai erkunden