AGI og fremtidens AI

MetaGPT: Den Komplette Guide Til Det Bedste AI-Agent Tilgængeligt Lige Nu

mm
Føj Unite.AI til dine foretrukne kilder på Google

Med Large Language Models (LLM’er) som ChatGPT har OpenAI oplevet en vækst i virksomheds- og brugeradoption, og indtjener i øjeblikket omkring 80 millioner dollars om måneden. Ifølge en ny rapport fra The Information, er det San Francisco-baserede selskab ifølge rapporten på vej til at nå 1 milliard dollars i årlig omsætning.

Sidst vi dykkede ned i AutoGPT og GPT-Engineering, de tidlige mainstream open-source LLM-baserede AI-agenter designet til at automatisere komplekse opgaver. Selv om disse systemer var lovende, havde de deres del af problemer: inkonsistente resultater, ydelsesbottleneck’er og begrænsninger i håndtering af multifacetterede krav. De viser dygtighed i kodegenerering, men deres evner stopper ofte der. De mangle kritiske projektledelsesfunktioner som PRD-generering, teknisk designgenerering og API-grænseflade-prototypering.

Indtast MetaGPT – et multi-agent-system, der udnytter Large Language-modeller af Sirui Hong kombinerer Standardiserede Operative Procedure (SOP’er) med LLM-baserede multi-agent-systemer. Dette opkommende paradigme forstyrrer de eksisterende begrænsninger for LLM’er i at fremme effektivt samarbejde og opgavedekomposition i komplekse, virkelige anvendelser.

Skønheden i MetaGPT ligger i dets struktur. Det udnytter meta-programmeringsteknikker til at manipulere, analysere og transformere kode i realtid. Formålet? At realisere en agil, fleksibel softwarearkitektur, der kan tilpasse sig dynamiske programmeringsopgaver.

Agil Udvikling - Metagpt

Agil Udvikling

SOP’er fungerer som en meta-funktion her, hvor koordinering af agenter til at auto-generere kode baseret på definerede input. I simple termer er det, som om du har omdannet et højt koordineret hold af software-ingeniører til et tilpasningsdygtigt, intelligent software-system.

Forståelse af MetaGPT-Rammer

Grundlæggende & Samarbejds Lag

MetaGPT’s arkitektur er inddelt i to lag: det grundlæggende komponentlag og samarbejdslaget.

  1. Grundlæggende Komponentlag: Dette lag fokuserer på individuelle agentoperationer og faciliterer systemomfattende informationsudveksling. Det introducerer kernebyggeklodser som Miljø, Hukommelse, Roller, Handlinger og Værktøjer. Miljøet sætter scenen for fælles arbejdspladser og kommunikationsveje, mens Hukommelse fungerer som den historiske dataarkiv. Roller indkapsler domænespecifik ekspertise, Handlinger udfører modulære opgaver, og Værktøjer tilbyder fælles services. Dette lag fungerer essentiel som operativsystemet for agenterne. Mere detaljer om, hvordan disse arbejder sammen, kan findes i artiklen ‘Beyond ChatGPT; AI-Agent: A New World of Workers
  2. Samarbejds Lag: Bygget oven på grundlæggende komponenter, dette lag styrer og strømliner samarbejdsindsatsen for individuelle agenter. Det introducerer to mekanismer: Videnstilkobling og Arbejdsgange.
    • Videnstilkobling: Dette fungerer som det samarbejdende lim, der binder agenter sammen. Agenter kan gemme, hente og dele information på forskellige niveauer, hvilket reducerer redundans og forbedrer operationel effektivitet.
    • Arbejdsgange: Dette er, hvor Standardiserede Operative Procedure (SOP’er) kommer ind i billedet. SOP’er fungerer som blåtryk, der bryder opgaver ned i håndterbare komponenter. Agenter tildeles disse underopgaver, og deres præstation er tilpasset standardiserede udgangspunkter.

MetaGPT bruger også “Rolledefinitioner” til at initiere forskellige specialiserede agenter som Produktchefer, Arkitekter osv. som vi diskuterede ovenfor. Disse roller karakteriseres af nøgleattributter som navn, profil, mål, begrænsninger og beskrivelse.

Desuden “Ankeragenter” giver rollespecifik vejledning til disse agenter. For eksempel kan en Produktchefs rol måske initialiseres med begrænsningen “effektivt at skabe et succesfuldt produkt.” Ankeragenter sikrer, at agenternes adfærd er i overensstemmelse med de overordnede mål, hvilket optimerer præstationen.

Kognitive Processer i MetaGPT-Agenter

