AGI e IA del futuro
MetaGPT: Guida Completa all’Agente AI Migliore Disponibile al Momento
Con i Large Language Models (LLM) come ChatGPT, OpenAI ha assistito a un aumento dell’adozione aziendale e degli utenti, attualmente incassando circa 80 milioni di dollari di entrate mensili. Secondo un rapporto recente di The Information, l’azienda con sede a San Francisco è segnalata essere sulla strada per raggiungere 1 miliardo di dollari di entrate annuali.
L’ultima volta che abbiamo esaminato AutoGPT e GPT-Engineering, i primi agenti AI open-source basati su LLM progettati per automatizzare compiti complessi. Sebbene promettenti, questi sistemi avevano una serie di problemi: risultati inconsistenti, collo di bottiglia delle prestazioni e limitazioni nella gestione di richieste multifacetiche. Mostrano competenza nella generazione di codice, ma le loro capacità spesso si fermano lì. Mancano di funzionalità di gestione del progetto critiche come la generazione di PRD, la generazione di progettazione tecnica e la prototipazione dell’interfaccia API.
Entra MetaGPT— un sistema multi-agente che utilizza Large Language models di Sirui Hong che fonde Procedure Operative Standardizzate (SOP) con sistemi multi-agente basati su LLM. Questo paradigma emergente rompe le limitazioni esistenti dei LLM nella promozione della collaborazione efficace e della decomposizione dei compiti in applicazioni complesse e reali.
La bellezza di MetaGPT risiede nella sua struttura. Sfrutta le tecniche di meta-programmazione per manipolare, analizzare e trasformare il codice in tempo reale. L’obiettivo? Realizzare un’architettura software agile e flessibile che possa adattarsi a compiti di programmazione dinamici.
Le SOP agiscono come una meta-funzione qui, coordinando gli agenti per auto-generare codice in base a input definiti. In parole semplici, è come se avessi trasformato un team di ingegneri software altamente coordinati in un sistema software intelligente e adattabile.
Comprendere il Framework MetaGPT

