stub MetaGPT: Visas geriausio šiuo metu turimo AI agento vadovas – Unite.AI
Susisiekti su mumis

Bendrasis dirbtinis intelektas

MetaGPT: Visas geriausio šiuo metu prieinamo AI agento vadovas

mm

paskelbta

 on

MetaGPBassed Žmogaus ir mašinos bendradarbiavimo iliustracijaT

Dėl didelių kalbų modelių (LLM), tokių kaip „ChatGPT“, „OpenAI“ pastebėjo, kad įmonės ir naudotojai pradėjo populiarėti, o šiuo metu kas mėnesį gaunamos maždaug 80 mln. USD pajamos. Pasak a naujausia ataskaita „The Information“ praneša, kad San Franciske įsikūrusi bendrovė siekia 1 mlrd. USD metinių pajamų.

Paskutinį kartą gilinomės į AutoGPT ir GPT-inžinerija, ankstyvieji pagrindiniai atvirojo kodo LLM pagrįsti AI agentai, skirti automatizuoti sudėtingas užduotis. Nors šios sistemos buvo daug žadančios, jos turėjo nemažą dalį problemų: nenuoseklių rezultatų, našumo kliūčių ir apribojimų, susijusių su įvairiapusiais reikalavimais. Jie rodo kodų generavimo įgūdžius, tačiau jų galimybės dažnai sustoja. Jiems trūksta svarbių projektų valdymo funkcijų, tokių kaip PRD generavimas, techninio dizaino generavimas ir API sąsajos prototipų kūrimas.

įeiti MetaGPT— kelių agentų sistema, kurioje naudojami Sirui Hong didelių kalbų modeliai, sujungia standartizuotas veikimo procedūras (SOP) su LLM pagrįstomis kelių agentų sistemomis. Ši nauja paradigma sutrikdo esamus LLM apribojimus skatinant efektyvų bendradarbiavimą ir užduočių skaidymą sudėtingose ​​realaus pasaulio programose.

MetaGPT grožis slypi jo struktūroje. Jis naudoja metaprogramavimo metodus, kad būtų galima manipuliuoti, analizuoti ir transformuoti kodą realiuoju laiku. Tikslas? Sukurti judrią, lanksčią programinės įrangos architektūrą, galinčią prisitaikyti prie dinaminių programavimo užduočių.

Agile Development – ​​metagpt

Judrus vystymasis

SOP čia veikia kaip metafunkcija, koordinuojanti agentus, kurie automatiškai generuoja kodą pagal apibrėžtas įvestis. Paprastais žodžiais tariant, panašu, kad labai koordinuotą programinės įrangos inžinierių komandą pavertėte pritaikoma, išmania programinės įrangos sistema.

MetaGPT sistemos supratimas

Pagrindiniai ir bendradarbiavimo sluoksniai

MetaGPT architektūra yra padalinta į du sluoksnius: pagrindinių komponentų sluoksnį ir bendradarbiavimo sluoksnį.

  1. Pagrindinių komponentų sluoksnis: Šis sluoksnis orientuotas į atskirų agentų operacijas ir palengvina informacijos mainus visoje sistemoje. Jame pristatomi pagrindiniai kūrimo blokai, tokie kaip aplinka, atmintis, vaidmenys, veiksmai ir įrankiai. Aplinka sudaro sąlygas bendroms darbo vietoms ir bendravimo keliams, o atmintis yra istorinių duomenų archyvas. Vaidmenys apima konkrečios srities patirtį, Veiksmai atlieka modulines užduotis, o įrankiai siūlo įprastas paslaugas. Šis sluoksnis iš esmės tarnauja kaip agentų operacinė sistema. Daugiau informacijos apie tai, kaip jie veikia kartu, rasite straipsnyje "Beyond ChatGPT; AI agentas: naujas darbuotojų pasaulis"
  2. Bendradarbiavimo sluoksnis: Sukurtas ant pagrindinių komponentų, šis sluoksnis valdo ir supaprastina atskirų agentų bendradarbiavimo pastangas. Jame pristatomi du mechanizmai: dalijimasis žiniomis ir darbo eigos inkapsuliavimas.
    • Dalinimasis žiniomis: Tai veikia kaip bendradarbiavimo klijai, sujungiantys agentus. Agentai gali saugoti, nuskaityti ir dalytis informacija įvairiais lygiais, todėl sumažėja perteklius ir padidėja veiklos efektyvumas.
    • Darbo eigos inkapsuliavimas: čia pradeda veikti standartizuotos veiklos procedūros (SOP). SOP veikia kaip brėžiniai, kurie suskirsto užduotis į valdomus komponentus. Agentams priskiriamos šios papildomos užduotys, o jų veikimas suderinamas su standartizuotais rezultatais.

