AGI og fremtidens AI
MetaGPT: En komplett guide til det beste AI-agenter tilgjengelig nå
Med store språkmodeller (LLM) som ChatGPT, har OpenAI vært vitne til en økning i bedrifts- og brukeradopsjon, og tjener nå rundt 80 millioner dollar i månedlig omsetning. Ifølge en nylig rapport fra The Information, er det San Francisco-baserte selskapet rapportert å være på vei til å nå 1 milliard dollar i årlig omsetning.
Sist gang vi dykket ned i AutoGPT og GPT-Engineering, de tidlige mainstream åpne kildekode LLM-baserte AI-agenter designet for å automatisere komplekse oppgaver. Mens disse systemene var lovende, hadde de sine egne problemer: inkonsistente resultater, ytelsesbottlenecker og begrensninger i håndtering av multifacetterte krav. De viser dyktighet i kodegenerering, men deres evner stopper ofte der. De mangler kritiske prosjektledelsesfunksjoner som PRD-generering, teknisk designgenerering og API-grensesnittsprototyping.
Enter MetaGPT— et multi-agent system som utnytter store språkmodeller ved Sirui Hong fusjonerer Standardiserte Operasjonsprosedyrer (SOP) med LLM-baserte multi-agent systemer. Dette nye paradigmet bryter med de eksisterende begrensningene til LLM i å fremme effektivt samarbeid og oppgavedekomposisjon i komplekse, virkelige applikasjoner.
Sjarmen til MetaGPT ligger i dens struktur. Det kapitaliserer på meta-programmeringsteknikker for å manipulere, analysere og transformere kode i sanntid. Målet? Å aktualisere en smidig, fleksibel programvarearkitektur som kan tilpasse seg dynamiske programmeringsoppgaver.
SOP fungerer som en meta-funksjon her, koordinerer agenter for å auto-generere kode basert på definerte innputt. I enkle termer, det er som om du har omdannet et høyt koordinert team av programvareingeniører til en tilpasningsdyktig, intelligent programvare-system.
Forstå MetaGPT-rammeverk

