AGI
MetaGPT: Kompletter Leitfaden zum besten verfügbaren KI-Agenten

Mit Large Language Models (LLMs) wie ChatGPT hat OpenAI eine Zunahme bei der Unternehmens- und Benutzeradoption erlebt und erwirtschaftet derzeit etwa 80 Millionen US-Dollar an monatlichen Umsätzen. Laut einem aktuellen Bericht von The Information ist das in San Francisco ansässige Unternehmen angeblich auf dem Weg, einen Jahresumsatz von 1 Milliarde US-Dollar zu erreichen.
Beim letzten Mal, als wir uns mit AutoGPT und GPT-Engineering befasst haben, wurden die ersten Mainstream-Open-Source-LLM-basierten KI-Agents vorgestellt, die zur Automatisierung komplexer Aufgaben konzipiert wurden. Obwohl diese Systeme vielversprechend sind, haben sie ihre eigenen Probleme: inkonsistente Ergebnisse, Leistungsengpässe und Einschränkungen bei der Bewältigung vielschichtiger Anforderungen. Sie zeigen Geschick in der Code-Generierung, aber ihre Fähigkeiten hören oft dort auf. Sie verfügen nicht über kritische Projektmanagement-Funktionen wie PRD-Generierung, technische Design-Generierung und API-Schnittstellen-Prototyping.
Treten Sie in MetaGPT ein — ein Multi-Agenten-System, das Large Language-Modelle von Sirui Hong verwendet und Standardisierte Betriebsverfahren (SOPs) mit LLM-basierten Multi-Agenten-Systemen kombiniert. Dieses aufkommende Paradigma durchbricht die bestehenden Einschränkungen von LLMs bei der Förderung effektiver Zusammenarbeit und Aufgabenzerlegung in komplexen, realen Anwendungen.
Die Schönheit von MetaGPT liegt in seiner Struktur. Es nutzt Meta-Programmier-Techniken, um Code in Echtzeit zu manipulieren, zu analysieren und zu transformieren. Das Ziel? Eine agile, flexible Software-Architektur zu verwirklichen, die sich an dynamische Programmieraufgaben anpassen kann.
SOPs fungieren hier als Meta-Funktion, die die Koordination der Agenten zur automatischen Code-Generierung auf der Grundlage definierter Eingaben übernimmt. In einfachen Worten: Es ist, als ob Sie ein hoch koordiniertes Team von Software-Entwicklern in ein adaptives, intelligentes Softwaresystem umgewandelt hätten.
Verständnis des MetaGPT-Frameworks