MetaGPT taip pat naudoja "Vaidmenų apibrėžimai“, kad inicijuotų įvairius specializuotus agentus, tokius kaip produktų vadybininkai, architektai ir kt., kaip aptarėme aukščiau. Šie vaidmenys pasižymi pagrindiniais atributais, tokiais kaip vardas, profilis, tikslas, apribojimai ir aprašymas.

Be to, „Inkaro agentai“ pateikia konkrečias gaires šiems agentams. Pavyzdžiui, produkto vadovo vaidmuo gali būti inicijuotas su apribojimu „efektyviai sukurti sėkmingą produktą“. Pagrindiniai agentai užtikrina, kad agentų elgesys atitiktų pagrindinius tikslus ir taip optimizuotų našumą.

Kognityviniai procesai metaGPT agentuose

MetaGPT gali stebėti, mąstyti, apmąstyti ir veikti. Jie veikia per specifines elgesio funkcijas, pvz _think(), _observe(), _publish_message()tt Šis kognityvinis modeliavimas suteikia agentams galimybę būti aktyviais besimokančiaisiais, kurie gali prisitaikyti ir tobulėti.

  1. Stebėti: Agentai nuskaito savo aplinką ir įtraukia pagrindinius duomenis į savo atmintį.
  2. Galvok ir apmąstyk: Per _think() funkcija, vaidmenys apgalvoti prieš imantis veiksmų.
  3. Transliuoti pranešimus: Naudoti agentai _publish_message() bendrinti esamas užduočių būsenas ir susijusius veiksmų įrašus.
  4. Žinių kritimas ir veikimas: Agentai įvertina gaunamus pranešimus ir atnaujina savo vidines saugyklas prieš nuspręsdami dėl tolesnių veiksmų.
  5. Valstybės valdymas: Naudodami tokias funkcijas kaip užduočių užrakinimas ir būsenos atnaujinimas, vaidmenys gali atlikti kelis veiksmus paeiliui be pertrūkių, atspindėdami realų žmonių bendradarbiavimą.

MetaGPT kodo peržiūros mechanizmai

Kodo peržiūra yra esminis programinės įrangos kūrimo ciklo komponentas, tačiau keliose populiariose sistemose jos nėra. Tiek MetaGPT, tiek AgentVerse palaiko kodo peržiūros galimybes, tačiau MetaGPT žengia dar vieną žingsnį. Ji taip pat apima išankstinio kompiliavimo vykdymą, kuris padeda anksti aptikti klaidas ir vėliau pagerina kodo kokybę. Atsižvelgiant į iteracinį kodavimo pobūdį, ši funkcija yra ne tik priedas, bet ir bet kurios brandžios kūrimo sistemos reikalavimas.

Kiekybiniai eksperimentai, atlikti atliekant keletą užduočių, atskleidė, kad MetaGPT pranoko savo kolegas beveik kiekviename scenarijuje. Pass@1 yra sistemos gebėjimo generuoti tikslų kodą per vieną iteraciją matas. Ši metrika siūlo tikroviškesnį sistemos naudingumo atspindį praktinėje aplinkoje. Didesnis „Pass@1“ rodiklis reiškia mažiau derinimo ir didesnį efektyvumą, o tai tiesiogiai veikia kūrimo ciklus ir išlaidas. Kai sukrauti prieš kitus pažangius kodų generavimo įrankius, tokius kaip Kodeksas, CodeT, ir net GPT-4, MetaGPT pranoksta prekybos centras. Sistemos gebėjimas pasiekti 81.7% į 82.3% Pass@1 rodiklis įjungtas HumanEval ir MBPP etalonus.

