AGI ja tulevaisuuden AI
MetaGPT: Täydellinen opas parhaimpaan saatavilla olevaan tekoälyagenttiin
Suuret kielen mallit (LLM) kuten ChatGPT ovat aiheuttaneet OpenAI:lle nousun sekä yritys- että käyttäjähyväksynnässä, ja se tuottaa noin 80 miljoonaa dollaria kuukausittaisessa liikevaihdossa. The Information -lehden mukaan San Francisco -pohjainen yhtiö on raportoinut olevansa reaalissa 1 miljardin dollarin vuosittaisessa liikevaihdossa.
Edellisen kerran kun tarkastelimme AutoGPT:tä ja GPT-insinööritaitoa, avoimen lähdekoodin LLM-pohjaisia tekoälyagenteja, jotka on suunniteltu automatisoimaan monimutkaisia tehtäviä. Nämä järjestelmät olivat lupaavia, mutta niissä oli omat ongelmansa: epävakaa suorituskyky, suorituskykyongelmat ja rajoitukset monipuolisten vaatimusten käsittelyssä. Ne osoittavat osaamista koodin generoimisessa, mutta niiden kyky usein loppuu siihen. Niissä puuttuu kriittisiä projektin hallinnan ominaisuuksia, kuten PRD-generointi, tekninen suunnittelun generointi ja API-rajapinnan prototyyppi.
Tässä tulee MetaGPT – moniagenttijärjestelmä, joka hyödyntää suuria kielen malleja Sirui Hongin kehittämänä, yhdistää standardoidut toimintamenetelmät (SOP) LLM-pohjaisiin moniagenttijärjestelmiin. Tämä uusi paradigma rikkoo olemassa olevia LLM:rajoituksia tehokkaan yhteistyön ja tehtävien hajoittamisen edistämisessä monimutkaisissa, todellisissa sovelluksissa.
MetaGPT:n kauneus piilee sen rakenteessa. Se hyödyntää metaohjelmointitekniikoita manipuloidakseen, analysoimalla ja muuttaakseen koodia reaaliajassa. Tavoitteena on toteuttaa ketterä, joustava ohjelmistoarkkitehtuuri, joka voi sopeutua dynaamisiin ohjelmointitehtäviin.
SOP:t toimivat tässä metafunktiona, joka koordinoi agenteja auto-generoimaan koodia määritettyjen syötteiden perusteella. Yksinkertaisesti sanottuna, se on kuin olisit muuttanut erittäin koordinoituneen ohjelmistosuunnittelutiimin älykkääksi ohjelmistojärjestelmäksi.
Ymmärtäminen MetaGPT -kehys