MetaGPT-Framework (https://arxiv.org/pdf/2308.00352.pdf)
Grundlegende und Kollaborations-Schichten
Die Architektur von MetaGPT ist in zwei Schichten unterteilt: die Grundkomponenten-Schicht und die Kollaborations-Schicht.
- Grundkomponenten-Schicht: Diese Schicht konzentriert sich auf die Operationen einzelner Agenten und ermöglicht den systemweiten Informationsaustausch. Sie führt Kernbausteine wie Umgebung, Speicher, Rollen, Aktionen und Werkzeuge ein. Die Umgebung legt die Grundlage für gemeinsame Arbeitsbereiche und Kommunikationswege fest, während der Speicher als historisches Datenarchiv dient. Rollen umfassen domänen-spezifische Expertise, Aktionen führen modulare Aufgaben aus und Werkzeuge bieten allgemeine Dienste. Diese Schicht dient im Wesentlichen als Betriebssystem für die Agenten. Weitere Details dazu, wie diese zusammenarbeiten, finden Sie im Artikel ‘Beyond ChatGPT; AI-Agent: Eine neue Welt der Arbeiter‘
- Kollaborations-Schicht: Diese Schicht, die auf den Grundkomponenten aufbaut, verwaltet und strukturiert die Zusammenarbeit der einzelnen Agenten. Sie führt zwei Mechanismen ein: Wissens-Sharing und Workflow-Encapsulation.
- Wissens-Sharing: Dieser Mechanismus fungiert als kollaboratives Bindeglied, das die Agenten zusammenfügt. Agenten können Informationen auf verschiedenen Ebenen speichern, abrufen und teilen, wodurch Redundanz reduziert und die Betriebs-effizienz verbessert wird.
- Workflow-Encapsulation: Hier kommen Standardisierte Betriebsverfahren (SOPs) ins Spiel. SOPs dienen als Blaupausen, die Aufgaben in handhabbare Komponenten zerlegen. Agenten werden diesen Teilaufgaben zugewiesen und ihre Leistung wird an standardisierten Ausgaben ausgerichtet.
MetaGPT verwendet auch “Rollen-Definitionen“, um verschiedene spezialisierte Agenten wie Produkt-Manager, Architekten usw. zu initiieren, wie wir oben besprochen haben. Diese Rollen sind durch Schlüssel-Attribute wie Name, Profil, Ziel, Einschränkungen und Beschreibung gekennzeichnet.
Darüber hinaus bietet “Anker-Agenten” rollenspezifische Anleitung für diese Agenten. Zum Beispiel könnte die Rolle eines Produkt-Managers mit der Einschränkung “effiziente Erstellung eines erfolgreichen Produkts” initialisiert werden. Anker-Agenten stellen sicher, dass das Verhalten der Agenten mit den übergeordneten Zielen übereinstimmt, wodurch die Leistung optimiert wird.
Kognitive Prozesse in MetaGPT-Agenten
MetaGPT kann beobachten, denken, reflektieren und handeln. Sie operieren durch spezifische Verhaltensfunktionen wie _think(), _observe(), _publish_message() usw. Diese kognitive Modellierung ermöglicht es den Agenten, aktive Lerner zu sein, die sich anpassen und evolvieren können.
- Beobachten: Agenten scannen ihre Umgebung und integrieren wichtige Daten in ihren Speicher.
- Denken und Reflektieren: Durch die
_think()-Funktion beraten sich die Rollen, bevor sie Aktionen ausführen. - Mitteilungen senden: Agenten verwenden
_publish_message(), um den aktuellen Aufgabenstatus und damit verbundene Aktionsprotokolle zu teilen. - Wissenspräzipation und Handeln: Agenten bewerten eingehende Mitteilungen und aktualisieren ihre internen Repositorys, bevor sie den nächsten Handlungsschritt entscheiden.
- Zustands-Management: Mit Funktionen wie Aufgaben-Sperre und Status-Aktualisierung können Rollen mehrere Aktionen sequentiell ohne Unterbrechung verarbeiten, was der menschlichen Zusammenarbeit in der realen Welt entspricht.
Code-Review-Mechanismen für MetaGPT
Code-Review ist ein kritischer Bestandteil des Software-Entwicklungs-Lebenszyklus, aber in vielen Frameworks fehlt er. Sowohl MetaGPT als auch AgentVerse unterstützen Code-Review-Funktionen, aber MetaGPT geht noch einen Schritt weiter. Es integriert auch eine Vorcompilierung-Ausführung, die zur frühzeitigen Fehler-Erkennung beiträgt und somit die Code-Qualität erhöht. Angesichts der iterativen Natur der Codierung ist diese Funktion nicht nur ein Add-on, sondern eine Anforderung für jedes reife Entwicklungs-Framework.
Quantitative Experimente, die über mehrere Aufgaben durchgeführt wurden, zeigten, dass MetaGPT seine Konkurrenten in fast jedem Szenario übertraf. Pass@1 ist ein Maß für die Fähigkeit des Frameworks, genauen Code in einer einzigen Iteration zu generieren. Dieses Maß bietet eine realistischere Reflexion der Nützlichkeit eines Frameworks in einer praktischen Umgebung. Ein höherer Pass@1-Wert bedeutet weniger Debugging und mehr Effizienz, was sich direkt auf die Entwicklungszyklen und -kosten auswirkt. Im Vergleich zu anderen fortschrittlichen Code-Generierungstools wie CodeX, CodeT und sogar GPT-4 übertrifft MetaGPT alle. Die Fähigkeit des Frameworks, eine 81,7% bis 82,3% Pass@1-Rate auf HumanEval und MBPP Benchmarks zu erreichen.

Vergleich der MBPP- und HumanEval-Metriken zwischen MetaGPT und anderen führenden Modellen (https://arxiv.org/pdf/2308.00352.pdf)
Das Framework verwendet auch weniger Token und Rechenressourcen und erreicht eine hohe Erfolgsrate bei einem Bruchteil der traditionellen Software-Entwicklungs-Kosten. Die Daten zeigten einen durchschnittlichen Kosten von nur 1,09 $ pro Projekt mit MetaGPT, was nur ein Bruchteil dessen ist, was ein Entwickler für die gleiche Aufgabe berechnen würde.
Schritte zur lokalen Installation von MetaGPT auf Ihrem System
NPM-, Python-Installation
- Überprüfen und Installieren von NPM: Zuerst müssen Sie sicherstellen, dass NPM auf Ihrem System installiert ist. Wenn nicht, müssen Sie node.js installieren. Um zu überprüfen, ob Sie NPM haben, führen Sie den folgenden Befehl in Ihrem Terminal aus:
npm --version. Wenn Sie eine Versionsnummer sehen, sind Sie bereit. - Um
mermaid-jszu installieren, eine Abhängigkeit von MetaGPT, führen Sie den folgenden Befehl aus:sudo npm install -g @mermaid-js/mermaid-cliodernpm install -g @mermaid-js/mermaid-cli - Überprüfen der Python-Version: Stellen Sie sicher, dass Sie Python 3.9 oder höher haben. Um Ihre Python-Version zu überprüfen, öffnen Sie Ihr Terminal und geben Sie ein:
python --version. Wenn Sie nicht auf dem neuesten Stand sind, laden Sie die neueste Version von der offiziellen Python-Website herunter. - Klonen des MetaGPT-Repositorys: Beginnen Sie damit, das MetaGPT-GitHub-Repository mit dem folgenden Befehl zu klonen:
git clone https://github.com/geekan/metagpt. Stellen Sie sicher, dass Sie Git auf Ihrem System installiert haben. Wenn nicht, besuchen Sie hier. - Wechseln zum Verzeichnis: Nach dem Klonen navigieren Sie zum MetaGPT-Verzeichnis mit dem folgenden Befehl:
cd metagpt. - Installation: Führen Sie das Python-Setup-Skript aus, um MetaGPT mit dem folgenden Befehl zu installieren:
python setup.py install. - Erstellen Sie eine Anwendung: Führen Sie
python startup.py "Geben Sie den Prompt ein" --code_review Trueaus
Hinweis:
- Ihr neues Projekt sollte sich jetzt im
workspace/-Verzeichnis befinden. --code_review Trueermöglicht es dem GPT-Modell, zusätzliche Operationen auszuführen, die sicherstellen, dass der Code genau ausgeführt wird, aber beachten Sie, dass dies mehr kostet.- Wenn Sie während der Installation einen Berechtigungsfehler erhalten, versuchen Sie,
python setup.py install --userals Alternative auszuführen. - Für den Zugriff auf bestimmte Versionen und weitere Details besuchen Sie die offizielle MetaGPT-GitHub-Veröffentlichungsseite: MetaGPT-Veröffentlichungen.
Docker-Installation
Für diejenigen, die Containerisierung bevorzugen, vereinfacht Docker den Prozess:
- Herunterladen des Docker-Images: Laden Sie das offizielle MetaGPT-Image herunter und bereiten Sie die Konfigurationsdatei vor:
docker pull metagpt/metagpt:v0.3.1mkdir -p /opt/metagpt/{config,workspace}docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
- Ausführen des MetaGPT-Containers: Führen Sie den Container mit dem folgenden Befehl aus:
docker run --rm --privileged \-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \-v /opt/metagpt/workspace:/app/metagpt/workspace \metagpt/metagpt:v0.3.1 \python startup.py "Erstellen Sie ein einfaches und interaktives CLI-basiertes Stein-Schere-Papier-Spiel" --code_review True
Konfigurieren von MetaGPT mit Ihrem OpenAI-API-Schlüssel
Nach der anfänglichen Einrichtung müssen Sie MetaGPT mit Ihrem OpenAI-API-Schlüssel integrieren. Hier sind die Schritte, um dies zu tun:
- Finden oder Generieren Ihres OpenAI-Schlüssels: Sie können diesen Schlüssel in Ihrem OpenAI-Dashboard unter API-Einstellungen finden.
- Setzen des API-Schlüssels: Sie haben die Möglichkeit, den API-Schlüssel in
config/key.yaml,config/config.yamloder als Umgebungsvariable (env) zu platzieren. Die Reihenfolge der Vorrangigkeit istconfig/key.yaml > config/config.yaml > env. - Um den Schlüssel zu setzen, navigieren Sie zu
config/key.yamlund ersetzen Sie den Platzhalter-Text durch Ihren OpenAI-Schlüssel:OPENAI_API_KEY: "sk-..."
Denken Sie daran, Ihren OpenAI-API-Schlüssel sicher zu verwahren. Kommen Sie nie in Versuchung, ihn in ein öffentliches Repository zu committen oder ihn an nicht autorisierte Personen weiterzugeben.
Anwendungsfall-Beispiel
Ich gab das Ziel, ein CLI-basiertes Stein-Schere-Papier-Spiel zu entwickeln, und MetaGPT führte die Aufgabe erfolgreich aus.
Unten finden Sie ein Video, das die tatsächliche Ausführung des generierten Spiel-Codes zeigt.
MetaGPT-Demo-Lauf
MetaGPT hat ein System-Design-Dokument in Markdown erstellt — einer weit verbreiteten leichten Markup-Sprache. Diese Markdown-Datei war reich an UML-Diagrammen, die einen detaillierten Überblick über die architektonische Blaupause boten. Darüber hinaus wurden API-Spezifikationen mit HTTP-Methoden, Endpunkten, Anfrage-/Antwort-Objekten und Status-Codes detailliert beschrieben
Das Klassendiagramm zeigt die Attribute und Methoden unserer Game-Klasse, die eine Abstraktion bietet, die leicht zu verstehen ist. Es visualisiert sogar den Aufruf-Fluss des Programms, wodurch abstrakte Ideen in greifbare Schritte umgesetzt werden.
Dies reduziert nicht nur den manuellen Aufwand bei der Planung, sondern beschleunigt auch den Entscheidungsprozess, sodass Ihre Entwicklungs-Pipeline agil bleibt. Mit MetaGPT automatisieren Sie nicht nur die Code-Generierung, sondern auch die intelligente Projekt-Planung, wodurch Sie einen Wettbewerbsvorteil bei der schnellen Anwendungs-Entwicklung erlangen.
Zusammenfassung: MetaGPT — Revolutionierung der Software-Entwicklung
MetaGPT definiert die Landschaft der generativen KI und der Software-Entwicklung neu, indem es eine nahtlose Kombination aus intelligenter Automatisierung und agiler Projekt-Verwaltung bietet. Es übertrifft die Fähigkeiten von ChatGPT, AutoGPT und traditionellen LangChain-Modellen und exceliert in Aufgaben-Zerlegung, effizienter Code-Generierung und Projekt-Planung. Erfahren Sie mehr über
Hier sind die wichtigsten Punkte aus diesem Artikel:
- Die Macht der Meta-Programmierung: Durch die Verwendung von Meta-Programmierung bietet MetaGPT eine agile und adaptive Software-Architektur. Es geht über die enge Funktionalität von Legacy-Tools hinaus und führt einen transformativen Ansatz ein, der nicht nur das Coden, sondern auch die Projekt-Verwaltung und Entscheidungs-Aspekte umfasst.
- Zwei-Schichten-Architektur: Mit ihren Grund- und Kollaborations-Schichten schafft MetaGPT ein synergetisches Ökosystem, in dem Agenten kohärent zusammenarbeiten können, ähnlich wie ein professionell gemanagtes Software-Team.
- Optimierter Code-Review: MetaGPT bietet über die Code-Generierung hinaus Vorcompilierungs-Ausführungs-Funktionen, die im Wesentlichen ein Frühwarn-System für Fehler darstellen. Dies spart nicht nur Debugging-Zeit, sondern stellt auch die Code-Qualität sicher.
- Kognitive Agenten: MetaGPTs intelligente Agenten, die mit kognitiven Funktionen wie
_observe(),_think()und_publish_message()ausgestattet sind, evolvieren und passen sich an, um sicherzustellen, dass Ihre Software-Lösung nicht nur codiert, sondern auch ‘intelligent’ ist. - Installation und Bereitstellung: Wir haben gezeigt, dass MetaGPT leicht über NPM und Python lokal installiert oder über Docker containerisiert werden kann.















