taló MetaGPT: Guia completa del millor agent d'IA disponible ara mateix - Unite.AI
Connecteu-vos amb nosaltres

Intel·ligència general artificial

MetaGPT: guia completa del millor agent d'IA disponible ara mateix

mm

publicat

 on

MetaGPBassed Il·lustració de la col·laboració humana i màquinaT

Amb grans models de llenguatge (LLM) com ChatGPT, OpenAI ha estat testimoni d'un augment de l'adopció d'empreses i usuaris, que actualment acumula uns 80 milions de dòlars en ingressos mensuals. Segons a informe recent per The Information, l'empresa amb seu a San Francisco està a punt d'arribar als 1 milions de dòlars en ingressos anuals.

L'última vegada que vam aprofundir AutoGPT i GPT-Enginyeria, els primers agents d'IA de codi obert basats en LLM dissenyats per automatitzar tasques complexes. Tot i que eren prometedors, aquests sistemes tenien la seva bona part de problemes: resultats inconsistents, colls d'ampolla de rendiment i limitacions en la gestió de demandes polièdriques. Mostren competència en la generació de codi, però les seves capacitats sovint s'aturen aquí. No tenen funcionalitats crítiques de gestió de projectes com la generació de PRD, la generació de disseny tècnic i la creació de prototips d'interfície API.

Enter MetaGPT— un sistema multiagent que utilitza models de llenguatge gran de Sirui Hong fusiona els procediments operatius estandarditzats (SOP) amb sistemes multiagent basats en LLM. Aquest paradigma emergent altera les limitacions existents dels LLM per fomentar la col·laboració efectiva i la descomposició de tasques en aplicacions complexes i del món real.

La bellesa de MetaGPT rau en la seva estructuració. Aprofita les tècniques de metaprogramació per manipular, analitzar i transformar codi en temps real. L'objectiu? Actualitzar una arquitectura de programari àgil i flexible que s'adapti a tasques de programació dinàmiques.

Desenvolupament àgil - Metagpt

Desenvolupament àgil

Els SOP actuen aquí com a metafunció, coordinant els agents per generar codi automàticament basat en entrades definides. En termes senzills, és com si haguéssiu convertit un equip altament coordinat d'enginyers de programari en un sistema de programari intel·ligent i adaptable.

Entendre el marc MetaGPT

Capes fonamentals i de col·laboració

L'arquitectura de MetaGPT es divideix en dues capes: la capa de components fonamentals i la capa de col·laboració.

  1. Capa de components bàsics: Aquesta capa se centra en les operacions de l'agent individual i facilita l'intercanvi d'informació a tot el sistema. Introdueix blocs bàsics com ara l'entorn, la memòria, els rols, les accions i les eines. L'entorn prepara l'escenari per als espais de treball compartits i les vies de comunicació, mentre que la memòria serveix com a arxiu de dades històriques. Els rols encapsulen l'experiència específica del domini, les accions executen tasques modulars i les eines ofereixen serveis comuns. Aquesta capa serveix essencialment com a sistema operatiu per als agents. Més detalls sobre com funcionen junts estan disponibles a l'article 'Més enllà de ChatGPT; Agent d'IA: un nou món de treballadors'
  2. Capa de col·laboració: Construïda sobre components bàsics, aquesta capa gestiona i racionalitza els esforços col·laboratius dels agents individuals. Introdueix dos mecanismes: l'intercanvi de coneixements i els fluxos de treball encapsulats.
    • Compartir coneixement: Això actua com a cola col·laborativa que uneix els agents. Els agents poden emmagatzemar, recuperar i compartir informació a diferents nivells, reduint així la redundància i millorant l'eficiència operativa.
    • Encapsulació de fluxos de treball: aquí és on entren en joc els procediments operatius estandarditzats (SOP). Els SOP actuen com a plànols que divideixen les tasques en components manejables. Els agents se'ls assignen aquestes subtasques i el seu rendiment s'alinea amb els resultats estandarditzats.

MetaGPT també utilitza “Definicions de rols” per iniciar diversos agents especialitzats com Product Managers, Arquitectes, etc. com hem comentat anteriorment. Aquests rols es caracteritzen per atributs clau com el nom, el perfil, l'objectiu, les restriccions i la descripció.

A més, "Agents d'àncora” proporciona orientació específica per a la funció a aquests agents. Per exemple, la funció d'un director de producte es podria inicialitzar amb la restricció de "crear de manera eficient un producte d'èxit". Els agents d'ancoratge asseguren que els comportaments dels agents s'alineen amb els objectius generals, optimitzant així el rendiment.

Processos Cognitius en Agents MetaGPT

