škrbina MetaGPT: Popoln vodnik po najboljšem agentu AI, ki je trenutno na voljo – Unite.AI
Povežite se z nami

Umetna splošna inteligenca

MetaGPT: Popoln vodnik po najboljšem agentu za umetno inteligenco, ki je trenutno na voljo

mm

objavljeno

 on

MetaGPBassed Ilustracija sodelovanja človeka in strojaT

Z velikimi jezikovnimi modeli (LLM), kot je ChatGPT, je bil OpenAI priča porastu sprejemanja v podjetjih in uporabnikih, trenutno pa ima približno 80 milijonov USD mesečnega prihodka. Po mnenju a nedavno poročilo The Information naj bi podjetje s sedežem v San Franciscu doseglo 1 milijardo dolarjev letnega prihodka.

Zadnjič smo se poglobili v AutoGPT in GPT-inženiring, zgodnji mainstream odprtokodni agenti umetne inteligence, ki temeljijo na LLM, zasnovani za avtomatizacijo zapletenih nalog. Čeprav so bili obetavni, so imeli ti sistemi precejšen delež težav: nedosledni rezultati, ozka grla pri delovanju in omejitve pri obravnavanju večplastnih zahtev. Kažejo strokovnost pri ustvarjanju kode, vendar se njihove zmogljivosti pogosto ustavijo pri tem. Manjkajo kritične funkcije za upravljanje projektov, kot je generiranje PRD, generiranje tehničnega načrta in prototipiranje vmesnika API.

Vnesite MetaGPT— sistem z več agenti, ki uporablja modele velikih jezikov Siruija Honga, združuje standardizirane operativne postopke (SOP) s sistemi z več agenti, ki temeljijo na LLM. Ta nastajajoča paradigma moti obstoječe omejitve LLM-jev pri spodbujanju učinkovitega sodelovanja in razgradnje nalog v zapletenih aplikacijah iz resničnega sveta.

Lepota MetaGPT je v njegovem strukturiranju. Izkorišča tehnike metaprogramiranja za manipulacijo, analizo in transformacijo kode v realnem času. Cilj? Uresničiti agilno, prilagodljivo arhitekturo programske opreme, ki se lahko prilagodi dinamičnim programskim nalogam.

Agilni razvoj - Metagpt

Agilni razvoj

SOP-ji tukaj delujejo kot metafunkcija in usklajujejo agente za samodejno ustvarjanje kode na podlagi definiranih vnosov. Preprosto povedano, to je, kot da ste zelo usklajeno ekipo programskih inženirjev spremenili v prilagodljiv, inteligenten programski sistem.

Razumevanje ogrodja MetaGPT

Temeljni sloji in sloji sodelovanja

Arhitektura MetaGPT je razdeljena na dve plasti: plast temeljnih komponent in plast sodelovanja.

  1. Sloj temeljnih komponent: Ta plast se osredotoča na operacije posameznih agentov in omogoča izmenjavo informacij v celotnem sistemu. Predstavlja osnovne gradnike, kot so okolje, pomnilnik, vloge, dejanja in orodja. Okolje postavlja temelje za skupne delovne prostore in komunikacijske poti, medtem ko pomnilnik služi kot arhiv zgodovinskih podatkov. Vloge povzemajo strokovno znanje, specifično za področje, dejanja izvajajo modularne naloge, orodja pa ponujajo skupne storitve. Ta plast v bistvu služi kot operacijski sistem za agente. Več podrobnosti o tem, kako delujejo skupaj, je na voljo v članku 'Poleg ChatGPT; Agent AI: Novi svet delavcev"
  2. Plast sodelovanja: Zgrajena na temeljnih komponentah, ta plast upravlja in poenostavlja skupna prizadevanja posameznih agentov. Predstavlja dva mehanizma: izmenjavo znanja in enkapsulacijo delovnih tokov.
    • Izmenjava znanja: To deluje kot sodelujoče lepilo, ki povezuje agente. Agenti lahko shranjujejo, pridobivajo in delijo informacije na različnih ravneh, s čimer zmanjšajo redundanco in povečajo učinkovitost delovanja.
    • Enkapsulacija delovnih tokov: Tu pridejo v poštev standardizirani operativni postopki (SOP). SOP delujejo kot načrti, ki razdelijo naloge na obvladljive komponente. Agentom so dodeljene te podnaloge, njihova uspešnost pa je usklajena s standardiziranimi rezultati.

