AGI și viitorul AI

MetaGPT: Ghid complet pentru cel mai bun agent AI disponibil în prezent

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Cu Modelele Lingvistice Mari (LLM) precum ChatGPT, OpenAI a asistat la o creștere a adoptării la nivel de întreprindere și utilizator, generând în prezent aproximativ 80 de milioane de dolari în venituri lunare. Conform unui raport recent de la The Information, compania cu sediul în San Francisco este pe punctul de a atinge 1 miliard de dolari în venituri anuale.

Ultima dată când am explorat AutoGPT și GPT-Engineering, agenții AI open-source mainstream bazati pe LLM, proiectați pentru a automatiza sarcini complexe. Deși promițători, aceste sisteme aveau partea lor de probleme: rezultate inconsistente, blocaje de performanță și limitări în gestionarea cererilor multifacetate. Ei arată competență în generarea de cod, dar capacitățile lor se opresc adesea acolo. Le lipsesc funcționalitățile critice de management de proiect, cum ar fi generarea PRD, generarea de proiectare tehnică și prototiparea interfeței API.

Intră MetaGPT – un sistem multi-agent care utilizează modele lingvistice mari de la Sirui Hong, care combină procedurile operaționale standardizate (SOP) cu sisteme multi-agent bazate pe LLM. Acest paradigma emergent perturbă limitările existente ale LLM în promovarea colaborării eficiente și a descompunerii sarcinilor în aplicații complexe și din lumea reală.

Frumusețea MetaGPT constă în structurarea sa. Acesta capitalizează tehnici de meta-programare pentru a manipula, analiza și transforma codul în timp real. Scopul? A materializa o arhitectură software agilă și flexibilă care poate adapta sarcinilor de programare dinamice.

Agile Development - Metagpt

Agile Development

SOP-urile acționează ca o meta-funcție aici, coordonând agenții pentru a genera automat cod pe baza intrărilor definite. În termeni simpli, este ca și cum ați transformat o echipă foarte coordonată de ingineri software într-un sistem software inteligent și adaptabil.

Înțelegerea cadrului MetaGPT

Straturi Fundamentale și de Colaborare

Arhitectura MetaGPT este împărțită în două straturi: Stratul Componentelor Fundamentale și Stratul de Colaborare.

  1. Stratul Componentelor Fundamentale: Acest strat se concentrează pe operațiunile individuale ale agenților și facilitează schimbul de informații la nivelul sistemului. Acesta introduce blocuri de construcție de bază, cum ar fi Mediul, Memoria, Rolurile, Acțiunile și Uneltele. Mediul stabilește scena pentru spații de lucru și căi de comunicare partajate, în timp ce Memoria servește ca arhivă de date istorice. Rolurile încapsulează expertiza specifică domeniului, Acțiunile execută sarcini modulare, iar Uneltele oferă servicii comune. Acest strat servește, în esență, ca sistem de operare pentru agenți. Mai multe detalii despre modul în care acestea lucrează împreună pot fi găsite în articolul ‘Beyond ChatGPT; AI Agent: A New World of Workers
  2. Stratul de Colaborare: Construit pe baza componentelor fundamentale, acest strat gestionează și optimizează eforturile de colaborare ale agenților individuali. Acesta introduce două mecanisme: Partajarea Cunoștințelor și Încapsularea Fluxurilor de Lucru.
    • Partajarea Cunoștințelor: Acesta acționează ca liantul colaborativ care leagă agenții împreună. Agenții pot stoca, recupera și partaja informații la niveluri diferite, reducând astfel redundanța și îmbunătățind eficiența operațională.
    • Încapsularea Fluxurilor de Lucru: Acesta este locul unde Procedurile Operaționale Standardizate (SOP) intră în joc. SOP-urile acționează ca planuri care descompun sarcinile în componente gestionabile. Agenților li se atribuie aceste sub-sarcini, iar performanța lor este aliniată cu ieșiri standardizate.

MetaGPT utilizează, de asemenea, “Definiri de Rol” pentru a iniția agenți specializați, cum ar fi Manageri de Produs, Arhitecți, etc., așa cum am discutat mai sus. Aceste roluri sunt caracterizate de atribute cheie, cum ar fi numele, profilul, scopul, constrângerile și descrierea.

Mai mult, “Agenții Ancoră” oferă îndrumări specifice rolului pentru acești agenți. De exemplu, rolul unui Manager de Produs ar putea fi inițializat cu constrângerea “creării eficiente a unui produs de succes”. Agenții Ancoră asigură că comportamentul agenților se aliniază cu obiectivele generale, optimizând astfel performanța.

Procese Cognitive în Agenții MetaGPT

