stub MetaGPT: Komplett guide till den bästa AI-agenten som är tillgänglig just nu - Unite.AI
Anslut dig till vårt nätverk!

Artificiell allmän intelligens

MetaGPT: Komplett guide till den bästa AI-agenten som är tillgänglig just nu

mm

publicerade

 on

MetaGPBassed Illustration av samarbete mellan människor och maskinerT

Med stora språkmodeller (LLMs) som ChatGPT, har OpenAI sett en ökning av företags- och användaranvändning, och har för närvarande inbringat cirka 80 miljoner dollar i månadsintäkter. Enligt a senaste rapporten av The Information är det San Francisco-baserade företaget enligt uppgift på väg att nå 1 miljard dollar i årliga intäkter.

Förra gången vi grävde i AutoGPT och GPT-Engineering, de tidiga vanliga LLM-baserade AI-agenterna med öppen källkod designade för att automatisera komplexa uppgifter. Även om de var lovande hade dessa system sin beskärda del av problem: inkonsekventa resultat, prestandaflaskhalsar och begränsningar i att hantera mångfacetterade krav. De visar färdigheter i kodgenerering, men deras förmåga stannar ofta där. De saknar kritiska projektledningsfunktioner som PRD-generering, teknisk designgenerering och API-gränssnittsprototyper.

ange MetaGPT— ett multiagentsystem som använder stora språkmodeller av Sirui Hong kombinerar standardiserade operativa procedurer (SOPs) med LLM-baserade multiagentsystem. Detta framväxande paradigm stör de befintliga begränsningarna för LLM:er när det gäller att främja effektivt samarbete och uppgiftsupplösning i komplexa, verkliga tillämpningar.

Skönheten med MetaGPT ligger i dess strukturering. Den utnyttjar metaprogrammeringstekniker för att manipulera, analysera och transformera kod i realtid. Siktet? Att aktualisera en smidig, flexibel mjukvaruarkitektur som kan anpassas till dynamiska programmeringsuppgifter.

Agil utveckling - Metagpt

Agile Development

SOP fungerar här som en metafunktion, som koordinerar agenter för att autogenerera kod baserat på definierade indata. Enkelt uttryckt är det som om du har förvandlat ett mycket koordinerat team av mjukvaruingenjörer till ett anpassningsbart, intelligent mjukvarusystem.

Förstå MetaGPT Framework

Grundläggande och samarbetsskikt

MetaGPT:s arkitektur är uppdelad i två lager: lager av grundkomponenter och lager för samarbete.

  1. Grundläggande komponentlager: Detta lager fokuserar på enskilda agentoperationer och underlättar systemomfattande informationsutbyte. Den introducerar grundläggande byggstenar som miljö, minne, roller, åtgärder och verktyg. Miljön sätter scenen för delade arbetsytor och kommunikationsvägar, medan Memory fungerar som det historiska dataarkivet. Roller kapslar in domänspecifik expertis, Actions utför modulära uppgifter och Tools erbjuder vanliga tjänster. Detta lager fungerar i huvudsak som operativsystemet för agenterna. Mer information om hur dessa fungerar tillsammans finns i artikeln 'Bortom ChatGPT; AI Agent: A New World of Workers'
  2. Samverkanslager: Byggt ovanpå grundläggande komponenter, hanterar och effektiviserar detta lager enskilda agenters samarbetsinsatser. Den introducerar två mekanismer: kunskapsdelning och inkapslande arbetsflöden.
    • Kunskapsdelning: Detta fungerar som det kollaborativa limmet som binder samman ämnen. Agenter kan lagra, hämta och dela information på olika nivåer, vilket minskar redundans och förbättrar operativ effektivitet.
    • Inkapslande arbetsflöden: Det är här standardiserade operativa procedurer (SOP) kommer in i bilden. SOP fungerar som ritningar som bryter ner uppgifter i hanterbara komponenter. Agenter tilldelas dessa deluppgifter och deras prestanda är anpassade till standardiserade utdata.

MetaGPT använder också "Rolldefinitioner” för att initiera olika specialiserade agenter såsom produktchefer, arkitekter etc. som vi diskuterade ovan. Dessa roller kännetecknas av nyckelattribut som namn, profil, mål, begränsningar och beskrivning.

Dessutom, "Ankare ombud” ger rollspecifik vägledning till dessa agenter. Till exempel kan en produktchefs roll initieras med begränsningen att "effektivt skapa en framgångsrik produkt." Ankaragenter säkerställer att agenternas beteenden överensstämmer med de övergripande målen och optimerar därigenom prestandan.

Kognitiva processer i MetaGPT-agenter