Framework MetaGPT (https://arxiv.org/pdf/2308.00352.pdf)
Strati Fondamentali e di Collaborazione
L’architettura di MetaGPT è divisa in due strati: lo strato dei componenti fondamentali e lo strato di collaborazione.
- Strato dei Componenti Fondamentali: questo strato si concentra sulle operazioni degli agenti individuali e facilita lo scambio di informazioni a livello di sistema. Introduce blocchi fondamentali come Ambiente, Memoria, Ruoli, Azioni e Strumenti. L’Ambiente stabilisce il palco per spazi di lavoro condivisi e percorsi di comunicazione, mentre la Memoria serve come archivio di dati storici. I Ruoli racchiudono competenze specifiche di dominio, le Azioni eseguono compiti modulari e gli Strumenti offrono servizi comuni. Questo strato serve essenzialmente come sistema operativo per gli agenti. Ulteriori dettagli su come questi lavorano insieme sono disponibili nell’articolo ‘Oltre ChatGPT; Agente AI: un nuovo mondo di lavoratori‘
- Strato di Collaborazione: costruito sopra i componenti fondamentali, questo strato gestisce e ottimizza gli sforzi collaborativi degli agenti individuali. Introduce due meccanismi: Condivisione delle Conoscenze e Incapsulamento dei Flussi di Lavoro.
- Condivisione delle Conoscenze: agisce come la colla collaborativa che lega gli agenti insieme. Gli agenti possono archiviare, recuperare e condividere informazioni a livelli diversi, riducendo così la ridondanza e migliorando l’efficienza operativa.
- Incapsulamento dei Flussi di Lavoro: è qui che entrano in gioco le Procedure Operative Standardizzate (SOP). Le SOP agiscono come blueprint che dividono i compiti in componenti gestibili. Gli agenti sono assegnati a questi sottocompiti e le loro prestazioni sono allineate con output standardizzati.
MetaGPT utilizza anche “Definizioni di Ruolo” per iniziare vari agenti specializzati come Product Manager, Architetti, ecc. come abbiamo discusso sopra. Questi ruoli sono caratterizzati da attributi chiave come nome, profilo, obiettivo, vincoli e descrizione.
Inoltre, “Agenti di Ancoraggio” fornisce una guida specifica del ruolo a questi agenti. Ad esempio, il ruolo di un Product Manager potrebbe essere inizializzato con il vincolo di “creare efficientemente un prodotto di successo”. Gli agenti di ancoraggio assicurano che il comportamento degli agenti si allinei con gli obiettivi generali, ottimizzando così le prestazioni.
Processi Cognitivi negli Agenti MetaGPT
MetaGPT può osservare, pensare, riflettere e agire. Operano attraverso funzioni comportamentali specifiche come _think(), _observe(), _publish_message(), ecc. Questo modello cognitivo consente agli agenti di essere apprendisti attivi che possono adattarsi ed evolversi.
- Osservare: gli agenti scansionano il loro ambiente e incorporano dati chiave nella loro Memoria.
- Pensare e Riflettere: attraverso la funzione
_think(), i ruoli deliberano prima di intraprendere azioni. - Diffondere Messaggi: gli agenti utilizzano
_publish_message()per condividere lo stato attuale del compito e registri di azione. - Precipitazione delle Conoscenze e Agire: gli agenti valutano i messaggi in entrata e aggiornano i loro repository interni prima di decidere il corso di azione successivo.
- Gestione dello Stato: con funzionalità come il blocco dei compiti e l’aggiornamento dello stato, i ruoli possono elaborare più azioni in sequenza senza interruzioni, riflettendo la collaborazione umana nel mondo reale.
Meccanismi di Revisione del Codice per MetaGPT
La revisione del codice è un componente critico nel ciclo di vita dello sviluppo software, ma è assente in diversi framework popolari. Sia MetaGPT che AgentVerse supportano le funzionalità di revisione del codice, ma MetaGPT va oltre. Incorpora anche l’esecuzione precompilazione, che aiuta nella rilevazione precoce degli errori e innalza la qualità del codice. Data la natura iterativa della codifica, questa funzionalità non è solo un’aggiunta, ma una richiesta per qualsiasi framework di sviluppo maturo.
Esperimenti quantitativi condotti su diversi compiti hanno rivelato che MetaGPT ha superato i suoi omologhi in quasi ogni scenario. Pass@1 è una misura della capacità del framework di generare codice preciso in un’unica iterazione. Questo metrica offre una riflessione più realistica dell’utilità del framework in un contesto pratico. Un tasso Pass@1 più alto significa meno debug e maggiore efficienza, influenzando direttamente i cicli di sviluppo e i costi. Quando confrontato con altri strumenti avanzati di generazione di codice come CodeX, CodeT e persino GPT-4, MetaGPT supera tutti. La capacità del framework di raggiungere un tasso Pass@1 dell’81,7% all’82,3% su HumanEval e MBPP è notevole.

Confronto tra metriche MBPP e HumanEval tra MetaGPT e altri modelli leader (https://arxiv.org/pdf/2308.00352.pdf)
Il framework utilizza anche meno token e risorse computazionali, raggiungendo un alto tasso di successo a una frazione dei costi tradizionali di ingegneria del software. I dati indicano un costo medio di soli 1,09 dollari per progetto con MetaGPT, che è solo una frazione di quanto un sviluppatore addebiterà per lo stesso compito.
Passaggi per l’Installazione Locale di MetaGPT sul Tuo Sistema
Installazione NPM e Python
- Verifica e Installazione di NPM: innanzitutto, assicurati che NPM sia installato sul tuo sistema. Se non lo è, dovrai installare node.js. Per verificare se hai npm, esegui questo comando nel terminale:
npm --version. Se vedi un numero di versione, sei a posto. - Per installare
mermaid-js, una dipendenza per MetaGPT, esegui:sudo npm install -g @mermaid-js/mermaid-clionpm install -g @mermaid-js/mermaid-cli - Verifica della Versione di Python: assicurati di avere Python 3.9 o superiore. Per verificare la versione di Python, apri il terminale e digita:
python --version. Se non sei aggiornato, scarica l’ultima versione dal sito ufficiale Python. - Clonazione del Repository MetaGPT: inizia clonando il repository GitHub di MetaGPT utilizzando il comando
git clone https://github.com/geekan/metagpt. Assicurati di avere Git installato nel tuo sistema per questo. Se non l’hai, visita qui. - Navigazione nella Directory: una volta clonato, naviga nella directory MetaGPT utilizzando il comando
cd metagpt. - Installazione: esegui lo script di setup di Python per installare MetaGPT con il comando
python setup.py install. - Crea un’Applicazione: esegui
python startup.py "ENTER-PROMPT" --code_review True
Nota:
- Il tuo nuovo progetto dovrebbe ora essere nella directory
workspace/. --code_review Trueconsentirà al modello GPT di eseguire operazioni aggiuntive che assicureranno che il codice funzioni correttamente, ma nota che costerà di più.- Se incontri un errore di permesso durante l’installazione, prova a eseguire
python setup.py install --usercome alternativa. - Per l’accesso a rilasci specifici e ulteriori dettagli, visita la pagina dei rilasci ufficiali di MetaGPT su GitHub: Rilasci di MetaGPT.
Installazione Docker
Per coloro che preferiscono la containerizzazione, Docker semplifica il processo:
- Esegui l’Immagine Docker: scarica l’immagine ufficiale di MetaGPT e prepara il file di configurazione:
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
- Esegui il Contenitore MetaGPT: esegui il contenitore con il seguente comando:
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 un gioco di carte semplice e interattivo" --code_review True
Configurazione di MetaGPT con la Tua Chiave API di OpenAI
Dopo la configurazione iniziale, dovrai integrare MetaGPT con la tua chiave API di OpenAI. Ecco i passaggi per farlo:
- Trova o Genera la Tua Chiave OpenAI: puoi trovare questa chiave nel tuo pannello di controllo OpenAI sotto le impostazioni API.
- Imposta la Chiave API: hai l’opzione di inserire la chiave API in
config/key.yaml,config/config.yamlo impostarla come variabile di ambiente (env). L’ordine di precedenza èconfig/key.yaml > config/config.yaml > env. - Per impostare la chiave, naviga fino a
config/key.yamle sostituisci il testo segnaposto con la tua chiave OpenAI:OPENAI_API_KEY: "sk-..."
Ricorda di proteggere la tua chiave API di OpenAI. Non condividerla mai con persone non autorizzate o inserirla in un repository pubblico.
Esempio di Utilizzo
Ho dato l’obiettivo di sviluppare un gioco di carte a turni basato su CLI, e MetaGPT ha eseguito con successo il compito.
Di seguito è riportato un video che mostra l’esecuzione effettiva del codice del gioco generato.
Esecuzione di MetaGPT
MetaGPT ha fornito un documento di progettazione del sistema in Markdown, un linguaggio di markup leggero comunemente utilizzato. Questo file Markdown era pieno di diagrammi UML, offrendo una visione granulare del progetto architettonico. Inoltre, le specifiche API sono state dettagliate con metodi HTTP, endpoint, oggetti di richiesta/ricezione e codici di stato
Il diagramma di classe dettaglia gli attributi e i metodi della nostra classe Game, fornendo un’astrazione facile da comprendere. Visualizza anche il flusso di chiamata del programma, trasformando efficacemente idee astratte in passaggi tangibili.
Ciò non solo riduce notevolmente il carico manuale nella pianificazione, ma accelera anche il processo decisionale, assicurando che la tua pipeline di sviluppo rimanga agile. Con MetaGPT, non stai solo automatizzando la generazione di codice, stai automatizzando la pianificazione del progetto intelligente, fornendo così un vantaggio competitivo nello sviluppo rapido di applicazioni.
Conclusione: MetaGPT—Rivoluzionando lo Sviluppo del Software
MetaGPT ridefinisce il panorama dell’intelligenza artificiale generativa e dello sviluppo del software, offrendo una fusione senza soluzione di continuità di automazione intelligente e gestione del progetto agile. Sorpassa ampiamente le capacità di ChatGPT, AutoGPT e modelli LangChain tradizionali, eccellendo nella decomposizione dei compiti, nella generazione efficiente del codice e nella pianificazione del progetto. Scopri di più su
Ecco i punti chiave di questo articolo:
- Il Potere della Meta-Programmazione: utilizzando la meta-programmazione, MetaGPT fornisce un framework software agile e adattabile. Trascende la funzionalità ristretta degli strumenti legacy e introduce un approccio trasformativo che gestisce non solo la codifica, ma anche la gestione del progetto e la presa di decisioni.
- Architettura a Due Strati: con i suoi strati fondamentali e di collaborazione, MetaGPT crea efficacemente un ecosistema sinergico in cui gli agenti possono lavorare in modo coeso, simile a un team di sviluppo software gestito con competenza.
- Revisione del Codice Ottimizzata: oltre a generare codice, MetaGPT offre funzionalità di esecuzione precompilazione, che è essenzialmente un sistema di allarme precoce per gli errori. Ciò non solo risparmia tempo di debug, ma assicura anche la qualità del codice.
- Agenti Cognitivi: gli agenti intelligenti di MetaGPT, dotati di funzioni cognitive come
_observe(),_think()e_publish_message(), evolvono e si adattano, assicurando che la tua soluzione software non sia solo codificata, ma anche ‘intelligente’. - Installazione e Distribuzione: abbiamo illustrato che MetaGPT può essere facilmente configurato, sia attraverso l’installazione locale via npm e Python, sia attraverso la containerizzazione via Docker.















