Stummel MetaGPT: Vollständiger Leitfaden zum besten derzeit verfügbaren KI-Agenten – Unite.AI
Vernetzen Sie sich mit uns

Künstliche allgemeine Intelligenz

MetaGPT: Vollständiger Leitfaden zum besten derzeit verfügbaren KI-Agenten

mm

Veröffentlicht

 on

MetaGPBasierte Darstellung der Zusammenarbeit zwischen Mensch und MaschineT

Mit Large Language Models (LLMs) wie ChatGPT verzeichnete OpenAI einen Anstieg der Akzeptanz bei Unternehmen und Benutzern und erwirtschaftet derzeit einen monatlichen Umsatz von rund 80 Millionen US-Dollar. Laut a kürzlich erschienenen Bericht Laut The Information ist das in San Francisco ansässige Unternehmen Berichten zufolge auf dem besten Weg, einen Jahresumsatz von 1 Milliarde US-Dollar zu erzielen.

Das letzte Mal haben wir uns damit beschäftigt AutoGPT und GPT-Engineering, die frühen Mainstream-Open-Source-LLM-basierten KI-Agenten, die zur Automatisierung komplexer Aufgaben entwickelt wurden. Diese Systeme waren zwar vielversprechend, hatten aber auch einige Probleme: inkonsistente Ergebnisse, Leistungsengpässe und Einschränkungen bei der Bewältigung vielfältiger Anforderungen. Sie zeigen Kenntnisse in der Codegenerierung, aber ihre Fähigkeiten enden dort oft. Ihnen fehlen wichtige Projektmanagementfunktionen wie PRD-Generierung, technische Designgenerierung und API-Schnittstellen-Prototyping.

Enter MetaGPT– ein Multi-Agenten-System, das Large Language-Modelle von Sirui Hong nutzt und Standardized Operating Procedures (SOPs) mit LLM-basierten Multi-Agenten-Systemen verbindet. Dieses aufkommende Paradigma durchbricht die bestehenden Einschränkungen von LLMs bei der Förderung einer effektiven Zusammenarbeit und Aufgabenzerlegung in komplexen, realen Anwendungen.

Das Schöne an MetaGPT liegt in seiner Strukturierung. Es nutzt Metaprogrammierungstechniken, um Code in Echtzeit zu manipulieren, zu analysieren und umzuwandeln. Das Ziel? Um eine agile, flexible Softwarearchitektur zu verwirklichen, die sich an dynamische Programmieraufgaben anpassen kann.

Agile Entwicklung – Metagpt

Agile Entwicklung

SOPs fungieren hier als Metafunktion und koordinieren Agenten, um automatisch Code basierend auf definierten Eingaben zu generieren. Vereinfacht ausgedrückt ist es so, als hätten Sie ein gut koordiniertes Team von Softwareentwicklern in ein anpassungsfähiges, intelligentes Softwaresystem verwandelt.

MetaGPT-Framework verstehen

Grundlagen- und Kollaborationsebenen

Die Architektur von MetaGPT ist in zwei Schichten unterteilt: die Foundational Components Layer und die Collaboration Layer.

  1. Grundlegende Komponentenschicht: Diese Schicht konzentriert sich auf den Betrieb einzelner Agenten und erleichtert den systemweiten Informationsaustausch. Es stellt Kernbausteine ​​wie Umgebung, Speicher, Rollen, Aktionen und Tools vor. Die Umgebung schafft die Voraussetzungen für gemeinsame Arbeitsbereiche und Kommunikationswege, während der Speicher als historisches Datenarchiv dient. Rollen fassen domänenspezifisches Fachwissen zusammen, Aktionen führen modulare Aufgaben aus und Tools bieten gemeinsame Dienste. Diese Schicht dient im Wesentlichen als Betriebssystem für die Agenten. Weitere Einzelheiten zur Zusammenarbeit finden Sie im Artikel „Über ChatGPT hinaus; KI-Agent: Eine neue Welt der Arbeiter'
  2. Kollaborationsschicht: Diese Ebene basiert auf grundlegenden Komponenten und verwaltet und optimiert die Zusammenarbeit einzelner Agenten. Es führt zwei Mechanismen ein: Wissensaustausch und Kapselung von Arbeitsabläufen.
    • Wissen teilen: Dies fungiert als kollaborativer Klebstoff, der die Agenten zusammenhält. Agenten können Informationen auf verschiedenen Ebenen speichern, abrufen und teilen, wodurch Redundanzen reduziert und die betriebliche Effizienz gesteigert werden.
    • Kapselung von Arbeitsabläufen: Hier kommen Standardized Operating Procedures (SOPs) ins Spiel. SOPs fungieren als Blaupausen, die Aufgaben in überschaubare Komponenten aufteilen. Den Agenten werden diese Unteraufgaben zugewiesen und ihre Leistung wird an standardisierten Ergebnissen ausgerichtet.