MetaGPT kan observera, tänka, reflektera och agera. De fungerar genom specifika beteendefunktioner som _think(), _observe(), _publish_message(), etc. Denna kognitiva modellering utrustar agenterna för att vara aktiva elever som kan anpassa sig och utvecklas.

  1. Observera: Agenter skannar sin miljö och infogar nyckeldata i sitt minne.
  2. Tänk & reflektera: Genom _think() funktion, roller överväger innan de vidtar åtgärder.
  3. Sänd meddelanden: Agenter som används _publish_message() för att dela aktuella uppgiftsstatusar och relaterade åtgärdsposter.
  4. Kunskap Nederbörd & Akt: Agenter bedömer inkommande meddelanden och uppdaterar sina interna arkiv innan de bestämmer sig för nästa åtgärd.
  5. Statlig förvaltning: Med funktioner som uppgiftslåsning och statusuppdatering kan roller bearbeta flera åtgärder sekventiellt utan avbrott, vilket speglar mänskligt samarbete i verkligheten.

Mekanismer för kodgranskning för MetaGPT

Kodgranskning är en kritisk komponent i mjukvaruutvecklingens livscykel, men den saknas i flera populära ramverk. Både MetaGPT och AgentVerse stöder kodgranskning, men MetaGPT går ett steg längre. Den innehåller också förkompileringsexekvering, vilket hjälper till med tidig feldetektering och därefter höjer kodkvaliteten. Med tanke på den iterativa karaktären hos kodning är den här funktionen inte bara ett tillägg utan ett krav för alla mogna utvecklingsramverk.

Kvantitativa experiment utförda över flera uppgifter visade att MetaGPT överträffade sina motsvarigheter i nästan alla scenarier. Pass@1 är ett mått på ramverkets förmåga att generera korrekt kod i en enda iteration. Detta mått ger en mer realistisk återspegling av ett ramverks användbarhet i en praktisk miljö. En högre Pass@1-hastighet innebär mindre felsökning och mer effektivitet, vilket direkt påverkar utvecklingscykler och kostnader. När den staplas mot andra avancerade kodgenereringsverktyg som t.ex Kodex, KodT, och även GPT-4, MetaGPT utklassar gallerian. Ramverkets förmåga att uppnå en 81.7% till 82.3% Pass@1 rate på HumanEval och MBPP riktmärken.