MetaGPT pot observar, pensar, reflexionar i actuar. Funcionen mitjançant funcions conductuals específiques com _think(), _observe(), _publish_message(), etc. Aquest modelatge cognitiu equipa els agents perquè siguin aprenents actius que puguin adaptar-se i evolucionar.

  1. Observar: els agents escanegen el seu entorn i incorporen dades clau a la seva memòria.
  2. Pensa i reflexiona: A través de _think() funció, rols deliberats abans d'emprendre accions.
  3. Missatges de difusió: Agents utilitzats _publish_message() per compartir l'estat actual de les tasques i els registres d'accions relacionats.
  4. Coneixement Precipitació i Acte: els agents avaluen els missatges entrants i actualitzen els seus repositoris interns abans de decidir el següent curs d'acció.
  5. Gestió estatal: Amb funcions com el bloqueig de tasques i l'actualització d'estat, els rols poden processar múltiples accions de manera seqüencial sense interrupcions, reflectint la col·laboració humana del món real.

Mecanismes de revisió de codi per a MetaGPT

La revisió del codi és un component crític en el cicle de vida del desenvolupament de programari, però està absent en diversos marcs populars. Tant MetaGPT com AgentVerse suporta les capacitats de revisió del codi, però MetaGPT va un pas més enllà. També incorpora l'execució de la compilació prèvia, que ajuda a la detecció precoç d'errors i, posteriorment, augmenta la qualitat del codi. Donada la naturalesa iterativa de la codificació, aquesta característica no és només un complement, sinó un requisit per a qualsevol marc de desenvolupament madur.

Els experiments quantitatius realitzats en diverses tasques van revelar que MetaGPT va superar els seus homòlegs en gairebé tots els escenaris. Pass@1 és una mesura de la capacitat del marc per generar codi precís en una sola iteració. Aquesta mètrica ofereix un reflex més realista de la utilitat d'un marc en un entorn pràctic. Una taxa de Pass@1 més alta significa menys depuració i més eficiència, afectant directament els cicles de desenvolupament i els costos. Quan es combina amb altres eines avançades de generació de codi, com ara Còdex, CodiT, i fins i tot GPT-4, MetaGPT supera els resultats el centre comercial. La capacitat del marc per aconseguir un 81.7% a 82.3% Tarifa de Pass@1 activada HumanEval i MBPP referents.