MetaGPT Framework (https://arxiv.org/pdf/2308.00352.pdf)
Perusrakenteen ja yhteistyön kerrokset
MetaGPT:n arkkitehtuuri on jaettu kahteen kerrokseen: perusrakenteen komponenttikerrokseen ja yhteistyökerrokseen.
- Perusrakenteen komponenttikerros: Tämä kerros keskittyy yksittäisten agenttien toimintoihin ja mahdollistaa järjestelmänlaajuisen tietojen vaihdon. Se esittelee perusrakenteen rakennuspalikat, kuten ympäristön, muistin, roolit, toiminnot ja työkalut. Ympäristö luo jaettujen työtilojen ja viestintäkanavien pohjan, kun taas muisti toimii historiallisten tietojen arkistona. Roolit kattavat alakohtaisen asiantuntemuksen, toiminnot suorittavat modulaarisia tehtäviä, ja työkalut tarjoavat yleisiä palveluita. Tämä kerros toimii käytännössä agenttien käyttöjärjestelmänä. Lisätietoja siitä, miten nämä toimivat yhdessä, on artikkelissa ‘Beyond ChatGPT; AI Agent: A New World of Workers‘
- Yhteistyökerros: Tämä kerros on rakennettu perusrakenteen komponenttien päälle ja hallinnoi ja sujuvoittaa yksittäisten agenttien yhteistyötä. Se esittelee kaksi mekanismia: tietojen jakamisen ja työnkulun kapseloinnin.
- Tietojen jakaminen: Tämä toimii yhteistyön liimana, joka sitoo agenteja yhteen. Agenteilla on mahdollisuus tallentaa, hakea ja jakaa tietoja eri tasoilla, mikä vähentää turhaa toimintaa ja parantaa toiminnan tehokkuutta.
- Työnkulun kapselointi: Tässä standardoidut toimintomenetelmät (SOP) tulevat mukaan. SOP:t toimivat suunnitelmina, jotka jakavat tehtävät hallitettaviin osiin. Agenteille määritellään nämä alitehtävät, ja heidän suorituskykynsä on linjattu standardoitujen tulosten mukaan.
MetaGPT käyttää myös “roolimäärityksiä” erilaisten agenttien, kuten tuotejohtajien ja arkkitehtien, käynnistämiseen. Nämä roolit ovat luonteeltaan avainominaisuuksia, kuten nimi, profiili, tavoite, rajoitukset ja kuvaus.
Lisäksi “ankkuragenteilla” on roolikohtaiset ohjeet näille agenteille. Esimerkiksi tuotejohtajan rooli voi olla alkuvaatimuksesta “tehokkaasti luoda menestyvä tuote.” Ankkuragenteilla varmistetaan, että agenttien käyttäytyminen on linjassa ylempien tavoitteiden kanssa, mikä optimoi suorituskyvyn.
MetaGPT -agenttien kognitiiviset prosessit
MetaGPT voi havainnoida, ajatella, heijastaa ja toimia. Ne toimivat tietyn käyttäytymisen kautta, kuten _think(), _observe(), _publish_message() jne. Tämä kognitiivinen mallintaminen varustaa agenteja aktiivisilla oppimisominaisuuksilla, jotka voivat sopeutua ja evoluoida.
- Havainnointi: Agenteilla on mahdollisuus skannata ympäristöään ja sisällyttää tärkeitä tietoja muistiinsa.
- Ajattelu ja heijastus:
_think()-funktion kautta roolit pohtivat ennen toimintaa. - Viestien lähettäminen: Agenteilla on mahdollisuus jakaa nykyisen tehtävän tilaa ja liittyviä toimintatietoja
_publish_message()-toiminnon kautta. - Tietojen tiivistäminen ja toiminta: Agenteilla on mahdollisuus arvioida saapuvia viestejä ja päivittää sisäisiä tietovarastojaan ennen seuraavan toiminnan suunnittelua.
- Tilan hallinta: Ominaisuuksilla, kuten tehtävien lukitsemisella ja tilan päivittämisellä, roolit voivat suorittaa useita toimintoja peräkkäin ilman keskeytyksiä, mikä vastaa todellista ihmisten yhteistyötä.
MetaGPT:n koodin tarkastusmekanismit
Koodin tarkastus on kriittinen osa ohjelmistokehityksen elinkaarta, mutta se puuttuu useista suosituista kehyksistä. Sekä MetaGPT että AgentVerse tukevat koodin tarkastusominaisuuksia, mutta MetaGPT menee askelen pidemmälle. Se sisältää myös ennenkoodauksen suorittamisen, joka auttaa varhaisessa virheen havaitsemisessa ja parantaa koodin laatua. Ottaen huomioon koodauksen iteraatiivisen luonteen, tämä ominaisuus ei ole vain lisäys, vaan vaatimus kypsälle kehityskehykselle.
Kvantitatiiviset kokeet, jotka suoritettiin useilla tehtävillä, osoittivat, että MetaGPT suoriutui vastaavista paremmin lähes jokaisessa tilanteessa. Pass@1 on mittari kehyksen kyvystä generoida tarkkaa koodia yhdessä iteroinnissa. Tämä mittari tarjoaa realistisemman heijastuksen kehyksen käytännön sovelluksessa. Korkeampi Pass@1 -arvo tarkoittaa vähemmän virheenkorjausta ja enemmän tehokkuutta, mikä vaikuttaa suoraan kehityskausiin ja kustannuksiin. Kun se verrataan muihin edistyneisiin koodigenerointityökaluihin, kuten CodeX, CodeT ja jopa GPT-4, MetaGPT suoriutuu paremmin niistä kaikista. Kehyksen kyky saavuttaa 81,7% – 82,3% Pass@1 -arvo HumanEval – ja MBPP -mittareilla.

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)
Kehys käyttää myös vähemmän tokenia ja laskentaresursseja, saavuttaen korkean onnistumisprosentin perinteisten ohjelmistosuunnittelukustannusten murto-osalla. Tulokset osoittivat keskimääräisen kustannuksen vain 1,09 dollaria per projekti MetaGPT:llä, mikä on vain murto-osa siitä, mitä kehittäjä laskuttaa samasta tehtävästä.
Ohjeet MetaGPT:n asentamiseen paikallisesti järjestelmään
NPM, Python -asennus
- Tarkista ja asenna NPM: Ensinnäkin varmista, että NPM on asennettu järjestelmään. Jos ei ole, sinun on asennettava node.js. Tarkista, onko NPM asennettu, suorittamalla komento
npm --versionterminaalissa. Jos näet versio numeron, olet valmis. - Toisiaksi asenna
mermaid-js, joka on MetaGPT:n riippuvuus, suorittamallasudo npm install -g @mermaid-js/mermaid-clitainpm install -g @mermaid-js/mermaid-cli - Varmista Python -versio: Varmista, että sinulla on Python 3.9 tai uudempi. Tarkista Python -versio avaamalla terminaali ja kirjoittamalla
python --version. Jos et ole ajan tasalla, lataa uusin versio Pythonin viralliselta sivustolta. - Kloonaa MetaGPT -säilö: Aloita kloonaamalla MetaGPT -GitHub -säilö komennolla
git clone https://github.com/geekan/metagpt. Varmista, että sinulla on Git asennettuna järjestelmään. Jos ei ole, käy täällä. - Siirry hakemistoon: Kun olet kloonannut, siirry MetaGPT -hakemistoon komennolla
cd metagpt. - Asennus: Suorita Python -asetusohjelma asentaaksesi MetaGPT:n komennolla
python setup.py install. - Luo sovellus: Suorita
python startup.py "ENTER-PROMPT" --code_review True
Huomautus:
- Uusi projekti on nyt
workspace/-hakemistossa. --code_review Truesallii GPT-mallin suorittaa lisätoimintoja, jotka varmistavat koodin suorittamisen tarkasti, mutta huomaa, että se maksaa enemmän.- Jos kohtaat lupaamisen virheen asennuksen aikana, yritä suorittaa
python setup.py install --uservaihtoehtona. - Lisätietoja eri julkaisuista ja yksityiskohdista on MetaGPT -GitHub -julkaisusivulla: MetaGPT -julkaisut.
Docker -asennus
Docker yksinkertaa prosessia niille, jotka suosittelevat kontainerointia:
- Hae Docker -kuva: Lataa MetaGPT -virallinen kuva ja valmista konfiguraatio tiedosto:
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
- Suorita MetaGPT -säiliö: Suorita säiliö seuraavalla komennolla:
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:n konfigurointi OpenAI API -avaimen kanssa
Alkuvaiheen jälkeen sinun on integroida MetaGPT OpenAI API -avaimen kanssa. Tässä ovat vaiheet:
- Löydä tai luo OpenAI -avain: Voit löytää tämän avaimen OpenAI -kojussa API -asetuksista.
- Aseta API -avain: Sinulla on mahdollisuus asettaa API -avain joko
config/key.yaml,config/config.yamltai määrittää se ympäristömuuttujana (env). Etusijajärjestys onconfig/key.yaml > config/config.yaml > env. - Suorita
config/key.yamlja korvaa paikkaava teksti OpenAI -avaimellasi:OPENAI_API_KEY: "sk-..."
Muista suojella OpenAI API -avainta. Älä koskaan committaa sitä julkiseen säilöön tai jaa sitä ei-valtuutetuille henkilöille.
Käyttöesimerkki
Anna tavoite kehittää CLI-pohjainen kivi-sakset-paperi -peli, ja MetaGPT suoritti tehtävän onnistuneesti.
Alla on video, joka esittää todellisen suorituksen generoidusta pelikoodista.
MetaGPT -demo
MetaGPT tarjosi järjestelmän suunnitteludokumentin Markdown -muodossa, yleisesti käytetyssä kevyessä merkintäkielessä. Tämä Markdown -tiedosto sisälsi UML -kaavioita, jotka tarjosivat yksityiskohtaisen näkymän arkkitehtonisen suunnitelman. Lisäksi API -määritykset olivat yksityiskohtaisia HTTP -menetelmillä, päätepisteillä, pyyntö-/vastausolioilla ja tilakoodilla.
Luokkakaavio yksityiskohtaa Game -luokan attribuutteja ja metodeja, tarjoten abstraktion, joka on helppo ymmärtää. Se visualisoi myös ohjelman suorituskutsun, muuttaen abstraktit ideat konkreettisiksi askeliksi.
Ei vain se, että tämä vähentää manuaalista suunnittelun työmäärää, vaan se kiihdyttää myös päätöksentekoprosessia, varmistaen, että kehityskokoonpanosi pysyy ketteränä. MetaGPT:llä et ainoastaan automatisoi koodin generointia, vaan myös älykkään projektin suunnittelun, tarjoten kilpailuetua nopean sovelluskehityksessä.
Johtopäätös: MetaGPT – Ohjelmistokehityksen mullistaja
MetaGPT määrittää uudelleen generatiivisen tekoälyn ja ohjelmistokehityksen maiseman, tarjoten vaivattoman yhdistelmän älykkästä automaatiosta ja ketterästä projektin hallinnasta. Ylittäen ChatGPT:n, AutoGPT:n ja perinteisten LangChain -mallien kyvyt, se erottuu tehtävien hajoittamisessa, tehokkaassa koodin generoimisessa ja projektin suunnittelussa. Lue lisää
Tässä ovat tärkeimmät johtopäätökset tästä artikkelista:
- Metaohjelmoinnin voima: Käyttämällä metaohjelmointia MetaGPT tarjoaa ketterän ja sopeutuvan ohjelmistorakenteen. Se ylittää perinteisten työkalujen kapean toiminnallisuuden ja esittelee muodonmuuttuvan lähestymistavan, joka kattaa ei ainoastaan koodaamisen, vaan myös projektin hallinnan ja päätöksenteon.
- Kaksi kerroksinen arkkitehtuuri: MetaGPT:n perusrakenteen ja yhteistyön kerrosten kautta se luo synergisen ekosysteemin, jossa agenteilla on mahdollisuus toimia yhdessä, kuin asiantuntijatiimi.
- Optimoitu koodin tarkastus: MetaGPT tarjoaa ennenkoodauksen suorittamisen, joka on varhainen virheen havaitsemisen järjestelmä. Tämä ei ainoastaan säästä virheenkorjausajan, vaan myös varmistaa koodin laadun.
- Kognitiiviset agenteilla: MetaGPT:n älykkäillä agenteilla on kognitiivisia toimintoja, kuten
_observe(),_think()ja_publish_message(), jotka mahdollistavat evoluution ja sopeutumisen, varmistaen, että ohjelmistoratkaisusi ei ainoastaan ole koodattu, vaan myös “älykäs”. - Asennus ja käyttöönotto: Olemme havainneet, että MetaGPT voidaan asentaa helposti, riippumatta siitä, suositteletko paikallista asennusta NPM:llä ja Pythonilla tai kontainerointia Dockerilla.