Jämföra MBPP och HumanEval Metrics b/w MetaGPT och andra ledande modeller (https://arxiv.org/pdf/2308.00352.pdf)

Jämföra MBPP och HumanEval Metrics b/w MetaGPT och andra ledande modeller (https://arxiv.org/pdf/2308.00352.pdf)

Ramverket använder också färre tokens och beräkningsresurser, vilket uppnår en hög framgångsfrekvens till en bråkdel av traditionella kostnader för programvaruutveckling. Uppgifterna indikerade en genomsnittlig kostnad på bara $1.09 per projekt med MetaGPT vilket bara är en bråkdel av vad en utvecklare skulle ta betalt för samma uppgift.

Steg för att lokalt installera MetaGPT på ditt system

NPM, Python-installation

  1. Kontrollera och installera NPM: Först till kvarn, se till att NPM är installerat på ditt system. Om det inte är det måste du installera node.js. För att kontrollera om du har npm, kör det här kommandot i din terminal: npm --version. Om du ser ett versionsnummer är du bra att gå.
  2. Så här installerar du mermaid-js, ett beroende för MetaGPT, kör: sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. Verifiera Python-versionen: Se till att du har Python 3.9 eller högre. För att kontrollera din Python-version, öppna din terminal och skriv: python --version. Om du inte är uppdaterad, ladda ner den senaste versionen från Python officiella hemsida.
  4. Clone MetaGPT Repository: Börja med att klona MetaGPT GitHub-förvaret med kommandot git clone https://github.com/geekan/metagpt. Se till att du har Git installerat i ditt system för detta. Om inte, besök här..
  5. Navigera till Directory: När du har klonat, navigera till MetaGPT-katalogen med kommandot cd metagpt.
  6. Installation: Kör Python-installationsskriptet för att installera MetaGPT med kommandot python setup.py install.
  7. Skapa en applikation: Kör python startup.py "ENTER-PROMPT" --code_review True

Anmärkningar:

  • Ditt nya projekt bör nu finnas i workspace/ katalog.
  • --code_review True kommer att tillåta GPT-modellen att göra extra operationer som säkerställer att koden körs korrekt men notera att det kommer att kosta mer.
  • Om du stöter på ett behörighetsfel under installationen, försök att köra python setup.py install --user som ett alternativ.
  • För åtkomst till specifika utgåvor och ytterligare information, besök den officiella MetaGPT GitHub-utgivningssidan: MetaGPT-släpp.

Docker installation

För dem som föredrar containerisering förenklar Docker processen:

  • Dra Docker-bilden: Ladda ner den officiella MetaGPT-bilden och förbered konfigurationsfilen:
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
  • Kör MetaGPT-behållaren: Kör behållaren med följande kommando:
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

Konfigurera MetaGPT med din OpenAI API-nyckel

Efter den första installationen måste du integrera MetaGPT med din OpenAI API-nyckel. Här är stegen för att göra det:

  1. Leta upp eller generera din OpenAI-nyckel: Du hittar den här nyckeln i din OpenAI Dashboard under API-inställningar.
  2. Ställ in API-nyckeln: Du har möjlighet att placera API-nyckeln i antingen config/key.yaml, config/config.yaml, eller ställ in den som en miljövariabel (env). Företrädesordningen är config/key.yaml > config/config.yaml > env.
  3. För att ställa in nyckeln, navigera till config/key.yaml och ersätt platshållartexten med din OpenAI-nyckel: OPENAI_API_KEY: "sk-..."

Kom ihåg att skydda din OpenAI API-nyckel. Överlåt det aldrig till ett offentligt arkiv eller dela det med obehöriga personer.

Use-Case Illustration

Jag gav målet att utveckla ett CLI-baserat sten-, papper- och saxspel, och MetaGPT utförde uppgiften framgångsrikt.

Nedan finns en video som visar den faktiska körningen av den genererade spelkoden.

MetaGPT Demo Run

MetaGPT tillhandahöll ett systemdesigndokument i Markdown – ett vanligt använt lättviktsspråk. Den här Markdown-filen var fylld med UML-diagram och erbjöd därigenom en detaljerad bild av den arkitektoniska ritningen. Dessutom var API-specifikationer detaljerade med HTTP-metoder, slutpunkter, förfrågnings-/svarsobjekt och statuskoder

MetaGPT Output - Systemdesign

MetaGPT Output – System Design Markdown

Klassdiagrammet beskriver våra attribut och metoder Game klass, vilket ger en abstraktion som är lätt att förstå. Den visualiserar till och med programmets samtalsflöde och förvandlar effektivt abstrakta idéer till konkreta steg.

Detta minskar inte bara de manuella omkostnaderna i planeringen avsevärt, utan det påskyndar också beslutsprocessen, vilket säkerställer att din utvecklingspipeline förblir smidig. Med MetaGPT automatiserar du inte bara kodgenerering, du automatiserar intelligent projektplanering, vilket ger en konkurrensfördel i snabb applikationsutveckling.

Slutsats: MetaGPT – Revolutionerande mjukvaruutveckling

MetaGPT omdefinierar landskapet för generativ AI och mjukvaruutveckling, och erbjuder en sömlös blandning av intelligent automation och agil projektledning. Vida överträffar kapaciteten hos ChatGPT, AutoGPT och traditionella LangChain-modeller, den utmärker sig i uppgiftsuppdelning, effektiv kodgenerering och projektplanering. Läs mer om

Här är de viktigaste tipsen från den här artikeln:

  1. Kraften i metaprogrammering: Genom att använda metaprogrammering tillhandahåller MetaGPT ett smidigt och adaptivt ramverk för programvara. Det överskrider den snäva funktionaliteten hos äldre verktyg och introducerar ett transformativt tillvägagångssätt som inte bara hanterar kodning, utan även projektledning och beslutsfattande aspekter.
  2. Tvåskiktsarkitektur: Med sina grundläggande och samarbetande lager skapar MetaGPT effektivt ett synergistiskt ekosystem där agenter kan arbeta sammanhållet, i likhet med ett sakkunnigt hanterat mjukvaruteam.
  3. Optimerad kodgranskning: Förutom att bara generera kod, erbjuder MetaGPT exekveringsfunktioner för förkompilering, vilket i huvudsak är ett system för tidig varning för fel. Detta sparar inte bara felsökningstid utan säkerställer också kodkvalitet.
  4. Kognitiva medel: MetaGPTs intelligenta agenter, fyllda med kognitiva funktioner som _observe(), _think() och _publish_message(), utvecklas och anpassar sig, vilket säkerställer att din mjukvarulösning inte bara är kodad utan är "intelligent".
  5. Installation och distribution: Vi har illustrerat att MetaGPT enkelt kan ställas in, oavsett om du föredrar en lokal installation via npm och Python, eller containerisering via Docker.

Jag har ägnat de senaste fem åren åt att fördjupa mig i den fascinerande världen av Machine Learning och Deep Learning. Min passion och expertis har lett mig till att bidra till över 50 olika programvaruutvecklingsprojekt, med särskilt fokus på AI/ML. Min pågående nyfikenhet har också dragit mig mot Natural Language Processing, ett område som jag är ivrig att utforska vidare.