MetaGPT verwendet auch „Rollendefinitionen” um verschiedene spezialisierte Agenten wie Produktmanager, Architekten usw. zu initiieren, wie wir oben besprochen haben. Diese Rollen zeichnen sich durch Schlüsselattribute wie Name, Profil, Ziel, Einschränkungen und Beschreibung aus.

Außerdem, "Ankeragenten„bietet diesen Agenten rollenspezifische Anleitungen. Beispielsweise könnte die Rolle eines Produktmanagers mit der Einschränkung initialisiert werden, „ein erfolgreiches Produkt effizient zu erstellen“. Ankeragenten stellen sicher, dass das Verhalten der Agenten mit den übergeordneten Zielen übereinstimmt, und optimieren so die Leistung.

Kognitive Prozesse in MetaGPT-Agenten

MetaGPT kann beobachten, denken, reflektieren und handeln. Sie funktionieren durch spezifische Verhaltensfunktionen wie _think(), _observe(), _publish_message()usw. Diese kognitive Modellierung versetzt die Agenten in die Lage, aktive Lernende zu sein, die sich anpassen und weiterentwickeln können.

  1. Beobachten: Agenten scannen ihre Umgebung und integrieren Schlüsseldaten in ihr Gedächtnis.
  2. Denken und reflektieren: Durch die _think() Funktion und Rollen werden vor dem Ergreifen von Maßnahmen überlegt.
  3. Broadcast-Nachrichten: Verwendete Agenten _publish_message() um aktuelle Aufgabenstatus und zugehörige Aktionsdatensätze zu teilen.
  4. Wissenspräzipitation & Handeln: Agenten bewerten eingehende Nachrichten und aktualisieren ihre internen Repositorys, bevor sie über die nächste Vorgehensweise entscheiden.
  5. Staatsverwaltung: Mit Funktionen wie Aufgabensperrung und Statusaktualisierung können Rollen mehrere Aktionen nacheinander ohne Unterbrechung verarbeiten und so die menschliche Zusammenarbeit in der realen Welt widerspiegeln.

Code-Review-Mechanismen für MetaGPT

Die Codeüberprüfung ist eine entscheidende Komponente im Softwareentwicklungslebenszyklus, fehlt jedoch in mehreren gängigen Frameworks. Sowohl MetaGPT als auch AgentVerse unterstützen Codeüberprüfungsfunktionen, aber MetaGPT geht noch einen Schritt weiter. Es umfasst auch die Ausführung vor der Kompilierung, die die frühzeitige Fehlererkennung unterstützt und anschließend die Codequalität erhöht. Angesichts der iterativen Natur der Codierung ist diese Funktion nicht nur ein Add-on, sondern eine Voraussetzung für jedes ausgereifte Entwicklungsframework.

Quantitative Experimente, die über mehrere Aufgaben hinweg durchgeführt wurden, zeigten, dass MetaGPT seine Gegenstücke in fast jedem Szenario übertraf. Pass@1 ist ein Maß für die Fähigkeit des Frameworks, in einer einzigen Iteration genauen Code zu generieren. Diese Metrik bietet eine realistischere Darstellung des Nutzens eines Frameworks in einer praktischen Umgebung. Eine höhere Pass@1-Rate bedeutet weniger Debugging und mehr Effizienz, was sich direkt auf Entwicklungszyklen und Kosten auswirkt. Im Vergleich zu anderen fortschrittlichen Tools zur Codegenerierung wie z Kodex, CodeTund sogar GPT-4, MetaGPT outperforms das Einkaufszentrum. Die Fähigkeit des Frameworks, eine zu erreichen 81.7% zu 82.3% Pass@1-Tarif an HumanEval und MBPP Benchmarks.