MetaGPT poate observa, gândi, reflecta și acționa. Acesta operează prin funcții comportamentale specifice, cum ar fi _think(), _observe(), _publish_message(), etc. Acest modelare cognitivă echipă agenții pentru a fi învățători activi care pot adapta și evolua.

  1. Observă: Agenții scanează mediul lor și incorporează date cheie în Memoria lor.
  2. Gândește și Reflectă: Prin funcția _think(), rolurile deliberate înainte de a întreprinde acțiuni.
  3. Difuză Mesaje: Agenții utilizează _publish_message() pentru a partaja stadii actuale de sarcină și înregistrări de acțiune asociate.
  4. Precipitarea Cunoștințelor și Acționează: Agenții evaluează mesaje intrate și actualizează depozitele interne înainte de a decide asupra cursului de acțiune următor.
  5. Managementul Stării: Cu funcții, cum ar fi blocarea sarcinilor și actualizarea stării, rolurile pot procesa acțiuni multiple secvențial fără întrerupere, reflectând colaborarea umană din lumea reală.

Mecanisme de Revizuire a Codului pentru MetaGPT

Revizuirea codului este o componentă critică în ciclul de viață al dezvoltării software, dar este absentă în mai multe cadre populare. Atât MetaGPT, cât și AgentVerse suportă capacități de revizuire a codului, dar MetaGPT merge mai departe. Acesta incorporează, de asemenea, execuția precompilării, care ajută la detectarea erorilor timpurii și, în consecință, ridică calitatea codului. Având în vedere natura iterativă a codării, această funcție nu este doar un adaos, ci o cerință pentru orice cadru de dezvoltare matur.

Experimentele cantitative efectuate pe mai multe sarcini au arătat că MetaGPT a depășit competitorii săi în aproape fiecare scenariu. Pass@1 este o măsură a capacității cadrului de a genera cod precis într-o singură iterație. Acest metric oferă o reflectare mai realistă a utilității cadrului într-un mediu practic. O rată Pass@1 mai mare înseamnă mai puțină depanare și mai multă eficiență, afectând direct ciclurile de dezvoltare și costurile. Când este comparat cu alte instrumente avansate de generare de cod, cum ar fi CodeX, CodeT și chiar GPT-4, MetaGPT depășește toate acestea. Capacitatea cadrului de a atinge o rată Pass@1 de 81,7% până la 82,3% pe benchmark-urile HumanEval și MBPP.

