Was ist ChatDev?

Autoren

Vanna Winland

AI Advocate & Technology Writer

Erika Russi

Data Scientist

IBM

Was ist ChatDev?

ChatDev ist ein Open-Source-Framework für Agenturen, das die Zusammenarbeit mehrerer Agenten durch ein organisiertes Team spezialisierter intelligenter Agenten implementiert, die auf Large Language Models(LLMs) basieren. Jeder KI-Agent ist so orchestriert, dass er an Aufgaben innerhalb der Kernphasen des Softwareentwicklungslebenszyklus mitarbeitet und so eigenständig eine Softwareanwendung generiert und produziert.

ChatDev simuliert ein virtuelles Softwareunternehmen, das durch verschiedene intelligente Agenten operiert, die unterschiedliche Rollen in der Umgebung des Unternehmens einnehmen. Diese Agenten bilden eine Multiagenten-Organisationsstruktur, in der sie zusammenarbeiten können, indem sie an funktionalen Seminaren teilnehmen, die zur Rationalisierung des Softwareentwicklungsprozesses beitragen. ChatDev wendet KI auf das weit verbreitete „Wasserfall“-Modell an, ein Lebenszyklusmodell der Softwareentwicklung, das den Entwicklungsprozess in Phasen aufteilt: Entwerfen, Codierung, Testen und Dokumentation. Spezialisierte Agenten arbeiten zusammen, um jede Phase abzuschließen.

Die Hauptziele von ChatDev sind es, ein anpassbares und skalierbares, agentisches LLM-Orchestrierungs-Framework anzubieten und als ideales Szenario für das Studium kollektiver Intelligenz zu dienen. Kollektive Intelligenz ist effektive Zusammenarbeit, das Phänomen, bei dem eine Gruppe bei einer komplexen Aufgabe eine bessere Leistung erbringen kann als ein Einzelner. Der weithin akzeptierte Ansatz zur kollektiven Intelligenz definiert Individuen als Wesen, die zielgerichtet und vernünftig handeln und sich an eine Umgebung anpassen können.1 In agentischen Frameworks wie ChatDev werden diese intelligenten Einheiten als Agenten bezeichnet.

Kollektive Intelligenz in Multiagentensystemen (MAS)

Zu den kollektiven Intelligenzanwendungen in KI und maschinellem Lernen gehören kollektive Intelligenzsysteme oder Frameworks, die als Multiagentensysteme (MAS) bezeichnet werden. Ein MAS kann als ein vernetztes Netz von Problemlösungseinheiten oder Agenten beschrieben werden, die zusammenarbeiten, um Probleme zu lösen, die die Funktionen oder das Wissen eines einzelnen Agenten übersteigen.2

KI-Tools wie Multiagentensysteme sind ein Ansatz für die Entwicklung von Collective Intelligence (COIN). COIN ist ein umfangreiches Multiagentensystem, das sich durch minimale bis gar keine zentralisierte Kommunikation oder Kontrolle auszeichnet. Es verfügt über eine Welt-Dienstprogramm-Funktion, die die potenziellen Historien des gesamten Systems bewertet.3 Der Bereich des MAS befasst sich mit den Interaktionen zwischen den Agenten innerhalb des Systems sowie mit der Zusammensetzung der einzelnen Agenten. Obwohl es verschiedene Möglichkeiten gibt, ein MAS zu entwerfen, bleibt das Kernziel dasselbe: eine globale Aufgabe durch die Aktionen seiner Komponenten zu erreichen.

Die neuesten KI-Trends, präsentiert von Experten

Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Kooperative Multiagenten-Interaktionen

Einer der schwierigsten Schritte bei der Gestaltung eines funktionalen MAS ist die Koordination der Agenten in einer Weise, die dazu beiträgt, dass sie bei der globalen Aufgabe zusammenarbeiten.4 Effektive Zusammenarbeit erfordert sowohl individuelle Fähigkeiten zur Aufgabenlösung als auch gut koordinierte Interaktionen zwischen den beteiligten Personen.5 Bei der Planung einer MAS-Umgebung sind folgende Überlegungen anzustellen:

  1. Die Einschränkungen, die die Aktivitäten der anderen Agenten an die Auswahl der Aktionen eines Agenten stellen
  2. Die Einschränkungen, die die Verpflichtungen eines Agenten gegenüber anderen auf die Wahl der Aktionen eines Agenten legen
  3. Die Unvorhersehbarkeit der Entwicklung, die durch andere, nicht modellierte Faktoren verursacht wird6