MetaGPT kan observere, tænke, reflektere og handle. De opererer gennem specifikke adfærdsfunktioner som _think(), _observe(), _publish_message() osv. Denne kognitive modellering udstyrer agenterne til at være aktive lærende, der kan tilpasse sig og udvikle sig.

  1. Observere: Agenter scannrer deres miljø og inkorporerer nøgledata i deres Hukommelse.
  2. Tænke & Reflektere: Gennem _think()-funktionen, overvejer roller, før de påtager sig handlinger.
  3. Udsende Meddelelser: Agenter bruger _publish_message() til at dele nuværende opgavestatus og relaterede handlingsoptegnelser.
  4. Videnspræcipitation & Handle: Agenter vurderer indkommende meddelelser og opdaterer deres interne repository, før de beslutter sig for den næste kurs.
  5. Tilstandsstyring: Med funktioner som opgavelåsning og statusopdatering kan roller behandle multiple handlinger sekventielt uden afbrydelse, hvilket spejler menneskeligt samarbejde i den virkelige verden.

Kodegennemgangsmekanismer for MetaGPT

Kodegennemgang er en kritisk komponent i softwareudviklingslivscyklussen, men den mangler i flere populære rammer. Såvel MetaGPT som AgentVerse understøtter kodegennemgangskapaciteter, men MetaGPT går et skridt videre. Det inkorporerer også precompilationskørsel, hvilket hjælper med tidlig fejlafkrydning og forbedrer kodekvalitet. Givet den iterative natur af kodning, er denne funktion ikke blot et tilføjelse, men en krævende for enhver moden udviklingsramme.

Kvantitative eksperimenter udført over flere opgaver afslørede, at MetaGPT overgik sine modparter i næsten alle scenarier. Pass@1 er et mål for rammeværkets evne til at generere præcis kode i en enkelt iteration. Dette mål tilbyder en mere realistisk refleksion af rammeværkets nytte i en praktisk sammenhæng. En højere Pass@1-rate betyder mindre fejlfinding og mere effektivitet, hvilket direkte påvirker udviklingscykler og omkostninger. Når det sammenlignes med andre avancerede kodegenereringsværktøjer som CodeX, CodeT og selv GPT-4, overgår MetaGPT dem alle. Rammeværkets evne til at opnå en 81,7% til 82,3% Pass@1-rate på HumanEval og MBPP-benchmark.