Compararea metricilor MBPP și HumanEval între MetaGPT și alte modele de top (https://arxiv.org/pdf/2308.00352.pdf)

Compararea metricilor MBPP și HumanEval între MetaGPT și alte modele de top (https://arxiv.org/pdf/2308.00352.pdf)

Cadrul utilizează, de asemenea, mai puține tokenuri și resurse computaționale, atingând o rată de succes ridicată la o fracțiune din costurile tradiționale de inginerie software. Datele au indicat un cost mediu de doar 1,09 dolari pe proiect cu MetaGPT, ceea ce este doar o fracțiune din ceea ce un dezvoltator ar cere pentru aceeași sarcină.

Pași pentru Instalarea Locală a MetaGPT pe Sistemul Dvs.

Instalarea NPM și Python

  1. Verificați și Instalați NPM: În primul rând, asigurați-vă că NPM este instalat pe sistemul dvs. Dacă nu este, veți trebui să instalați node.js. Pentru a verifica dacă aveți npm, rulați această comandă în terminal: npm --version. Dacă vedeți un număr de versiune, sunteți gata.
  2. Pentru a instala mermaid-js, o dependență pentru MetaGPT, rulați: sudo npm install -g @mermaid-js/mermaid-cli sau npm install -g @mermaid-js/mermaid-cli
  3. Verificați Versiunea Python: Asigurați-vă că aveți Python 3.9 sau mai recent. Pentru a verifica versiunea dvs. de Python, deschideți terminalul și introduceți: python --version. Dacă nu sunteți la zi, descărcați cea mai recentă versiune de pe site-ul oficial Python.
  4. Clonați Depozitul MetaGPT: Începeți prin a clona depozitul GitHub MetaGPT folosind comanda git clone https://github.com/geekan/metagpt. Asigurați-vă că aveți Git instalat în sistem pentru aceasta. Dacă nu, vizitați aici.
  5. Navigați către Director: Odată clonat, navigați către directorul MetaGPT folosind comanda cd metagpt.
  6. Instalare: Executați scriptul de instalare Python pentru a instala MetaGPT cu comanda python setup.py install.
  7. Creați o Aplicație: Rulați python startup.py "INTRODUCERE-PROMPT" --code_review True

Notă:

  • Noul dvs. proiect ar trebui să se afle acum în directorul workspace/.
  • --code_review True va permite modelului GPT să efectueze operațiuni suplimentare care vor asigura că codul rulează precis, dar rețineți că va costa mai mult.
  • Dacă întâmpinați o eroare de permisiune în timpul instalării, încercați să rulați python setup.py install --user ca o alternativă.
  • Pentru acces la lansări specifice și detalii suplimentare, vizitați pagina de lansări oficială MetaGPT pe GitHub: Lansări MetaGPT.

Instalarea Docker

Pentru cei care preferă containerizarea, Docker simplifică procesul:

  • Trageți Imaginea Docker: Descărcați imaginea oficială MetaGPT și pregătiți fișierul de configurare:
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
  • Rulați Containerul MetaGPT: Executați containerul cu următoarea comandă:
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 "Creați un joc de rock, paper și scissors simplu și interactiv" --code_review True

Configurarea MetaGPT cu Cheia dvs. API OpenAI

După configurarea inițială, veți trebui să integrați MetaGPT cu cheia dvs. API OpenAI. Iată pașii pentru a face acest lucru:

  1. Găsiți sau Generați Cheia dvs. OpenAI: Puteți găsi această cheie în panoul de control OpenAI, sub setări API.
  2. Setați Cheia API: Aveți opțiunea de a plasa cheia API în config/key.yaml, config/config.yaml sau de a o seta ca o variabilă de mediu (env). Ordinea de precedență este config/key.yaml > config/config.yaml > env.
  3. Pentru a seta cheia, navigați către config/key.yaml și înlocuiți textul de rezervă cu cheia dvs. OpenAI: OPENAI_API_KEY: "sk-..."

Rețineți să protejați cheia dvs. API OpenAI. Nu o comiteți niciodată într-un depozit public sau nu o partajați cu persoane neautorizate.

Ilustrarea de Uz

I-am dat obiectivul de a dezvolta un joc de rock, paper și scissors bazat pe CLI, și MetaGPT a executat cu succes sarcina.

Mai jos este un videoclip care prezintă rularea efectivă a codului generat.

Rulare Demo MetaGPT

MetaGPT a furnizat un document de proiectare a sistemului în Markdown – un limbaj de marcare ușor folosit. Acest fișier Markdown a fost plin cu diagrame UML, oferind o vedere detaliată a proiectării arhitecturale. În plus, specificațiile API au fost detaliate cu metode HTTP, puncte de capăt, obiecte de cerere/răspuns și coduri de stare

Ieșire MetaGPT - Proiectare Sistem

Ieșire MetaGPT – Proiectare Sistem Markdown

Diagrama de clasă detaliază atributele și metodele clasei noastre Game, oferind o abstracție ușor de înțeles. Acesta vizualizează, de asemenea, fluxul de apel al programului, transformând idei abstracte în pași tangibili.

Nu numai că acest lucru reduce semnificativ supraîncărcarea manuală în planificare, dar accelerează și procesul de luare a deciziilor, asigurând că pipeline-ul dvs. de dezvoltare rămâne agil. Cu MetaGPT, nu numai că automatizați generarea de cod, ci și planificarea proiectelor inteligente, oferind un avantaj competitiv în dezvoltarea rapidă de aplicații.

Concluzie: MetaGPT – Revoluționarea Dezvoltării Software

MetaGPT redefinescă peisajul inteligenței artificiale generative și al dezvoltării software, oferind o fuziune fără seamăn a automatizării inteligente și a managementului de proiect agil. Depășind cu mult capacitățile ChatGPT, AutoGPT și modelele LangChain tradiționale, MetaGPT excelează în descompunerea sarcinilor, generarea eficientă de cod și planificarea proiectelor. Aflați mai multe despre

Iată principalele concluzii din acest articol:

  1. Puterea Meta-Programării: Prin utilizarea meta-programării, MetaGPT oferă un cadru software agil și adaptabil. Acesta transcende funcționalitatea îngustă a instrumentelor legacy și introduce o abordare transformativă care gestionează nu numai codarea, ci și aspectele de management de proiect și luare a deciziilor.
  2. Arhitectură în Două Straturi: Cu straturile sale fundamentale și de colaborare, MetaGPT creează un ecosistem sinergic în care agenții pot lucra împreună, asemănător unei echipe de software conduse de un expert.
  3. Revizuirea Codului Optimizată: Dincolo de generarea de cod, MetaGPT oferă funcții de execuție precompilată, care este, în esență, un sistem de avertizare timpurie pentru erori. Acest lucru nu numai că economisește timp de depanare, ci și asigură calitatea codului.
  4. Agenți Cognitivi: Agenții MetaGPT, echipați cu funcții cognitive precum _observe(), _think() și _publish_message(), evoluează și se adaptează, asigurând că soluția dvs. software nu este doar codată, ci și “inteligentă”.
  5. Instalare și Implementare: Am ilustrat că MetaGPT poate fi instalat cu ușurință, fie prin instalarea locală cu NPM și Python, fie prin containerizare cu Docker.

Am petrecut ultimii cinci ani scufundându-mă în lumea fascinantă a Machine Learning și Deep Learning. Pasinea și expertiza mea m-au condus să contribui la peste 50 de proiecte diverse de inginerie software, cu un focus deosebit pe AI/ML. Curiozitatea mea în continuare m-a atras și spre Natural Language Processing, un domeniu pe care sunt dornic să îl explorez mai departe.