In diesem Tutorial zeigen wir Ihnen, wie Sie mit dem ChatDev-Framework ein kollaboratives KI-System aufbauen können, und stellen Ihnen dessen rollenbasierte Agentenkommunikationsstruktur ChatChain vor. ChatDev verwendet KI-Agenten mit zugewiesenen Rollen, um ein virtuelles Softwareunternehmen zu simulieren. Jeder intelligente Agent arbeitet mit anderen über eine strukturierte Kommunikation zusammen und folgt dabei einem sequenziellen Workflow, der auf den Phasen des Softwareentwicklungslebenszyklus basiert.
Um diese Agenten zu unterstützen, haben wir IBM watsonx® integriert Programmierschnittstelle (API) als Modell-Backend verwenden. Wir nutzten eine Integration von watsonx.ai mit Hugging Face und konfigurierten das Framework so, dass es Llama-4-Maverick verwendet, um eine einfache Softwarelösung zu erstellen. Dieses Beispiel dient als Grundlage für die Erforschung von ChatChain und anderen internen Agentenkommunikationsmechanismen, die das Verhalten und die Entscheidungsfindung der Agenten während des gesamten Workflows steuern.
Am Ende dieses Tutorials sollten Sie praktische Erfahrung mit der Einrichtung und dem Betrieb von ChatDev haben und ein besseres Verständnis davon haben, wie Agenten-Kommunikationsprotokolle eine effektive und zuverlässige Zusammenarbeit zwischen mehreren Agenten ermöglichen.
Kollaborative KI: Künstliche Intelligenzsysteme, die dafür entwickelt wurden, mit Menschen oder KI-Agenten zusammenzuarbeiten, häufig unter Verwendung von Deep Learning oder anderen fortschrittlichen Techniken, um Zusammenarbeit, gemeinsame Entscheidungsfindung und gemeinsame Problemlösung zu ermöglichen und so gemeinsame Ziele zu erreichen.
Multiagenten-Kollaboration: Mehrere autonome Agenten, die Informationen teilen und koordinieren, um ein gemeinsames Ziel zu erreichen. Diese Agenten können unterschiedliche Kenntnisse, Funktionen und Perspektiven haben, und ihre Zusammenarbeit umfasst häufig Verhandlungen, Planung und koordinierte Maßnahmen.
Rollenspielende Agenten: KI-Agenten, die bestimmte Rollen oder Personas simulieren, um zielgerichtet zu interagieren und zusammenzuarbeiten. Diese Rollen können reale Berufe oder Charaktere widerspiegeln und so kontextbezogene und zielgerichtete Interaktionen ermöglichen.
Agenten-Kommunikationsprotokolle: Standards oder Frameworks, die festlegen, wie KI-Agenten durch den Austausch strukturierter Datennachrichten miteinander interagieren. Diese Protokolle kontrollieren das Format, die Semantik und die Regeln der Kommunikation für Agenten, die innerhalb von Multiagentensystemen koordiniert werden.
ChatDev ist eine rollenbasierte Implementierung von kollaborativer KI, bei der einzelne Agenten spezialisierte Rollen einnehmen, um auf ein gemeinsames Ziel hinzuarbeiten. Dieses Design spiegelt die Prinzipien der kollektiven Intelligenz, einer im Wesentlichen effektiven Zusammenarbeit, wider und positioniert ChatDev als wertvolle Ressource für das Studium und die Weiterentwicklung in diesem Bereich.
ChatDev ist ein Open-Source-Multiagent-Framework, das von OpenBMB entwickelt wurde, einer forschungsorientierten Initiative, die sich auf die Weiterentwicklung von KI-Tools und künstlicher allgemeiner Intelligenz (Artificial General Intelligence, AGI) konzentriert. Das Framework nutzt den Softwareentwicklungsprozess als praktischen Bereich für die Untersuchung kollaborativer KI-Agenten. Jeder Agent basiert auf einem großen Sprachmodell (Large Language Models, LLM) und wird aufgefordert, bestimmte Rollen wie CEO, CTO, Designer, Tester und Programmierer zu übernehmen.1
Ausgehend von einer kurzen, beschreibenden Benutzereingabe arbeiten diese Agenten zusammen, um iterativ ein komplettes Softwareprojekt zu entwerfen, zu implementieren und zu testen. Jeder Agent wird als Python-Klasse implementiert, die über strukturierte Prompts in natürlicher Sprache sequenziell kommuniziert. Diese Prompts folgen vordefinierten Vorlagen, die die Rolle des Bearbeiters, aufgabenspezifische Anweisungen und den relevanten Kontext aus früheren Interaktionen enthalten. Diese Vorlagenstrategie trägt dazu bei, Kontinuität und Kohärenz zu gewährleisten, indem die Rollenidentität und der gemeinsame Speicher in den Prompt selbst eingebettet werden.
Das Team von ChatDev spezialisierten Agenten arbeitet zusammen, um aus einer einzeiligen Benutzereingabe, die ihre Idee beschreibt, eine einfache Softwarelösung zu generieren.
Benutzereingabe: „Erstelle eine To-Do-Listen-App“ → CEO delegiert an CTO → CTO weist Entwickler zu → Entwickler schreibt Code → Tester validiert
Agenteninteraktionen werden durch ChatChain koordiniert, die benutzerdefinierte Koordinationslogik innerhalb des ChatDev-Frameworks. Die Kommunikation zwischen Agenten erfolgt über einen mehrrundigen Dialog oder ein Nachrichtenübermittlungssystem, bei dem Agenten nacheinander strukturierte JSON-Nachrichten austauschen. Diese Nachrichten stellen Ausgaben und Kontextaktualisierungen dar und fungieren als gemeinsamer Speicherpuffer, sodass Agenten in den verschiedenen Entwicklungsphasen auf den Ausgaben anderer Agenten aufbauen können.
Diese Architektur ermöglicht eine konsistente Kommunikation und kontextbezogene Zusammenarbeit, indem sie natürliche und Programmiersprachen kombiniert, um das Projekt durchgängig abzuschließen. Der Prozess basiert auf einer koordinierten Kommunikation mit mehreren Agenten, wobei interne Mechanismen als Protokolle dienen, um eine effektive KI-Agentenkommunikation für die Orchestrierung, um jede Phase abzuschließen.
Benutzer können den Workflow überwachen und Reviews durchführen, indem sie das Visualizer-Tool von ChatDev verwenden, eine Flask-basierte Weboberfläche, die sowohl Analysen nach dem Lauf als auch Echtzeitüberwachung unterstützt. Der Visualizer bietet mehrere Modi, darunter einen Log Viewer zur Überprüfung von Agenteninteraktionen in Echtzeit, einen Replay Viewer zur Visualisierung gespeicherter Multiagent-Konversationsprotokolle und einen ChatChain Viewer zur Untersuchung des Aufgabenkoordinierungsablaufs. Diese interaktive Schnittstelle ermöglicht es Benutzern, die Zusammenarbeit mit mehreren Agenten über eine strukturierte Umgebung über einen lokalen Browser zu debuggen, damit zu experimentieren und zu untersuchen.
Dieses Tutorial verwendet eine angepasste Version von ChatDev, die speziell für die IBM watsonx.ai API angepasst wurde. Der ChatDev-Kern unterstützt zwar mehrere Modellanbieter, diese Version wurde jedoch durch die Verwendung eines pragmatischen „Vibecoding“-Ansatzes modifiziert, sodass sie zwar funktionsfähig, aber nicht in allen Szenarien ausführlich getestet wurde.
Zu den wichtigsten Anpassungen gehören:
Verpackung der IBM watsonx.ai-API, um der erwarteten LLM-Schnittstelle von ChatDev zu entsprechen.
Anpassen der Promptvorlagen an die Token- und Formatierungsanforderungen der IBM watsonx.ai API
Änderung der Modellauswahllogik zur Unterstützung von IBM watsonx.ai als Modell-Backend-Option.
Diese Implementierung zeigt, wie ChatDev erweitert werden kann, um alternative LLM-Anbieter zu unterstützen. Andere Modellanbieter (z. B. OpenAI, Ollama) wurden nicht mit dieser angepassten Version von ChatDev getestet und würden Anpassungen auf Codeebene erfordern.
Wie bei vielen generativen KI-Workflows kann die Ausgabe zwischen den Durchläufen variieren. Während die Agenten in der Regel einen kohärenten, gut strukturierten Code und eine Dokumentation erstellen, müssen die daraus resultierenden Anwendungen möglicherweise manuell angepasst werden, um ihre volle Funktionalität zu gewährleisten. Faktoren wie das prompte Design, die Komplexität der Aufgaben und die inhärente Variabilität der LLM-Antworten tragen alle zu dieser Unvorhersehbarkeit bei.
Dieses Tutorial dient als praktische Einführung in kollaborative Multiagenten-Systeme und konzentriert sich darauf, wie Agenten innerhalb von ChatDev kommunizieren und koordinieren. Es ist nicht als fertige Lösung gedacht, sondern vielmehr als Grundlage für das Lernen, Experimentieren und Erkunden der LLM-gesteuerten Zusammenarbeit von Agenten. Wir danken den Forschern hinter ChatDev, die ihre Arbeit als Open-Source-Lösung zur Verfügung gestellt haben und diese Art der Erkundung ermöglicht haben.
Obwohl ChatDev plattformübergreifend konzipiert ist, können Benutzer bei der Einrichtung oder Ausführung auf plattformspezifische Probleme stoßen. Beispielsweise erfordert PowerShell unter Windows möglicherweise Anpassungen der Shell-Befehle, die für Unix-basierte Systeme vorgesehen sind. Variationen in Betriebssystemen, Python-Versionen und CPU-Architekturen können sich ebenfalls auf die Leistung oder das Verhalten auswirken. Um eine reibungslose Einrichtung und Benutzerfreundlichkeit zu gewährleisten, sollten Benutzer die offizielle ChatDev-Dokumentation und die Installationshandbücher zur Fehlerbehebung und umgebungsspezifischen Anweisungen lesen.
Vor diesem Hintergrund beginnen wir mit der Einrichtung der Umgebung für die Ausführung der Anwendung. Sie können diese Schritte in der Markdowndatei im Projektordner auf GitHub ausführen oder indem Sie der Anleitung hier folgen.
Erstellen Sie aus dem Projektverzeichnis des Tutorials eine virtuelle Umgebung mit Python 3.11:
Dadurch werden die Projektabhängigkeiten installiert.
Die Variable wird für die aktuelle Terminalsitzung festgelegt (durch Schließen des Terminals werden sie zurückgesetzt).
Obwohl in diesem Tutorial IBM watsonx.ai als Modell-Backend verwendet wird, wurde das zugrunde liegende Framework von ChatDev ursprünglich für die Unterstützung mehrerer LLM-Anbieter entwickelt, einschließlich eines Standardanbieters, OpenAI. Einige Teile der Codebasis (z. B. Modellauswahllogik oder gemeinsam genutzte Schnittstellen) verweisen immer noch auf
Optional können Sie den Visualizer von ChatDev ausführen, eine auf Flask basierende grafische Benutzeroberfläche, mit der Sie Agentenprotokolle in Echtzeit einsehen, den ChatChain-Workflow erkunden oder gespeicherte Agentendialoge erneut abspielen können. Dieses Tool ist nützlich, um Agenteninteraktionen zu debuggen, zu überwachen oder zu untersuchen, aber es ist nicht erforderlich, um den zentralen Multiagenten-Workflow von ChatDev auszuführen.
Um den Visualizer zu starten, installieren Sie zuerst Flask:
Führen Sie dann die App aus:
Öffnen Sie nach dem Ausführen einen Browser und gehen Sie zu:
Hinweis: Diese Tutorial verwendet eine Version von ChatDev, die für die Verwendung der IBM watsonx® API als Modell-Backend vorkonfiguriert ist. Für das korrekte Funktionieren des Tutorials sind keine zusätzlichen Einstellungen oder Änderungen an der Modellkonfiguration erforderlich. Die Änderung der LLM-Konfiguration ist zwar anpassbar, kann aber zu unvollständigen, falschen und unterschiedlichen Ausgaben führen.
ChatDev baut auf dem CAMEL-Framework auf, das Agentenrollen, Aufgaben und Interaktionen mit Sprachmodellen verwaltet. Die ursprüngliche Implementierung verwendet die OpenAI-API als Modell-Backend für die Anbindung an ChatGPT-Modelle wie GPT-4 und nutzt standardmäßig GPT-3.5-turbo. Das Open-Source-Projekt ist außerdem so konzipiert, dass es Modelle mehrerer LLM-Anbieter über eine einheitliche Modellschnittstelle unterstützt.
Überspringen Sie diesen Schritt, wenn Sie die standardmäßige IBM watsonx.ai-Konfiguration verwenden möchten. Für Experimente können Modelltyp, Parameter und Token-Grenzen an die Arbeit mit der IBM watsonx.ai API angepasst werden.
Um mit verschiedenen Modelltypen zu experimentieren, aktualisieren Sie die
Die Konfiguration der Modellparameter erfolgt unter
Die Konfiguration des Token-Limit für das Modell erfolgt unter
In diesem Schritt wird der Kern-Workflow von ChatDev ausgeführt. Wenn Sie dieses Skript ausführen, simulieren die Agenten einen kollaborativen Softwareentwicklungsprozess basierend auf Ihren Eingaben. Der generierte Code, die Dokumentation und die zugehörigen Artefakte werden im WareHouse-Verzeichnis des Projekts gespeichert. Mit dem Visualizer können Sie Protokolle überprüfen oder Unterhaltungen erneut abspielen.
Das Skript verwendet die folgenden Argumente:
Beispiel-Skript:
Hinweis: Obwohl die Architektur von ChatDev erweiterbar ist, funktioniert diese Tutorial-Version nur zuverlässig mit
Das endgültige Softwareprodukt wird im
Ein typisches Ergebnis könnte in etwa so aussehen:
Aufgrund der probabilistischen Natur von generativer KI kann die Ausgabe zwischen den Durchläufen variieren.
Dieses Verzeichnis enthält ein komplettes Softwareprojekt, das von KI-Agenten generiert wurde. Neben der Anwendung und der Dokumentation finden Sie Konfigurationsdateien, die Folgendes definieren:
Agentenrollen (RoleConfig.json)
Entwicklungsphasen (PhaseConfig.json)
Workflow für Agenten (ChatChainConfig.json)
Ein Dialogprotokoll, das im Visualizer von ChatDev repliziert werden kann
Befolgen Sie zum Ausführen der App die Anweisungen in der
Agenteninteroperabilität bezieht sich auf die Fähigkeit autonomer Agenten, ein gemeinsames Protokoll oder einen gemeinsamen Standard effektiv zu verstehen, zu kommunizieren und zusammenzuarbeiten. Diese Funktion ist unerlässlich für die aufgabenübergreifende Skalierung agentischer KI-Systeme, die Integration großer Datensätze und die kooperative Lösung komplexer Probleme.
Multiagent-Systeme verwenden häufig Agent Communication Protocols (ACPs), die Standards für die Agent-zu-Agent-Kommunikation bereitstellen und interne Kommunikationsmechanismen wie Agent Communication Languages (ACLs) wie KQML oder FIPA-ACL verwenden. Diese definieren standardmäßige „kommunikative Handlungen“ (z. B. informieren, anfordern, abfragen), um einen strukturierten Dialog und die Koordination in dynamischen Umgebungen zu ermöglichen.
ChatDev verfolgt jedoch einen anderen Ansatz. Die Interoperabilität der Agenten wird durch ChatChain erreicht, einen Kommunikationsmechanismus, der den Workflow für die Agentenkoordination strukturiert. ChatChain verwaltet einen rundenbasierten, synchronen Informationsfluss zwischen Agenten in allen Phasen des Softwareentwicklungsprozesses. Obwohl es nicht auf formalen ACLs basiert, ermöglicht ChatChain einen protokollähnlichen Austausch durch die Verwendung von LLM-optimierten Konventionen.
Die Agentenkommunikation von ChatDev basiert auf folgenden Faktoren:
Prompt-Vorlagen: Zu Beginn jeder Phase erhalten die teilnehmenden Agenten jeweils eine Eingabeaufforderung, die ihre Rolle, ihre aktuelle Aufgabe und den relevanten Gesprächsverlauf enthält. ChatDev verwendet Inception-Prompting, um diese Informationen direkt in die Eingabeaufforderung einzubetten, wodurch die Kohärenz und Zielausrichtung über alle Interaktionen hinweg gewährleistet wird.
Strukturierte Nachrichtenformate: Agenten kommunizieren über strukturierte JSON-Nachrichten, die Ausgaben und Kontextaktualisierungen kodieren. Dies ermöglicht einen konsistenten Datenaustausch und eine Rückverfolgbarkeit im gesamten Workflow.
Rollenkonditionierung: Jeder Agent wird mit einer Aufforderung initialisiert, die seine zugewiesene Rolle bekräftigt, einschließlich Verantwortlichkeiten, Zielen und verhaltensbezogenen Erwartungen – eine Schlüsselstrategie bei der kommunikativen Dehalluzination.
Zusammen bilden diese Mechanismen ein leichtgewichtiges, skalierbares Framework, das es ChatDev ermöglicht, gemeinsam Software aus einem einzigen Prompt zu generieren. Dies veranschaulicht, wie eine strukturierte LLM-basierte Zusammenarbeit traditionelle Multiagent-Workflows stimulieren kann.
ChatChain ist der zentrale Kommunikationsmechanismus in ChatDev und steuert die Abfolge der Agenteninteraktionen während des gesamten Softwareentwicklungs-Workflows. Es strukturiert die Zusammenarbeit in einen iterativen, kettenartigen Prozess, der aus verschiedenen Phasen mit jeweils spezifischen Zielen und Kommunikationsmustern besteht.
In jeder Phase initiiert ChatChain einen Dual-Agent-Dialog zwischen zwei rollenspezifischen Agenten (z. B. CEO und CTO, Programmierer und Prüfer). In der Regel fungiert einer als Ausbilder, der andere als Assistent. Dieser strukturierte, mehrstufige Austausch rationalisiert die gemeinsame Entscheidungsfindung und sorgt gleichzeitig für Klarheit in klar definierten Rollen und Verantwortlichkeiten. Die Prompts für jede Phase enthalten Aufgabenanweisungen, Rollenidentität und relevanten Kontext, um die Interaktion zu leiten.
Der gesamte Workflow von ChatDev folgt einem modifizierten Wasserfallmodell, einer traditionellen Methodik für die Softwareentwicklung, die Aufgaben in drei aufeinanderfolgende Phasen aufteilt: Design, Codierung und Testen. Die Codierung- und Testphasen sind weiter in Teilaufgaben unterteilt, die einen iterativen Entwicklungsprozess widerspiegeln.
Standardmäßig unterteilt ChatChain den Workflow in die folgenden geordneten, automatisierten Schritte:
Bedarfsanalyse: Definieren Sie die Struktur und die Schlüsselkomponenten der Anwendung.
Sprachauswahl: Entscheiden Sie, welche Programmiersprache zum Erstellen und Ausführen der Software verwendet werden soll.
Codierung: Agenten schreiben den Code, um die Anwendung zu erstellen.
CodeCompleteAll: Vervollständigen Sie den Code einschließlich fehlender Funktionen oder Klassen.
CodeReview: Überprüfen und ändern Sie den Code auf Funktionalität.
Test: Führen Sie die Software aus und ändern Sie den Code basierend auf dem Testbericht.
EnvironmentDoc: Dokumentation der Umgebung.
Handbuch: Dokumentieren und schreiben Sie ein Handbuch für die Anwendung.
Jede Phase wird durch ein Konfigurationsobjekt definiert, das Attribute angibt, die ihr Verhalten und ihre Eigenschaften definieren. Zum Beispiel, das
Um die ordnungsgemäße Kommunikation zwischen den Agenten zu fördern, verwendet ChatDev Inception Prompting als Strategie zur Initialisierung des Agenten vor jeder Teilaufgabenrunde. Inception Prompting ist eine Prompt-Engineering-Technik, mit der Rollen, Ziele und Verantwortlichkeiten für eine effektive Kommunikation der Agenten eingebettet werden können.
Schauen wir uns ein Beispiel dafür an, wie die Anfangsaufforderung zwei Agenten dazu anleitet, eine Teilaufgabe zu starten, daran zu arbeiten und abzuschließen.
Vor jeder Teilaufgabe erhält jeder Bearbeiter Eingabeaufforderungen als Parameter, die rollenspezifische Anweisungen, Merkmale, Verantwortlichkeiten und Ziele definieren. Zwei Beispiele sind
Hier sind die System-Prompts basierend auf den Agentenrollen für den Ausbilder- und Assistentenagenten in der LanguageChoose-Phase:
Diese beiden Prompt lösen das gewünschte Verhalten des Servicemitarbeiters aus, indem sie seine Rolle, sein Fachwissen und seine Verantwortlichkeiten beschreiben. Die Prompt-Strategie steuert auch das Verhalten und die Reaktionen der jeweiligen Rollen während der Interaktionen, indem sie maßgeschneiderte Anweisungen zur Erledigung der zugewiesenen Aufgabe gibt.
Die Kommunikation der Bearbeiter wird effektiv durch sorgfältige Prompt geleitet, um sicherzustellen, dass beide Rollen klare Erwartungen haben und effektiv zusammenarbeiten können.
Um mögliche Codierungshalluzinationen (unvollständige oder falsche Codegenerierung) zu beseitigen, verwendet ChatDev ein Kommunikationsmuster: die sogennante kommunikative Dehalluzination. Dieses Muster ist wichtig für die Strukturierung des Gesprächs während des Codeüberprüfungsprozesses.
Der Review-Prozess umfasst zwei Phasen.
In diesem Beispiel erkennt der Code Review Agent einen Fehler in der Ausgabe des Programmer Agent und kommuniziert ihn zusammen mit einem Vorschlag zur Korrektur des Problems im Quellcode. Der Programmieragent korrigiert dann seine ursprüngliche Ausgabe auf der Grundlage dieses Feedbacks.
Hier ist ein Teil der Ausgabe des Code-Review-Agenten während einer Iteration des
Der Programmieragent antwortet im Laufe des nächsten Schritts mit dem korrigierten Code
Der Code Prüfer und Programmierer verfeinern den Code entweder bis zu 10 Wiederholungen lang weiter oder bis nach zwei aufeinanderfolgenden, identischen Änderungsphasen ein Konsens erzielt wird.
Das Muster der Kommunikationsdehalluzination trägt dazu bei, dass der endgültige Code durch iterative Verfeinerung korrekt, vollständig und mit den beabsichtigten Anforderungen übereinstimmend ist, und erleichtert gleichzeitig die effektive Erledigung von Teilaufgaben.
In diesem Tutorial haben wir erkundet, wie ChatDev kollaborative KI ermöglicht, indem es ein virtuelles Softwareunternehmen simuliert, das aus rollenbasierten KI-Agenten besteht. Mit der IBM watsonx.ai API als Modell-Backend führt ChatDev Agenten durch den Softwareentwicklungszyklus, indem es strukturierte Kommunikation in natürlichen und Programmiersprachen nutzt, wobei die IBM watsonx® API und die KI verwendet werden.
Obwohl ChatDev kein formales Agenten-Kommunikationsprotokoll verwendet, erreicht es die Interoperabilität des Agenten durch die natürlichen Fähigkeiten des LLM mit Agenten-Kommunikationstechniken wie ChatChain, Inception Prompting und kommunikativer Dehalluzination. Dies unterstreicht die Bedeutung der Orchestrate einer effektiven Agentenkommunikation für eine erfolgreiche Zusammenarbeit und die Verbesserung der Ausgabequalität.
Mit integrierten Visualisierungstools zur Überwachung und Wiedergabe von Agenteninteraktionen bietet ChatDev eine leistungsstarke Plattform zur Untersuchung von Workflows und der Dynamik von Teamworks® . Es demonstriert das reale Potenzial kollaborativer KI in der Softwareerstellung und darüber hinaus.
Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.
Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.