Comparació de mètriques MBPP i HumanEval b/w MetaGPT i altres models líders (https://arxiv.org/pdf/2308.00352.pdf)

Comparació de mètriques MBPP i HumanEval b/w MetaGPT i altres models líders (https://arxiv.org/pdf/2308.00352.pdf)

El marc també utilitza menys fitxes i recursos computacionals, aconseguint una alta taxa d'èxit amb una fracció dels costos tradicionals d'enginyeria de programari. Les dades indicaven un cost mitjà de només $1.09 per projecte amb MetaGPT, que és només una fracció del que cobraria un desenvolupador per la mateixa tasca.

Passos per instal·lar localment MetaGPT al vostre sistema

NPM, instal·lació de Python

  1. Comproveu i instal·leu NPM: Primer de tot, assegureu-vos que NPM estigui instal·lat al vostre sistema. Si no és així, caldrà instal·lar-lo NODE.JS. Per comprovar si teniu npm, executeu aquesta comanda al vostre terminal: npm --version. Si veus un número de versió, ja estàs a punt.
  2. Per instal · lar mermaid-js, una dependència de MetaGPT, executeu: sudo npm install -g @mermaid-js/mermaid-cli or npm install -g @mermaid-js/mermaid-cli
  3. Verifiqueu la versió de Python: Assegureu-vos que teniu Python 3.9 o superior. Per comprovar la vostra versió de Python, obriu el vostre terminal i escriviu: python --version. Si no esteu al dia, descarregueu la darrera versió des de Lloc web oficial de Python.
  4. Clonar el dipòsit MetaGPT: Comenceu clonant el repositori MetaGPT GitHub mitjançant l'ordre git clone https://github.com/geekan/metagpt. Assegureu-vos que teniu Git instal·lat al vostre sistema per a això. Si no, visita aquí.
  5. Navegueu al Directori: Un cop clonat, navegueu al directori MetaGPT mitjançant l'ordre cd metagpt.
  6. instal·lació: Executeu l'script de configuració de Python per instal·lar MetaGPT amb l'ordre python setup.py install.
  7. Crear una aplicació: Executar python startup.py "ENTER-PROMPT" --code_review True

Nota:

  • El vostre nou projecte hauria d'estar ara al workspace/ directori.
  • --code_review True permetrà que el model GPT faci operacions addicionals que garantiran que el codi s'executi amb precisió, però tingueu en compte que costarà més.
  • Si trobeu un error de permís durant la instal·lació, proveu d'executar-lo python setup.py install --user com a alternativa.
  • Per accedir a versions específiques i més detalls, visiteu la pàgina oficial de versions de MetaGPT GitHub: Llançaments de MetaGPT.

Instal·lació de Docker

Per a aquells que prefereixen la contenidorització, Docker simplifica el procés:

  • Estireu la imatge Docker: Baixeu la imatge oficial de MetaGPT i prepareu el fitxer de configuració:
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
  • Executeu el contenidor MetaGPT: executeu el contenidor amb l'ordre següent:
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

Configuració de MetaGPT amb la vostra clau de l'API OpenAI

Després de la configuració inicial, haureu d'integrar MetaGPT amb la vostra clau de l'API OpenAI. Aquests són els passos per fer-ho:

  1. Localitzeu o genereu la vostra clau OpenAI: Podeu trobar aquesta clau al vostre tauler d'OpenAI a la configuració de l'API.
  2. Estableix la clau de l'API: teniu l'opció de col·locar la clau de l'API en qualsevol de les dues config/key.yaml, config/config.yaml, o establiu-lo com a variable d'entorn (env). L'ordre de preferència és config/key.yaml > config/config.yaml > env.
  3. Per configurar la clau, aneu a config/key.yaml i substituïu el text del marcador de posició per la vostra clau OpenAI: OPENAI_API_KEY: "sk-..."

Recordeu protegir la vostra clau de l'API d'OpenAI. No el comprometeu mai a un repositori públic ni el compartiu amb persones no autoritzades.

Il·lustració de casos d'ús

Vaig donar l'objectiu de desenvolupar un joc de roca, paper i tisores basat en CLI, i MetaGPT va executar la tasca amb èxit.

A continuació es mostra un vídeo que mostra l'execució real del codi del joc generat.

Execució de demostració MetaGPT

MetaGPT va proporcionar un document de disseny del sistema a Markdown, un llenguatge de marques lleuger d'ús habitual. Aquest fitxer Markdown estava ple de diagrames UML, oferint així una visió granular del projecte arquitectònic. A més, les especificacions de l'API es van detallar amb mètodes HTTP, punts finals, objectes de sol·licitud/resposta i codis d'estat

Sortida MetaGPT - Disseny del sistema

Sortida MetaGPT - Markdown de disseny del sistema

El diagrama de classes detalla els atributs i mètodes del nostre Game classe, proporcionant una abstracció fàcil d'entendre. Fins i tot visualitza el flux de trucades del programa, convertint de manera efectiva les idees abstractes en passos tangibles.

Això no només redueix significativament la sobrecàrrega manual en la planificació, sinó que també accelera el procés de presa de decisions, assegurant que el vostre canal de desenvolupament segueixi sent àgil. Amb MetaGPT, no només esteu automatitzant la generació de codi, sinó que esteu automatitzant la planificació intel·ligent de projectes, proporcionant així un avantatge competitiu en el desenvolupament ràpid d'aplicacions.

Conclusió: MetaGPT: revolucionar el desenvolupament de programari

MetaGPT redefineix el panorama de l'IA generativa i el desenvolupament de programari, oferint una combinació perfecta d'automatització intel·ligent i gestió de projectes àgil. Superant amb escreix les capacitats dels models ChatGPT, AutoGPT i LangChain tradicionals, destaca en la descomposició de tasques, la generació eficient de codi i la planificació de projectes. Més informació sobre

Aquests són els punts clau d'aquest article:

  1. El poder de la metaprogramació: Mitjançant l'ús de la metaprogramació, MetaGPT proporciona un marc de programari àgil i adaptatiu. Transcendeix la funcionalitat limitada de les eines heretades i introdueix un enfocament transformador que gestiona no només la codificació, sinó també aspectes de gestió de projectes i presa de decisions.
  2. Arquitectura de dues capes: Amb les seves capes fonamentals i col·laboratives, MetaGPT crea eficaçment un ecosistema sinèrgic on els agents poden treballar de manera cohesionada, semblant a un equip de programari gestionat per experts.
  3. Revisió de codi optimitzada: Més enllà de només generar codi, MetaGPT ofereix funcions d'execució de precompilació, que és essencialment un sistema d'alerta primerenca per errors. Això no només estalvia temps de depuració, sinó que també garanteix la qualitat del codi.
  4. Agents Cognitius: Els agents intel·ligents de MetaGPT, plens de funcions cognitives com _observe(), _think() i _publish_message(), evolucionen i s'adapten, garantint que la vostra solució de programari no només estigui codificada sinó que sigui "intel·ligent".
  5. Instal·lació i desplegament: Hem il·lustrat que MetaGPT es pot configurar fàcilment, tant si preferiu una instal·lació local mitjançant npm i Python, com la contenidorització mitjançant Docker.

He passat els últims cinc anys submergint-me en el fascinant món de l'aprenentatge automàtic i l'aprenentatge profund. La meva passió i experiència m'han portat a contribuir a més de 50 projectes diversos d'enginyeria de programari, amb un enfocament particular en IA/ML. La meva curiositat contínua també m'ha atret cap al processament del llenguatge natural, un camp que tinc ganes d'explorar més.