Eine Möglichkeit, diese gestalterische Herausforderung anzugehen, besteht darin, Teamarbeit explizit durch Multiagent-Zusammenarbeit zu modellieren.

Beim multikollaborativen Szenario wird eine komplexe Aufgabe zerlegt und die abstrahierten Aufgaben an Agenten delegiert, die diese entsprechend ihrer spezifischen Rollen ausführen.7 ChatDev verwendet beispielsweise ein Kommunikationsdesign mit zwei Agenten namens ChatChain, um die kooperative Kommunikation zu erleichtern.

KI-Agenten

5 Arten von KI-Agenten: Autonome Funktionen und Anwendungen in der echten Welt

Erfahren Sie, wie sich zielgerichtete und dienstprogrammbasierte KI an Workflows und komplexe Umgebungen anpassen kann.

Wie funktioniert ChatDev?

Frameworks wie ChatDev erweitern die Funktionalität von LLMs über ihre außergewöhnlichen Funktionen zur Verarbeitung natürlicher Sprache für die Textgenerierung hinaus. ChatDev positioniert LLMs als vielseitige Agenten durch seine Orchestrierungstechniken, die das Prompting und die Bewertung mehrerer kollaborativer Agenten mit verschiedenen sozialen Rollen beinhalten (z. B. Softwareentwickler, Chief Technology Officer, Chief Executive Officer, Designer, Tester).

Jeder Agent nutzt seine spezialisierte Rolle, um gemeinsam an den Kernphasen des Softwareentwicklungslebenszyklus zu arbeiten. Dieser Prozess umfasst eine umfassende Kommunikation zwischen Agenten in ihren speziellen Rollen, um Anforderungen durch natürliche Sprache zu verstehen und zu analysieren sowie Entwicklung und Debugging mithilfe von Programmiersprachen zu entwickeln. Die Phasen in der ChatChain haben je nach Rolle und Prompt der Agenten unterschiedliche Grade an Interaktion sowohl in natürlichen Sprachen als auch in Programmiersprachen auf.

Wie ChatDev seine autonomen KI-Agenten anweist

Die Agenten von ChatDev verwenden Rollenspiele und Eingabeaufforderungen als Anleitungen, um ihre Aufgaben zu erledigen. Inception Prompting ist eine dialogorientierte LLM-Methode mit automatischer Prompt, die es Agenten ermöglicht, sich gegenseitig durch Rollenspiele zur Lösung von Aufgaben aufzufordern.8

ChatDev wendet zu Beginn jeder Teilaufgabenphase Prompt Engineering an. Obwohl ChatChain gut darin ist, den Aufgabenlösungsprozess zu definieren, ist der einfache Austausch von Antworten durch Agenten ohne zusätzliche Eingabeaufforderung oder Leitplanken für eine aufgabenorientierte Kommunikation über mehrere Runden hinweg nicht effektiv. Um den Fortschritt der produktiven Kommunikation voranzutreiben und Herausforderungen wie Rollentausch, Wiederholung von Anweisungen und gefälschte Antworten zu vermeiden, verwendet ChatDev einen Inception-Prompting-Mechanismus.

Der Inception-Prompting-Mechanismus funktioniert so, dass die LLMs mit dem Prompt des Ausbilders und des Assistentensystems hypnotisiert werden, während sie instanziiert werden. LLM-Hypnose kann eine negative Konnotation haben (sie kann böswillig verwendet werden, um ein Modell zu manipulieren), aber in diesem Fall ist sie eine Möglichkeit, rollenspielende Agenten effektiv zu prompten. Im Prompt werden Aufgaben und Rollen festgelegt, um sicherzustellen, dass das LLM die Agenten anweist, wie sie ihre kollaborative Rolle erfüllen und die Anweisungen befolgen können.

Diese ersten Prompts für jede Rolle leiten die Agenten an, passende Antworten zu geben, ohne die Rollen zu wechseln. Die Prompts für beide Rollen im System sind nahezu identisch und beziehen sich auf den Überblick und die Ziele der aktuellen Teilaufgabe, die spezialisierten Rollen, die verfügbaren externen Tools, Kommunikationsprotokolle, Beendigungsbedingungen und Einschränkungen oder Anforderungen zur Verhinderung unerwünschter Verhaltensweisen.9 Dieser Mechanismus funktioniert wie eine LLM-Richtlinie, die die Qualität der Antworten verbessert und den Bedarf an menschlichem Eingreifen reduziert.

Wie KI-Agenten in ChatDev interagieren