MetaGPT uporablja tudi "Definicije vlog” za iniciacijo različnih specializiranih agentov, kot so produktni vodje, arhitekti itd., kot smo razpravljali zgoraj. Za te vloge so značilni ključni atributi, kot so ime, profil, cilj, omejitve in opis.

Poleg tega "Sidrni agenti” tem agentom zagotavlja navodila za posamezne vloge. Na primer, vloga produktnega vodje se lahko inicializira z omejitvijo »učinkovito ustvarjanje uspešnega izdelka«. Sidrni agenti zagotavljajo, da je vedenje agentov usklajeno s splošnimi cilji, s čimer se optimizira uspešnost.

Kognitivni procesi v agentih MetaGPT

MetaGPT lahko opazuje, razmišlja, razmišlja in deluje. Delujejo prek posebnih vedenjskih funkcij, kot so _think(), _observe(), _publish_message(), itd. To kognitivno modeliranje opremi agente, da so aktivni učenci, ki se lahko prilagajajo in razvijajo.

  1. Opazujte: Agenti pregledajo svoje okolje in vključijo ključne podatke v svoj pomnilnik.
  2. Razmišljaj in razmišljaj: Skozi _think() funkcijo, vloge premišljene, preden se lotite dejanj.
  3. Oddajna sporočila: Uporabljena sredstva _publish_message() za skupno rabo trenutnih statusov nalog in povezanih zapisov dejanj.
  4. Znanje Precipitation & Act: Agenti ocenijo dohodna sporočila in posodobijo svoja notranja skladišča, preden se odločijo za naslednji potek ukrepanja.
  5. Državno upravljanje: S funkcijami, kot sta zaklepanje opravil in posodabljanje statusa, lahko vloge obdelajo več dejanj zaporedoma brez prekinitev, kar odraža človeško sodelovanje v resničnem svetu.

Mehanizmi za pregled kode za MetaGPT

Pregled kode je kritična komponenta v življenjskem ciklu razvoja programske opreme, vendar ga v več priljubljenih okvirih ni. Tako MetaGPT kot AgentVerse zmožnosti pregleda kode podpore, MetaGPT pa gre še korak dlje. Vključuje tudi izvajanje predprevajanja, ki pomaga pri zgodnjem odkrivanju napak in posledično izboljša kakovost kode. Glede na ponavljajočo se naravo kodiranja ta funkcija ni le dodatek, ampak zahteva za kateri koli zrel razvojni okvir.

Kvantitativni poskusi, izvedeni v več nalogah, so pokazali, da je MetaGPT prekašal svoje nasprotnike v skoraj vseh scenarijih. Pass@1 je merilo zmožnosti ogrodja za ustvarjanje natančne kode v eni sami ponovitvi. Ta metrika ponuja bolj realističen odraz uporabnosti ogrodja v praktičnem okolju. Višja stopnja Pass@1 pomeni manj odpravljanja napak in večjo učinkovitost, kar neposredno vpliva na razvojne cikle in stroške. V primerjavi z drugimi naprednimi orodji za ustvarjanje kode, kot je npr Codex, KodaT, in celo GPT-4, MetaGPT prekaša nakupovalni center. Sposobnost ogrodja, da doseže an 81.7% do 82.3% Ocena Pass@1 vključena HumanEval in MBPP merila uspešnosti.