Vergleich von MBPP- und HumanEval-Metriken s/w MetaGPT und anderen führenden Modellen (https://arxiv.org/pdf/2308.00352.pdf)

Vergleich von MBPP- und HumanEval-Metriken s/w MetaGPT und anderen führenden Modellen (https://arxiv.org/pdf/2308.00352.pdf)

Das Framework verbraucht außerdem weniger Token und Rechenressourcen und erreicht so eine hohe Erfolgsquote zu einem Bruchteil der herkömmlichen Software-Engineering-Kosten. Die Daten ergaben durchschnittliche Kosten von gerade einmal $1.09 pro Projekt mit MetaGPT, was nur einen Bruchteil dessen ausmacht, was ein Entwickler für die gleiche Aufgabe verlangen würde.

Schritte zur lokalen Installation von MetaGPT auf Ihrem System

NPM, Python-Installation

  1. Überprüfen und installieren Sie NPM: Das Wichtigste zuerst: Stellen Sie sicher, dass NPM auf Ihrem System installiert ist. Ist dies nicht der Fall, müssen Sie es installieren node.js. Um zu überprüfen, ob Sie npm haben, führen Sie diesen Befehl in Ihrem Terminal aus: npm --version. Wenn Sie eine Versionsnummer sehen, können Sie loslegen.
  2. So installieren Sie mermaid-js, eine Abhängigkeit für MetaGPT, führen Sie Folgendes aus: sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. Überprüfen Sie die 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 Folgendes ein: python --version. Wenn Sie nicht auf dem neuesten Stand sind, laden Sie die neueste Version von herunter Offizielle Python-Website.
  4. Klonen Sie das MetaGPT-Repository: Klonen Sie zunächst das MetaGPT-GitHub-Repository mit dem Befehl git clone https://github.com/geekan/metagpt. Stellen Sie sicher, dass Git hierfür auf Ihrem System installiert ist. Wenn nicht, besuchen Sie uns hier.
  5. Navigieren Sie zum Verzeichnis: Navigieren Sie nach dem Klonen mit dem Befehl zum MetaGPT-Verzeichnis cd metagpt.
  6. Installation: Führen Sie das Python-Setup-Skript aus, um MetaGPT mit dem Befehl zu installieren python setup.py install.
  7. Erstellen Sie eine Anwendung: Ausführen python startup.py "ENTER-PROMPT" --code_review True

Note:

  • Ihr neues Projekt sollte sich jetzt im befinden workspace/ Verzeichnis.
  • --code_review True ermöglicht es dem GPT-Modell, zusätzliche Vorgänge auszuführen, die sicherstellen, dass der Code korrekt ausgeführt wird. Beachten Sie jedoch, dass dies teurer ist.
  • Wenn während der Installation ein Berechtigungsfehler auftritt, versuchen Sie es mit der Ausführung python setup.py install --user als Alternative.
  • Für den Zugriff auf bestimmte Veröffentlichungen und weitere Details besuchen Sie die offizielle MetaGPT GitHub-Veröffentlichungsseite: MetaGPT-Versionen.

Docker-Installation

Für diejenigen, die Containerisierung bevorzugen, vereinfacht Docker den Prozess:

  • Ziehen Sie das Docker-Image: Laden Sie das offizielle MetaGPT-Image herunter und bereiten Sie die Konfigurationsdatei vor:
docker pull metagpt/metagpt:v0.3.1
mkdir -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
  • Führen Sie den MetaGPT-Container aus: 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 "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True

Konfigurieren Sie MetaGPT mit Ihrem OpenAI-API-Schlüssel

Nach der Ersteinrichtung müssen Sie MetaGPT in Ihren OpenAI-API-Schlüssel integrieren. Hier sind die Schritte dazu:

  1. Suchen oder generieren Sie Ihren OpenAI-Schlüssel: Sie finden diesen Schlüssel in Ihrem OpenAI Dashboard unter API-Einstellungen.
  2. Legen Sie den API-Schlüssel fest: Sie haben die Möglichkeit, den API-Schlüssel in einem von beiden zu platzieren config/key.yaml, config/config.yaml, oder legen Sie es als Umgebungsvariable fest (env). Die Rangfolge ist config/key.yaml > config/config.yaml > env.
  3. Um den Schlüssel festzulegen, navigieren Sie zu config/key.yaml und ersetzen Sie den Platzhaltertext durch Ihren OpenAI-Schlüssel: OPENAI_API_KEY: "sk-..."

Denken Sie daran, Ihren OpenAI-API-Schlüssel zu schützen. Geben Sie es niemals an ein öffentliches Repository weiter und geben Sie es niemals an Unbefugte weiter.

Anwendungsfall-Illustration

Ich gab mir das Ziel, ein CLI-basiertes Stein-, Papier- und Scherenspiel zu entwickeln, und MetaGPT hat die Aufgabe erfolgreich ausgeführt.

Unten sehen Sie ein Video, das die tatsächliche Ausführung des generierten Spielcodes zeigt.

MetaGPT-Demolauf

MetaGPT stellte ein Systemdesigndokument in Markdown bereit – einer häufig verwendeten leichten Auszeichnungssprache. Diese Markdown-Datei enthielt zahlreiche UML-Diagramme und bot so eine detaillierte Ansicht des Architekturentwurfs. Darüber hinaus wurden die API-Spezifikationen mit HTTP-Methoden, Endpunkten, Anforderungs-/Antwortobjekten und Statuscodes detailliert beschrieben

MetaGPT-Ausgabe – Systemdesign

MetaGPT-Ausgabe – Systemdesign-Markdown

Das Klassendiagramm beschreibt die Attribute und Methoden unserer Game Klasse und bietet eine leicht verständliche Abstraktion. Es visualisiert sogar den Aufrufablauf des Programms und wandelt abstrakte Ideen effektiv in konkrete Schritte um.

Dies reduziert nicht nur den manuellen Aufwand bei der Planung erheblich, sondern beschleunigt auch den Entscheidungsprozess und stellt sicher, dass Ihre Entwicklungspipeline agil bleibt. Mit MetaGPT automatisieren Sie nicht nur die Codegenerierung, sondern auch die intelligente Projektplanung und verschaffen sich so einen Wettbewerbsvorteil bei der schnellen Anwendungsentwicklung.

Fazit: MetaGPT – Revolutionierung der Softwareentwicklung

MetaGPT definiert die Landschaft der generativen KI und Softwareentwicklung neu und bietet eine nahtlose Mischung aus intelligenter Automatisierung und agilem Projektmanagement. Es übertrifft die Fähigkeiten von ChatGPT, AutoGPT und herkömmlichen LangChain-Modellen bei weitem und zeichnet sich durch Aufgabenzerlegung, effiziente Codegenerierung und Projektplanung aus. Erfahren Sie mehr unter

Hier sind die wichtigsten Erkenntnisse aus diesem Artikel:

  1. Die Kraft der Metaprogrammierung: Durch den Einsatz von Metaprogrammierung bietet MetaGPT ein agiles und anpassungsfähiges Software-Framework. Es geht über die eingeschränkte Funktionalität älterer Tools hinaus und führt einen transformativen Ansatz ein, der nicht nur die Codierung, sondern auch Aspekte des Projektmanagements und der Entscheidungsfindung berücksichtigt.
  2. Zweischichtige Architektur: Mit seinen grundlegenden und kollaborativen Ebenen schafft MetaGPT effektiv ein synergistisches Ökosystem, in dem Agenten kohärent zusammenarbeiten können, ähnlich einem fachmännisch verwalteten Softwareteam.
  3. Optimierte Codeüberprüfung: Über das reine Generieren von Code hinaus bietet MetaGPT Funktionen zur Vorkompilierungsausführung, die im Wesentlichen ein Frühwarnsystem für Fehler sind. Dies spart nicht nur Zeit beim Debuggen, sondern stellt auch die Codequalität sicher.
  4. Kognitive Agenten: Die intelligenten Agenten von MetaGPT, vollgepackt mit kognitiven Funktionen wie _observe(), _think() und _publish_message(), entwickeln sich weiter und passen sich an, um sicherzustellen, dass Ihre Softwarelösung nicht nur codiert, sondern „intelligent“ ist.
  5. Installation und Bereitstellung: Wir haben gezeigt, dass MetaGPT einfach eingerichtet werden kann, unabhängig davon, ob Sie eine lokale Installation über npm und Python oder eine Containerisierung über Docker bevorzugen.

Ich habe die letzten fünf Jahre damit verbracht, in die faszinierende Welt des maschinellen Lernens und des Deep Learning einzutauchen. Meine Leidenschaft und mein Fachwissen haben dazu geführt, dass ich an über 50 verschiedenen Software-Engineering-Projekten mitgewirkt habe, mit besonderem Schwerpunkt auf KI/ML. Meine anhaltende Neugier hat mich auch zur Verarbeitung natürlicher Sprache geführt, einem Bereich, den ich gerne weiter erforschen möchte.