Um eine reibungslose Kommunikation zwischen den Agenten zu gewährleisten, führt ChatDev einen agentenbasierten Workflow namens ChatChain ein, der jede Phase in überschaubare Teilaufgaben unterteilt. Dieser Prozess leitet die Mehrfachkommunikation zwischen verschiedenen Rollen, um Lösungen für jede Teilaufgabe vorzuschlagen und zu validieren. Agenten werden durch einen Mechanismus namens „kommunikative Dehalluzination” gesteuert, ein Kommunikationsmuster, das unerwartete Halluzinationen mildert. Mit diesem Mechanismus fordern Agenten detailliertere Informationen an, bevor sie direkt antworten und dann die nächste Phase der Kommunikation auf der Grundlage dieser Details fortfahren.10

ChatDev bietet einen browserbasierten Visualizer, mit dem die Interaktionen jedes einzelnen Agenten in seiner Rolle und Umgebung untersucht werden können. Diese Schnittstelle bietet Benutzern die Möglichkeit, das Design des Multiagentensystems selbst zu untersuchen. Benutzer können die künstliche Kooperationsstruktur anzeigen, die es den Agenten ermöglicht, zusammenzuarbeiten, um eine globale Aufgabe zu erfüllen, die über ihre individuellen Fähigkeiten hinausgeht.

ChatChain

ChatChain folgt einem Dual-Agent-Kommunikationsdesign, das den Aufgabenlösungsprozess entlang des Agenten-Workflows vereinfacht. Das agentische Designmuster beginnt mit der Segmentierung des Softwareentwicklungsprozesses in drei aufeinanderfolgende Phasen: Design, Codierung und Testen. Die Codierungs- und Testphasen sind weiter in Teilaufgaben unterteilt: Schreiben und Vervollständigen von Code sowie Codeüberprüfung (statische Tests) und Systemtests (dynamische Tests).

Jede Kommunikationsphase innerhalb einer ChatChain besteht aus einem Instructor Agent und einem Assistant Agent. In jeder Teilaufgabe erfüllen zwei Agenten mit unterschiedlichen spezialisierten Rollen (z. B. ein Prüfer und ein GUI-Designprogrammierer) die Funktionen eines Ausbilders und eines Assistenten. Der Instructor Agent leitet den Diskurs zur Erledigung einer Aufgabe an, während der Assistant Agent diese Anweisungen empfängt und befolgt und mit geeigneten Lösungen antwortet.11 Die Agenten führen einen Dialog mit mehreren Durchläufen, bis die Aufgabe abgeschlossen ist oder ein Konsens erreicht ist. Die aus der Kommunikationsphase extrahierten Lösungen reichen von Text (z. B. eine Beschreibung der gewünschten Funktionalität der Anwendung) bis zu Code (z. B. der ursprüngliche Quellcode).

Dieser agentische Workflow vereinfacht die Kommunikation, indem er komplizierte Multiagententopologien vermeidet und den Konsensprozess effektiv rationalisiert.12 Dieser Approach sorgt für einen fließenden Übergang zwischen den Teilaufgaben, da Lösungen aus früheren Aufgaben als Brücken zur nächsten Phase dienen. Dieser Workflow wird fortgeführt, bis alle Teilaufgaben abgeschlossen sind, und begleitet die Mitarbeiter auf diesem Weg. Die kettenartige Struktur des Workflows verknüpft Teilaufgaben in natürlicher Sprache und in Programmiersprachen und leitet die Mitarbeiter durch das, was sie kommunizieren sollen. ChatChain ist eine Lösung für das schwierigste Problem des MAS-Designs, die agentische Zusammenarbeit.

Mit den Standardeinstellungen produziert die ChatChain Software in der folgenden Reihenfolge:

  • Bedarfsanalyse: Entscheiden Sie sich für den gesamten Methodenprozess für die 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/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.

Kommunikative Dehalluzination

LLM-Halluzinationen treten auf, wenn Modelle ungenaue oder unsinnige Ausgaben liefern. Codierungshalluzinationen sind eine Art von Halluzination, die die Ausgaben von Modellen beeinflusst, die programmbezogene Aufgaben ausführen. Die Forscher von ChatDev haben herausgefunden, dass Halluzinationen häufig auftreten, wenn der Agent, der die Assistentenfunktion ausführt, Schwierigkeiten hat, genaue Anweisungen zu befolgen.13 Assistenten haben Schwierigkeiten, Anweisungen zu befolgen, in der Regel aufgrund von Ungenauigkeiten, die mehrere Folgeinteraktionen und Anpassungen erfordern. Um unerwünschte Outputs zu vermeiden, führt ChatDev die kommunikative Dehalluzination ein.