Primerjava meritev MBPP in HumanEval z/b MetaGPT in drugimi vodilnimi modeli (https://arxiv.org/pdf/2308.00352.pdf)

Primerjava meritev MBPP in HumanEval z/b MetaGPT in drugimi vodilnimi modeli (https://arxiv.org/pdf/2308.00352.pdf)

Ogrodje prav tako uporablja manj žetonov in računalniških virov, s čimer doseže visoko stopnjo uspešnosti pri delčku stroškov tradicionalnega programskega inženiringa. Podatki so pokazali povprečni strošek samo $1.09 na projekt z MetaGPT, kar je le delček tistega, kar bi razvijalec zaračunal za isto nalogo.

Koraki za lokalno namestitev MetaGPT v vaš sistem

NPM, namestitev Pythona

  1. Preverite in namestite NPM: Najprej se prepričajte, da je NPM nameščen v vašem sistemu. Če ni, ga boste morali namestiti node.js. Če želite preveriti, ali imate npm, zaženite ta ukaz v terminalu: npm --version. Če vidite številko različice, ste pripravljeni.
  2. Za namestitev mermaid-js, odvisnost za MetaGPT, zaženite: sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. Preverite različico Python: Zagotovite, da imate Python 3.9 ali novejši. Če želite preveriti svojo različico Pythona, odprite terminal in vnesite: python --version. Če niste posodobljeni, prenesite najnovejšo različico iz Uradna spletna stran Python.
  4. Kloniraj repozitorij MetaGPT: Začnite s kloniranjem repozitorija MetaGPT GitHub z ukazom git clone https://github.com/geekan/metagpt. Prepričajte se, da imate Git nameščen v vašem sistemu za to. Če ne, obiščite tukaj.
  5. Pomaknite se do imenika: Ko je kloniran, se z ukazom pomaknite do imenika MetaGPT cd metagpt.
  6. namestitev: Izvedite namestitveni skript Python za namestitev MetaGPT z ukazom python setup.py install.
  7. Ustvari aplikacijo: Zaženi python startup.py "ENTER-PROMPT" --code_review True

Opombe:

  • Vaš novi projekt bi moral biti zdaj v workspace/ imenik.
  • --code_review True bo modelu GPT omogočil dodatne operacije, ki bodo zagotovile natančno izvajanje kode, vendar upoštevajte, da bo to stalo več.
  • Če med namestitvijo naletite na napako pri dovoljenju, poskusite zagnati python setup.py install --user kot alternativo.
  • Za dostop do določenih izdaj in dodatne podrobnosti obiščite uradno stran za izdaje MetaGPT GitHub: Izdaje MetaGPT.

Namestitev Dockerja

Za tiste, ki imajo raje kontejnerizacijo, Docker poenostavi postopek:

  • Potegnite sliko Dockerja: Prenesite uradno sliko MetaGPT in pripravite konfiguracijsko datoteko:
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
  • Zaženite vsebnik MetaGPT: Izvedite vsebnik z naslednjim ukazom:
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

Konfiguriranje MetaGPT z vašim ključem OpenAI API

Po začetni nastavitvi boste morali integrirati MetaGPT s ključem OpenAI API. Tukaj so koraki za to:

  1. Poiščite ali ustvarite svoj ključ OpenAI: Ta ključ najdete na nadzorni plošči OpenAI pod nastavitvami API-ja.
  2. Nastavite ključ API: Ključ API lahko postavite v eno ali drugo config/key.yaml, config/config.yamlali jo nastavite kot spremenljivko okolja (env). Prednostni vrstni red je config/key.yaml > config/config.yaml > env.
  3. Če želite nastaviti ključ, pojdite na config/key.yaml in zamenjajte nadomestno besedilo s ključem OpenAI: OPENAI_API_KEY: "sk-..."

Ne pozabite zaščititi svojega ključa OpenAI API. Nikoli ga ne objavite v javnem skladišču ali ga delite z nepooblaščenimi osebami.

Ilustracija primera uporabe

Zadal sem si cilj razviti igro kamen, papir in škarje, ki temelji na CLI, in MetaGPT je nalogo uspešno izvedel.

Spodaj je videoposnetek, ki prikazuje dejansko izvajanje ustvarjene kode igre.

Demo zagon MetaGPT

MetaGPT je zagotovil dokument o načrtovanju sistema v Markdownu – pogosto uporabljenem lahkem označevalnem jeziku. Ta datoteka Markdown je bila polna diagramov UML in je tako ponujala podroben pogled na arhitekturni načrt. Poleg tega so bile specifikacije API-ja podrobno opisane z metodami HTTP, končnimi točkami, objekti zahtev/odzivov in statusnimi kodami

Izhod MetaGPT - Sistemska zasnova

MetaGPT Output – System Design Markdown

Diagram razredov podrobno opisuje atribute in metode našega Game razreda, ki zagotavlja abstrakcijo, ki je lahko razumljiva. Vizualizira celo potek klica v programu in abstraktne ideje učinkovito spremeni v oprijemljive korake.

Ne samo, da to bistveno zmanjša ročne stroške pri načrtovanju, ampak tudi pospeši proces odločanja, kar zagotavlja, da vaš razvojni tok ostane agilen. Z MetaGPT ne avtomatizirate samo generiranja kode, ampak avtomatizirate inteligentno načrtovanje projektov in tako zagotovite konkurenčno prednost pri hitrem razvoju aplikacij.

Zaključek: MetaGPT—revolucioniranje razvoja programske opreme

MetaGPT na novo opredeljuje pokrajino generativnega razvoja umetne inteligence in programske opreme ter ponuja brezhibno mešanico inteligentne avtomatizacije in agilnega vodenja projektov. Daleč presega zmožnosti modelov ChatGPT, AutoGPT in tradicionalnih modelov LangChain, odlikuje ga razčlenitev nalog, učinkovito ustvarjanje kode in načrtovanje projektov. Več o tem

Tukaj so ključni izsledki tega članka:

  1. Moč metaprogramiranja: MetaGPT z uporabo metaprogramiranja zagotavlja agilen in prilagodljiv programski okvir. Presega ozko funkcionalnost podedovanih orodij in uvaja transformativni pristop, ki obravnava ne samo kodiranje, ampak tudi vidike projektnega vodenja in odločanja.
  2. Dvoplastna arhitektura: MetaGPT s svojimi temeljnimi in sodelovalnimi plastmi učinkovito ustvarja sinergijski ekosistem, v katerem lahko agenti delujejo kohezivno, podobno kot strokovno vodena programska ekipa.
  3. Optimiziran pregled kode: MetaGPT poleg generiranja kode ponuja funkcije izvajanja vnaprejšnjega prevajanja, kar je v bistvu sistem zgodnjega opozarjanja na napake. To ne le prihrani čas za odpravljanje napak, ampak tudi zagotavlja kakovost kode.
  4. Kognitivni agenti: Inteligentni agenti MetaGPT, polni kognitivnih funkcij, kot so _observe(), _think() in _publish_message(), se razvijajo in prilagajajo ter zagotavljajo, da vaša programska rešitev ni samo kodirana, ampak je "inteligentna".
  5. Namestitev in uvajanje: Ponazorili smo, da je MetaGPT mogoče preprosto nastaviti, ne glede na to, ali imate raje lokalno namestitev prek npm in Python ali kontejnerizacijo prek Dockerja.

Zadnjih pet let sem se potopil v fascinanten svet strojnega in globokega učenja. Moja strast in strokovno znanje sta me pripeljala do tega, da sem prispeval k več kot 50 raznolikim projektom programskega inženiringa, s posebnim poudarkom na AI/ML. Moja nenehna radovednost me je pripeljala tudi do obdelave naravnega jezika, področja, ki ga želim nadalje raziskati.