Sammenligning af MBPP og HumanEval-målinger mellem MetaGPT og andre førende modeller (https://arxiv.org/pdf/2308.00352.pdf)

Sammenligning af MBPP og HumanEval-målinger mellem MetaGPT og andre førende modeller (https://arxiv.org/pdf/2308.00352.pdf)

Rammeværket bruger også færre tokens og beregningsressourcer og opnår en høj succesrate til en brøkdel af traditionelle softwareingeniøringsomkostninger. Dataene indikerede en gennemsnitlig omkostning på kun 1,09 dollars per projekt med MetaGPT, hvilket er en brøkdel af, hvad en udvikler ville belaste for den samme opgave.

Trin til Lokal Installation af MetaGPT på Din System

NPM, Python-Installation

  1. Tjek & Installer NPM: Først og fremmest, sikr dig, at NPM er installeret på dit system. Hvis det ikke er, skal du installere node.js. For at tjekke, om du har npm, skal du køre følgende kommando i din terminal: npm --version. Hvis du ser en versionsnummer, er du godt på vej.
  2. For at installere mermaid-js, en afhængighed for MetaGPT, skal du køre: sudo npm install -g @mermaid-js/mermaid-cli eller npm install -g @mermaid-js/mermaid-cli
  3. Bekræft Python-Version: Sikr dig, at du har Python 3.9 eller højere. For at tjekke din Python-version, åbn din terminal og skriv: python --version. Hvis du ikke er opdateret, skal du downloade den seneste version fra Python’s officielle hjemmeside.
  4. Klon MetaGPT-Repository: Start med at klone MetaGPT-GitHub-repository ved hjælp af kommandoen git clone https://github.com/geekan/metagpt. Sikr dig, at du har Git installeret på dit system til dette. Hvis ikke, besøg her.
  5. Navigér til Directory: Når du har klonet, navigér til MetaGPT-directory ved hjælp af kommandoen cd metagpt.
  6. Installation: Kør Python-opsætnings-scriptet for at installere MetaGPT med kommandoen python setup.py install.
  7. Opret en Anvendelse: Kør python startup.py "INDSÆT-PROMPT" --code_review True

Bemærk:

  • Dit nye projekt burde nu være i workspace/-directory.
  • --code_review True vil give GPT-modellen mulighed for at udføre ekstra operationer, som vil sikre, at koden køres nøjagtigt, men bemærk, at det vil koste mere.
  • Hvis du møder en tilladelsesfejl under installation, prøv at køre python setup.py install --user som en alternativ.
  • For adgang til specifikke udgaver og yderligere detaljer, besøg den officielle MetaGPT-GitHub-udgivelsesside: MetaGPT-Udgivelser.

Docker-Installation

For dem, der foretrækker containerisering, gør Docker processen lettere:

  • Træk Docker-Billede: Download det officielle MetaGPT-billede og forbered 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-Container: Kør containeren 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 "Opret en simpel og interaktiv CLI-baseret sten, papir og saks-spil" --code_review True

Konfiguration af MetaGPT med Din OpenAI-API-Nøgle

Efter den initielle opsætning skal du integrere MetaGPT med din OpenAI-API-nøgle. Her er trinnene til at gøre det:

  1. Find eller Generér Din OpenAI-Nøgle: Du kan finde denne nøgle i din OpenAI-Kontrolpanel under API-indstillinger.
  2. Angiv API-Nøgle: Du har mulighed for at placere API-nøglen i enten config/key.yaml, config/config.yaml eller sætte den som en miljøvariabel (env). Præcedensordenen er config/key.yaml > config/config.yaml > env.
  3. For at angive nøglen, navigér til config/key.yaml og erstattede placeholder-teksten med din OpenAI-nøgle: OPENAI_API_KEY: "sk-..."

Husk at beskytte din OpenAI-API-nøgle. Del den aldrig med uautoriserede personer eller commit den til en offentlig repository.

BrugsEksempel

Jeg gav objektivet at udvikle en CLI-baseret sten, papir og saks-spil, og MetaGPT udførte opgaven med succes.

Herunder er et billede, der viser den faktiske kørsel af den genererede spilkode.

MetaGPT-Demo-Kørsel

MetaGPT leverede en systemdesign-dokument i Markdown – et almindeligt brugt letvægtsmarkup-sprog. Denne Markdown-fil var fuld af UML-diagrammer, hvilket gav en detaljeret visning af den arkitektoniske blåkopie. Desuden var API-specifikationer detaljeret med HTTP-metoder, slutpunkter, anmodnings-/svar-objekter og statuskoder

MetaGPT-Output - Systemdesign

MetaGPT-Output – Systemdesign Markdown

Klassediagrammet detaljerer attributterne og metoderne for vores Spil-klasse, hvilket giver en abstraktion, der er let at forstå. Det visualiserer endda opkaldsflowet af programmet, hvilket effektivt omdanner abstrakte ideer til konkrete trin.

Ikke blot reducerer dette betydeligt den manuelle overhæng i planlægning, men det accelererer også beslutningsprocessen, hvilket sikrer, at din udviklingspipeline forbliver agil. Med MetaGPT automatiserer du ikke blot kodegenerering, men også intelligent projektplanlægning, hvilket giver en konkurrencemæssig fordel i hurtig applikationsudvikling.

Konklusion: MetaGPT – En Revolution Indenfor Softwareudvikling

MetaGPT gendefinerer landskabet for generativ AI og softwareudvikling, tilbydende en ubrudt blanding af intelligent automation og agil projektstyring. Det overgår langt de muligheder, som ChatGPT, AutoGPT og traditionelle LangChain-modeller har, og det excellerer i opgavedekomposition, effektiv kodegenerering og projektplanlægning. Lær mere om

Her er de vigtigste punkter fra denne artikel:

  1. Meta-Programmeringens Kraft: Ved at anvende meta-programmering tilbyder MetaGPT en agil og tilpasningsdygtig software-ramme. Det overgår den snævre funktionalitet af legacy-værktøjer og introducerer en transformerende tilgang, der ikke blot håndterer kodning, men også projektstyring og beslutningsaspekter.
  2. To-Lags-Arkitektur: Med dets grundlæggende og samarbejds-lag skaber MetaGPT effektivt en synergetisk økosystem, hvor agenter kan arbejde sammen, ligesom et ekspertledet software-team.
  3. Optimeret Kodegennemgang: Ud over blot at generere kode tilbyder MetaGPT precompilationskørsel, hvilket er en tidlig fejlafkrydning. Dette ikke blot sparer fejlfindings tid, men sikrer også kodekvalitet.
  4. Kognitive Agenter: MetaGPT’s intelligente agenter, udstyret med kognitive funktioner som _observe(), _think() og _publish_message(), udvikler sig og tilpasser sig, hvilket sikrer, at din softwareløsning ikke blot er kodet, men også “intelligent”.
  5. Installation & Udrulning: Vi har vist, at MetaGPT kan installeres let, enten via lokal installation med npm og Python eller gennem containerisering med Docker.

Jeg har brugt de sidste fem år på at dykke ned i den fascinerende verden af Machine Learning og Deep Learning. Min passion og ekspertise har ført mig til at bidrage til over 50 forskellige software-ingeniørprojekter, med en særlig fokus på AI/ML. Min fortsatte nysgerrighed har også ført mig mod Natural Language Processing, et felt jeg er ivrig efter at udforske yderligere.