Die kommunikative Dehalluzination fordert den Assistenten auf, aktiv detailliertere Vorschläge vom Ausbilder anzufordern, bevor er eine formelle Antwort gibt.14 Assistenten übernehmen eine Rolle, die einem Ausbilder ähnelt, und suchen proaktiv nach weiteren Informationen (z. B. nach den genauen Namen externer Abhängigkeiten oder nach dem GitHub-Repository, auf das Änderungen übertragen werden sollen). Sie übernehmen einen bewussten „Rollentausch“, bevor sie eine Antwort geben. Der Assistent führt eine präzise Optimierung durch, nachdem der Ausbilder mit Änderungen reagiert hat. Das Kommunikationsmuster weist die Agenten an, wie sie kommunizieren sollen, ermöglicht einen detaillierten Informationsaustausch und reduziert gleichzeitig Halluzinationen.

Visualizer

Der Visualizer von ChatDev ist eine Python-App, die eine lokale Web-Demo ausführt, in der Benutzer Echtzeitprotokolle, wiedergegebene Protokolle und ChatChain anzeigen können. Die App enthält drei separate Protokollanzeigen für jeden Bereich.

  • Log Visualizer: Ein Echtzeitprotokoll, das die Dialoginformationen des Agenten, Umgebungsänderungen und andere Systeminformationen druckt, die für das Debuggen nützlich sind.
  • Replay Visualizer: Dabei werden die Dialoginformationen des Agenten ausgegeben.
  • ChatChain Visualizer: Benutzer können jede ChatChain-Konfigurationsdatei hochladen und die Agentic-Workflow-Kette für alle aktuellen oder früheren Softwareprojekte einsehen. Diese Funktion bietet Benutzern einen transparenten Überblick über den gesamten Softwareentwicklungsprozess, um jede Teilaufgabenlösung zu untersuchen und mögliche Ineffizienzen zu identifizieren.

Der Visualizer enthält auch eine Chat-Erneut-abspielen-Seite, die Dialoge in natürlichen Sprachen zwischen Agenten für eine bestimmte generierte Anwendung anzeigt.

LLM-Integration von ChatDev

Das Konzept des agentischen Entwurfsmusters von ChatDev ist wie eine Mischung aus maschinellen Lerntechniken von Experten, mit dem Unterschied, dass es sich bei den KI-Agenten um spezialisierte Experten handelt, die komplexe Aufgaben bewältigen. Orchestrierungssysteme sind erforderlich, um die Zusammenarbeit zwischen verschiedenen spezialisierten Agenten zu koordinieren.

Die Grundlage solcher Orchestrierungen sind vortrainierte Transformer-Modelle wie die GPT-Modelle von OpenAI.15 Foundation Modelle wie die Granite Serie von IBM können auch verwendet werden, um Agenten mit robusten Sprachfähigkeiten zu versehen und ihnen spezielle Funktionen zu gewähren. Beispielsweise ist Granite Code eine Modellfamilie mit einer Parametergröße von 3B bis 34B und wurde in 116 Programmiersprachen trainiert. Dieses Angebot ist für Agenten-Frameworks von Vorteil, die den Einsatz kommunikativer Agenten für die Softwareentwicklung planen. Zum Zeitpunkt der Erstellung dieses Artikels unterstützt ChatDev die GPT-3.5-turbo- und GPT-4-Modelle von OpenAI, um seine intelligenten Agenten zu unterstützen.

Wie ChatDev skaliert wird

ChatDev implementiert eine Möglichkeit zum skalieren der LLM-basierten Multiagenten-Kollaboration mit Multiagent Collaboration Networks (MacNet). MacNet ist inspiriert vom Gesetz der neuronalen Skalierung, das darauf hindeutet, dass eine Zunahme von Neuronen zu emergenten Fähigkeiten führt.16 ChatDev schlägt ein ähnliches Prinzip vor, das für die Erhöhung der Anzahl von Agenten in der Zusammenarbeit mit mehreren Agenten gilt.

MacNet verwendet azyklische Graphen, um Agenten zu strukturieren und ihr interaktives Denken durch topologische Ordnung zu verbessern. Aus den Interaktionen der Agenten werden Lösungen abgeleitet. Dieser Prozess übertrifft Basismodelle durchweg und ermöglicht eine effiziente Zusammenarbeit zwischen Agenten über verschiedene Netzwerktopologien hinweg sowie die Kooperation zwischen mehr als tausend Agenten. Mithilfe dieser Anwendung hat ChatDev ein kollaboratives Skalierungsgesetz identifiziert, das zeigt, dass sich die Qualität der Lösungen mit steigender Anzahl von Agenten in einem logistischen Wachstumsmuster verbessert.