MetaGPT-rammeverk (https://arxiv.org/pdf/2308.00352.pdf)
Grunnleggende & Samarbeidslag
MetaGPTs arkitektur er delt inn i to lag: Grunnleggende Komponenter-laget og Samarbeids-laget.
- Grunnleggende Komponenter-lag: Dette laget fokuserer på individuelle agent-operasjoner og fasiliteter system-wide informasjonsutveksling. Det introduserer core-byggestener som Miljø, Minne, Roller, Handlinger og Verktøy. Miljøet setter scenen for felles arbeidsplasser og kommunikasjonsveier, mens Minne fungerer som historisk data-arkiv. Roller inkapsler domene-spesifikke ekspertise, Handlinger utfører modulære oppgaver, og Verktøy tilbyr felles tjenester. Dette laget tjener essensielt som operativsystemet for agentene. Mer detaljer om hvordan disse fungerer sammen er tilgjengelig i artikkelen ‘Beyond ChatGPT; AI Agent: A New World of Workers‘
- Samarbeids-lag: Bygget på toppen av grunnleggende komponenter, dette laget håndterer og strømlinjeformer de samarbeidende anstrengelsene til individuelle agenter. Det introduserer to mekanismer: Kunnskapsdeling og Inkapsling av Arbeidsflyter.
- Kunnskapsdeling: Dette fungerer som det samarbeidende lim som binder agenter sammen. Agenter kan lagre, hente og dele informasjon på ulike nivåer, dermed reduserer redundans og forbedrer operasjonell effektivitet.
- Inkapsling av Arbeidsflyter: Dette er hvor Standardiserte Operasjonsprosedyrer (SOP) kommer inn i bildet. SOP fungerer som blåkopier som bryter ned oppgaver i håndterbare komponenter. Agenter tildeles disse underoppgavene, og deres ytelse er tilpasset standardiserte utdata.
MetaGPT bruker også “Rolledefinisjoner” for å initiere spesialiserte agenter som Produktledere, Arkitekter osv. som vi diskuterte ovenfor. Disse rollene karakteriseres av nøkkelattributter som navn, profil, mål, begrensninger og beskrivelse.
Videre, “Ankeragenter” gir rollespesifik veiledning til disse agentene. For eksempel, en Produktleders rolle kan initialiseres med begrensningen “effektivt skape en suksessfull produkt.” Ankeragenter sikrer at agentenes atferd er i samsvar med de overordnede målene, og dermed optimaliserer ytelsen.
Kognitive prosesser i MetaGPT-agenter
MetaGPT kan observere, tenke, reflektere og handle. De opererer gjennom spesifikke atferdsfunksjoner som _think(), _observe(), _publish_message() osv. Denne kognitive modelleringen utstyrer agentene til å være aktive lærere som kan tilpasse seg og utvikle seg.
- Observere: Agenter skanner deres miljø og inkorporerer nøkkeldata i deres Minne.
- Tenke & Reflektere: Gjennom
_think()-funksjonen, roller diskuterer før de utfører handlinger. - Kringkaste meldinger: Agenter bruker
_publish_message()for å dele nåværende oppgavestatus og relaterte handlinger. - Kunnskapsnedbør & Handle: Agenter vurderer innkommende meldinger og oppdaterer deres interne repository før de bestemmer seg for den neste handlingen.
- Tilstandshåndtering: Med funksjoner som oppgave-låsing og statusoppdatering, kan roller prosessere flere handlinger sekvensielt uten avbrudd, og speiler virkelige menneskelige samarbeid.
Kode-gjennomgangsmekanismer for MetaGPT
Kode-gjennomgang er en kritisk komponent i programvareutviklingslivssyklusen, men den er fraværende i flere populære rammeverk. både MetaGPT og AgentVerse støtter kode-gjennomgangsfunksjoner, men MetaGPT går et skritt videre. Det inkorporerer også precompilering-utførelse, som hjelper til tidlig feiloppdaging og dermed eleverer kodekvalitet. Gitt den iterative naturen til kodeutvikling, er denne funksjonen ikke bare et tillegg, men et krav for enhver moden utviklingsrammeverk.
Kvantitative eksperimenter utført over flere oppgaver avslørte at MetaGPT overgikk sine motparter i nesten alle scenarioer. Pass@1 er et mål på rammeverkets evne til å generere nøyaktig kode i en enkelt iterasjon. Dette målet tilbyr en mer realistisk refleksjon av et rammeverks nytte i en praktisk setting. En høyere Pass@1-rate betyr mindre feilsøking og mer effektivitet, og har en direkte innvirkning på utviklingscyklus og kostnader. Når det er stablet mot andre avanserte kodegenereringsverktøy som CodeX, CodeT og sogar GPT-4, overgår MetaGPT alle. Rammeverkets evne til å oppnå en 81,7% til 82,3% Pass@1-rate på HumanEval og MBPP-benchmark.

Sammenligning av MBPP og HumanEval-målinger mellom MetaGPT og andre ledende modeller (https://arxiv.org/pdf/2308.00352.pdf)
Rammeverket bruker også færre token og beregningsressurser, og oppnår en høy suksessrate til en brøkdel av tradisjonelle programvareutviklingskostnader. Dataene indikerte en gjennomsnittlig kostnad på bare 1,09 dollar per prosjekt med MetaGPT, som er en brøkdel av hva en utvikler ville belaste for den samme oppgaven.
Trinn for å installere MetaGPT lokalt på din maskin
NPM, Python-installasjon
- Sjekk & Install NPM: Først og fremst, sikre deg at NPM er installert på din maskin. Hvis det ikke er, må du installere node.js. For å sjekke om du har npm, kjør denne kommandoen i terminalen:
npm --version. Hvis du ser en versjonsnummer, er du god til å gå. - For å installere
mermaid-js, en avhengighet for MetaGPT, kjør:sudo npm install -g @mermaid-js/mermaid-cliellernpm install -g @mermaid-js/mermaid-cli - Bekreft Python-versjon: Sikre deg at du har Python 3.9 eller høyere. For å sjekke din Python-versjon, åpne terminalen og skriv:
python --version. Hvis du ikke er oppdatert, last ned den siste versjonen fra Python-offisielle nettsted. - Klon MetaGPT-repositoriet: Start med å klone MetaGPT-GitHub-repositoriet ved hjelp av kommandoen
git clone https://github.com/geekan/metagpt. Sikre deg at du har Git installert på din maskin for dette. Hvis ikke, besøk her. - Naviger til katalogen: Når det er klonet, naviger til MetaGPT-katalogen ved hjelp av kommandoen
cd metagpt. - Installasjon: Kjør Python-innstallasjonsskriptet for å installere MetaGPT med kommandoen
python setup.py install. - Opprett en applikasjon: Kjør
python startup.py "ENTER-PROMPT" --code_review True
Merk:
- Ditt nye prosjekt burde nå være i
workspace/-katalogen. --code_review Truevil tillate GPT-modellen å utføre ekstra operasjoner som vil sikre at koden kjører nøyaktig, men merk at det vil koste mer.- Hvis du møter en tilgangsfeil under installasjon, prøv å kjøre
python setup.py install --usersom et alternativ. - For å få tilgang til bestemte utgaver og mer informasjon, besøk den offisielle MetaGPT-GitHub-utgaver-siden: MetaGPT-utgaver.
Docker-installasjon
For de som foretrekker containerisering, forenkler Docker prosessen:
- Trekk Docker-bildet: Last ned det offisielle MetaGPT-bildet og forbered konfigurasjonsfilen:
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
- Kjør MetaGPT-beholderen: Kjør beholderen med følgende 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 "Opprett en enkel og interaktiv CLI-basert stein, saks, papir-spill" --code_review True
Konfigurere MetaGPT med din OpenAI-API-nøkkel
Etter den innledende installasjonen, må du integrere MetaGPT med din OpenAI-API-nøkkel. Her er trinnene for å gjøre dette:
- Finne eller generere din OpenAI-nøkkel: Du kan finne denne nøkkelen i din OpenAI-kontrollpanel under API-innstillinger.
- Sett API-nøkkelen: Du har mulighet til å plassere API-nøkkelen i enten
config/key.yaml,config/config.yamleller sette den som en miljøvariabel (env). Forkjøpsrekkefølgen erconfig/key.yaml > config/config.yaml > env. - For å sette nøkkelen, naviger til
config/key.yamlog erstatt placeholder-teksten med din OpenAI-nøkkel:OPENAI_API_KEY: "sk-..."
Husk å sikre din OpenAI-API-nøkkel. Aldri commit den til et offentlig repository eller del den med uautoriserte personer.
Eksempel-illustrasjon
Jeg ga målet om å utvikle en CLI-basert stein, saks, papir-spill, og MetaGPT utførte oppgaven med suksess.
Nedenfor er det en video som viser den faktiske kjøringen av den genererte spillkoden.
MetaGPT-demo-kjøring
MetaGPT leverte en systemdesign-dokument i Markdown – et vanlig brukt lett markup-språk. Denne Markdown-filen var full av UML-diagrammer, og tilbød en detaljert visning av den arkitektoniske blåkopien. I tillegg var API-spesifikasjoner detaljert med HTTP-metoder, sluttpunkter, forespørsel/svar-objekter og statuskoder
Klassen-diagrammet detaljerer attributtene og metodene til vår Spill-klasse, og tilbyr en abstraksjon som er lett å forstå. Det visualiserer også oppringingsflyten til programmet, og omdanner abstrakte ideer til konkrete trinn.
Ikke bare reducerer dette manuelt arbeid i planlegging, men det akselererer også beslutningsprosessen, og sikrer at din utviklingspipeline forblir smidig. Med MetaGPT, du er ikke bare automatisering av kodegenerering, du er automatisering av intelligent prosjektplanlegging, og tilbyr en konkurransefordel i rask applikasjonsutvikling.
Konklusjon: MetaGPT – Revolusjonerer programvareutvikling
MetaGPT omdefinerer landskapet av generativ AI og programvareutvikling, og tilbyr en sammenhengende blanding av intelligent automatisering og smidig prosjektledelse. Langt over kapasiteten til ChatGPT, AutoGPT og tradisjonelle LangChain-modeller, det overgår i oppgavedekomposisjon, effektiv kodegenerering og prosjektplanlegging. Lær mer om
Her er de viktigste punktene fra denne artikkelen:
- Kraften til meta-programmering: Ved å bruke meta-programmering, tilbyr MetaGPT en smidig og tilpasningsdyktig programvare-rammeverk. Det overgår den smale funksjonaliteten til legacy-verktøy, og introduserer en transformasjonell tilnærming som håndterer ikke bare kode, men også prosjektledelse og beslutningsaspekter.
- To-lags-arkitektur: Med sine grunnleggende og samarbeidslag, skaper MetaGPT en synergistisk økosystem hvor agenter kan arbeide sammen, likt et ekspertledet programvareteam.
- Optimalisert kode-gjennomgang: Forbi bare kodegenerering, tilbyr MetaGPT precompilering-utførelse-funksjoner, som er en tidlig feiloppdaging. Dette ikke bare sparer feilsøkingstid, men også sikrer kodekvalitet.
- Kognitive agenter: MetaGPTs intelligente agenter, utstyrt med kognitive funksjoner som
_observe(),_think()og_publish_message(), tilpasser seg og utvikler seg, og sikrer at din programvareløsning ikke bare er kodet, men også “intelligent”. - Installasjon & distribusjon: Vi har vist at MetaGPT kan installeres enkelt, enten du foretrekker en lokal installasjon via npm og Python, eller containerisering via Docker.