MBPP ir HumanEval Metrics b/w MetaGPT ir kitų pirmaujančių modelių palyginimas (https://arxiv.org/pdf/2308.00352.pdf)

MBPP ir HumanEval Metrics b/w MetaGPT ir kitų pirmaujančių modelių palyginimas (https://arxiv.org/pdf/2308.00352.pdf)

Sistema taip pat naudoja mažiau žetonų ir skaičiavimo išteklių, todėl pasiekiamas aukštas sėkmės rodiklis už nedidelę tradicinių programinės įrangos inžinerijos išlaidų dalį. Duomenys rodė vidutinę kainą vos $1.09 vienam projektui naudojant MetaGPT – tai tik dalis to, kiek kūrėjas imtų mokestį už tą pačią užduotį.

Veiksmai vietiniam MetaGPT diegimui jūsų sistemoje

NPM, Python diegimas

  1. Patikrinkite ir įdiekite NPM: Pirmiausia įsitikinkite, kad NPM yra įdiegtas jūsų sistemoje. Jei ne, turėsite įdiegti node.js. Norėdami patikrinti, ar turite npm, paleiskite šią komandą savo terminale: npm --version. Jei matote versijos numerį, galite pradėti.
  2. Norėdami įdiegti mermaid-js, MetaGPT priklausomybė, paleiskite: sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. Patvirtinkite Python versiją: Įsitikinkite, kad turite Python 3.9 arba naujesnę versiją. Norėdami patikrinti Python versiją, atidarykite terminalą ir įveskite: python --version. Jei nesate naujausia, atsisiųskite naujausią versiją iš Python oficiali svetainė.
  4. Klonuoti MetaGPT saugyklą: Pradėkite klonuodami MetaGPT GitHub saugyklą naudodami komandą git clone https://github.com/geekan/metagpt. Norėdami tai padaryti, įsitikinkite, kad sistemoje įdiegėte „Git“. Jei ne, apsilankykite čia.
  5. Eikite į katalogą: Klonavę eikite į MetaGPT katalogą naudodami komandą cd metagpt.
  6. montavimas: Vykdykite Python sąrankos scenarijų, kad įdiegtumėte MetaGPT su komanda python setup.py install.
  7. Sukurkite programą: paleiskite python startup.py "ENTER-PROMPT" --code_review True

pastabos:

  • Jūsų naujas projektas dabar turėtų būti workspace/ katalogas.
  • --code_review True leis GPT modeliui atlikti papildomas operacijas, kurios užtikrins, kad kodas veiktų tiksliai, tačiau atkreipkite dėmesį, kad tai kainuos daugiau.
  • Jei diegdami susiduriate su leidimo klaida, pabandykite paleisti python setup.py install --user kaip alternatyva.
  • Norėdami gauti prieigą prie konkrečių leidimų ir daugiau informacijos, apsilankykite oficialiame MetaGPT GitHub leidimų puslapyje: MetaGPT leidimai.

Docker diegimas

Tiems, kurie mėgsta konteinerizavimą, „Docker“ supaprastina procesą:

  • Ištraukite „Docker“ vaizdą: Atsisiųskite oficialų MetaGPT vaizdą ir paruoškite konfigūracijos failą:
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
  • Paleiskite MetaGPT konteinerį: Vykdykite konteinerį naudodami šią komandą:
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

MetaGPT konfigūravimas naudojant OpenAI API raktą

Po pradinės sąrankos turėsite integruoti MetaGPT su OpenAI API raktu. Štai žingsniai, kaip tai padaryti:

  1. Raskite arba sugeneruokite savo OpenAI raktą: Šį raktą rasite OpenAI prietaisų skydelyje, skiltyje API nustatymai.
  2. Nustatykite API raktą: turite galimybę įdėti API raktą į bet kurį config/key.yaml, config/config.yamlarba nustatykite jį kaip aplinkos kintamąjį (env). Pirmumo tvarka yra config/key.yaml > config/config.yaml > env.
  3. Norėdami nustatyti raktą, eikite į config/key.yaml ir pakeiskite rezervuotos vietos tekstą savo OpenAI raktu: OPENAI_API_KEY: "sk-..."

Nepamirškite apsaugoti savo OpenAI API rakto. Niekada neįveskite jo į viešą saugyklą ir nedalykite ja su neįgaliotais asmenimis.

Naudojimo atvejo iliustracija

Aš daviau tikslą sukurti CLI pagrįstą akmenų, popieriaus ir žirklių žaidimą, o MetaGPT sėkmingai įvykdė užduotį.

Žemiau yra vaizdo įrašas, kuriame demonstruojamas tikrasis sugeneruoto žaidimo kodo paleidimas.

MetaGPT demonstracinis bėgimas

„MetaGPT“ pateikė sistemos projektavimo dokumentą „Markdown“ – dažniausiai naudojama lengva žymėjimo kalba. Šis Markdown failas buvo užpildytas UML diagramomis, todėl buvo pateiktas išsamus architektūrinio plano vaizdas. Be to, API specifikacijos buvo išsamios naudojant HTTP metodus, galutinius taškus, užklausos / atsakymo objektus ir būsenos kodus.

MetaGPT išvestis – sistemos projektavimas

MetaGPT išvestis – sistemos dizaino žymėjimas

Klasių diagramoje išsamiai aprašomi mūsų atributai ir metodai Game klasė, pateikianti abstrakciją, kurią lengva suprasti. Jis netgi vizualizuoja programos skambučių srautą, efektyviai paversdamas abstrakčias idėjas apčiuopiamais žingsniais.

Tai ne tik žymiai sumažina rankinio planavimo išlaidas, bet ir pagreitina sprendimų priėmimo procesą, užtikrinant, kad jūsų kūrimo procesas išliktų judrus. Naudodami MetaGPT jūs ne tik automatizuojate kodo generavimą, bet ir automatizuojate išmanųjį projektų planavimą, taip užtikrindami konkurencinį pranašumą kuriant greitą programų kūrimą.

Išvada: MetaGPT – revoliucinis programinės įrangos kūrimas

„MetaGPT“ iš naujo apibrėžia generatyvaus AI ir programinės įrangos kūrimo aplinką, siūlydama vientisą intelektualaus automatizavimo ir judraus projektų valdymo derinį. Kur kas pranoksta ChatGPT, AutoGPT ir tradicinių LangChain modelių galimybes, jis pasižymi užduočių skaidymu, efektyviu kodų generavimu ir projektų planavimu. Sužinokite daugiau apie

Štai pagrindiniai šio straipsnio dalykai:

  1. Metaprogramavimo galia: Naudodamas metaprogramavimą, MetaGPT suteikia judrią ir prisitaikančią programinės įrangos sistemą. Jis pranoksta siaurą senų įrankių funkcionalumą ir pristato transformacinį metodą, kuris tvarko ne tik kodavimą, bet ir projektų valdymo bei sprendimų priėmimo aspektus.
  2. Dviejų sluoksnių architektūra: Naudodamas pagrindinius ir bendradarbiavimo sluoksnius, MetaGPT efektyviai sukuria sinergišką ekosistemą, kurioje agentai gali dirbti darniai, panašiai kaip profesionaliai valdoma programinės įrangos komanda.
  3. Optimizuota kodo peržiūra: MetaGPT ne tik generuoja kodą, bet ir siūlo išankstinio kompiliavimo vykdymo funkcijas, kurios iš esmės yra išankstinio įspėjimo apie klaidas sistema. Tai ne tik taupo derinimo laiką, bet ir užtikrina kodo kokybę.
  4. Kognityviniai agentai: Išmanieji „MetaGPT“ agentai, kuriuose gausu pažintinių funkcijų, tokių kaip _observe(), _think() ir _publish_message(), tobulėja ir prisitaiko, užtikrindami, kad jūsų programinės įrangos sprendimas būtų ne tik užkoduotas, bet ir „protingas“.
  5. Diegimas ir diegimas: Mes pavaizdavome, kad MetaGPT galima lengvai nustatyti, nesvarbu, ar norite vietinio diegimo per npm ir Python, ar konteinerizavimą per Docker.

Pastaruosius penkerius metus praleidau pasinerdamas į žavų mašininio mokymosi ir giluminio mokymosi pasaulį. Mano aistra ir patirtis paskatino mane prisidėti prie daugiau nei 50 įvairių programinės įrangos inžinerijos projektų, ypatingą dėmesį skiriant AI/ML. Mano nuolatinis smalsumas taip pat patraukė mane į natūralios kalbos apdorojimą – sritį, kurią noriu tyrinėti toliau.