Multiagentensysteme für die Softwareentwicklung

Anstatt zu versuchen, alle Funktionen in einem einzigen Modell zusammenzufassen, verteilen Multiagentensysteme die Aufgaben auf mehrere spezialisierte Agenten. Agenten können das gleiche Sprachmodell oder unterschiedliche verwenden, was ihnen das Potenzial bietet, eine Vielzahl von Aufgaben zu erfüllen.

ChatDev hat in einer vielfach eingesetzten Forschungsarbeit eine Bewertung vorgenommen, in der die Leistung seiner selbst und zweier anderer LLM-basierter Softwareentwicklungs-Orchestrierungs-Frameworks, GPT-Engineer und MetaGPT, verglichen wird. Die Metriken basierten auf Vollständigkeit, Durchführbarkeit, Konsistenz und Qualität. ChatDev und MetaGPT übertrafen GPT-Engineer, einen Orchestrierungsansatz mit nur einem Agenten, und zeigten, dass komplexe Aufgaben in einer einstufigen Lösung schwieriger zu lösen sind. Diese Ergebnisse deuten darauf hin, dass die Aufteilung komplexer Aufgaben in leichter zu bewältigende Teilaufgaben die Effektivität der Aufgabenerledigung verbessert.

ChatDev übertraf MetaGPT in Bezug auf die Metriken deutlich, da die Agenten kooperative Kommunikationsverfahren nutzten, bei denen sowohl natürliche als auch Programmiersprachen verwendet wurden. Agenten, die in der Lage sind, effizient zu kommunizieren, waren in der Lage, jede Teilaufgabe bis zum Abschluss zu führen und die Einschränkungen zu überwinden, die normalerweise mit manuell festgelegten Optimierungsregeln verbunden sind.17 Dieses Ergebnis deutet darauf hin, dass Multiagenten-Frameworks, die kommunikative und kollaborative Agenten verwenden, vielseitigere und anpassungsfähigere Funktionen bieten.

Andere Multi-Agent-Frameworks

GPT-Engineer ist ein Single-Agent-Orchestrierungs-Framework für die Entwicklung von Softwareanwendungen. Der Benutzer fordert die KI auf, eine Anwendung mit der gewünschten Softwarefunktionalität zu erstellen, und kann mit dem System hin und her kommunizieren, um Verbesserungen oder Aktualisierungen vorzunehmen.18 Benutzer können ihre eigenen Agentenimplementierungen mit gängigen Datensätzen vergleichen, und zwar über „Bench“, eine im System installierte Binärdatei, die eine einfache Benchmarking-Schnittstelle enthält.

MetaGPT – Ein Multiagenten-Framework, das als kollaborative Software-Einheit fungiert und GPT-Modellen verschiedene Rollenspielagenten zuweist, um komplexe Aufgaben zu erledigen. Wie bei ChatDev übernehmen Agenten verschiedene Rollen in einer virtuellen Umgebung, die einer Softwarefirma ähnelt. MetaGPT verwendet außerdem sorgfältig orchestrierte SOPs (Standardarbeitsverfahren) zur Erstellung von Software.

crewAIcrewAI ist ein Open-Source-Multiagenten-Framework, das auf LangChain operiert. Es unterteilt autonome KI-Agenten in Teams, die Workflows und Aufgaben im Zusammenhang mit LLM-Anwendungen bearbeiten. CrewAI lässt sich in jedes LLM integrieren.

AutoGen – Das Open-Source-Framework für Multiagentengespräche von Microsoft bietet eine erweiterte Abstraktion von Foundation Models. AutoGen ist ein agentenbasiertes Framework, in dem mehrere Agenten miteinander interagieren und Aufgaben erledigen. Zu den Hauptmerkmalen gehören anpassbare KI-Agenten, die mit anpassbaren Mustern an Multiagentendialogen teilnehmen und so die Erstellung vielfältiger LLM-Anwendungen ermöglichen.

Weiterführende Lösungen
Entwicklung von IBM KI-Agenten 

Ermöglichen Sie Entwicklern die Erstellung, Bereitstellung und Überwachung von KI-Agenten mit dem IBM watsonx.ai Studio.

 

watsonx.ai erkunden
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
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