Con l’aumento del numero di agenti AI che utilizzano Large Language Models (LLM) per eseguire attività in modo autonomo, la prossima fase dell’evoluzione vede l’integrazione di più agenti che collaborano per svolgere compiti complessi. Oltre a MetaGPT, che già svolge questa funzione, stanno emergendo altri agenti simili, l’ultimo dei quali è ChatDev, una società basata su chat virtuale specializzata nello sviluppo software. La domanda principale è: cosa rende unico questo agente?

Un team composto da 12 ricercatori provenienti dalla Dalian University of Technology, dall’Università di Pechino e dalla Brown University ha creato ChatDev, un sistema multi-agente progettato per accelerare la creazione di software in pochi minuti. ChatDev adotta un approccio strutturato simile al modello a cascata, un approccio sequenziale e lineare nello sviluppo software.

Il processo di sviluppo viene suddiviso in quattro fasi chiare: progettazione, codifica, test e documentazione. Ogni fase coinvolge un team di agenti, tra cui programmatori, revisori di codice e ingegneri di test, promuovendo la collaborazione e garantendo un flusso di lavoro fluido.

Quando viene assegnato un compito, come la creazione di un “gioco Gomoku”, gli agenti di ChatDev si impegnano in una comunicazione efficace e nella verifica reciproca attraverso chat collaborative. Questo processo consente loro di generare automaticamente soluzioni software complete, comprensive di codice sorgente, dipendenze ambientali e manuali utente.

Una catena di chat svolge il ruolo di mediatore, suddividendo ciascuna fase in attività più piccole e specifiche. Questa doppia funzione agevola la discussione e la conferma delle soluzioni attraverso una comunicazione sensibile al contesto, portando infine al completamento efficiente di attività specifiche.

Quando MetaGPT è stato introdotto, il concetto di framework multi-agente era di tendenza su GitHub, con ben 20.000 stelle. Tuttavia, pur condividendo l’implementazione di più agenti, ChatDev e MetaGPT differiscono nei loro scopi e approcci.

ChatDev, essendo una società orientata alle chat, si concentra specificamente sulla creazione di software, mentre MetaGPT mira a migliorare le capacità dei sistemi multi-agente esistenti, affrontando la sfida della risoluzione di compiti complessi. MetaGPT raggiunge questo obiettivo traducendo procedure operative standardizzate (SOP) in istruzioni per migliorare il coordinamento tra gli agenti. Inoltre, supporta l’output modulare, permettendo agli agenti esperti di convalidare i risultati e ridurre gli errori. Invece di fare affidamento solo sulla conoscenza intrinseca del modello linguistico, MetaGPT fornisce linee guida e procedure specifiche per guidare gli agenti nelle loro interazioni. D’altra parte, ChatDev segue un approccio a cascata, particolarmente adatto allo sviluppo software, con l’uso di chat per facilitare la comunicazione e la suddivisione delle attività.

Va notato che ChatDev è stato testato con la versione gpt3.5-turbo-16k di ChatGPT, mentre MetaGPT utilizza GPT4-32k e si dice abbia superato GPT-4 in termini di tassi di superamento su MBPP e HumanEval. Tuttavia, ChatDev non è stato confrontato con altri Large Language Models.

Il documento su ChatDev evidenzia l’efficacia sorprendente nella generazione di software, affermando che l’intero processo di sviluppo richiede meno di sette minuti a un costo inferiore a 1 dollaro. In confronto, un progetto basato su MetaGPT richiede in media 516 secondi e 1,12 dollari, con un costo massimo di 1,35 dollari.

L’uso diretto di Large Language Models per creare software può comportare problemi come implementazioni incomplete, mancanza di dipendenze e bug non rilevati. Tuttavia, ChatDev affronta questo problema introducendo meccanismi di istruzione del pensiero in ogni fase del processo, permettendo agli istruttori di inserire pensieri specifici per le modifiche del codice durante la revisione e i test. MetaGPT, d’altra parte, si basa su flussi di lavoro umani efficienti e sulla metaprogrammazione per affrontare le allucinazioni, sebbene i dettagli precisi non siano specificati nel documento.

In conclusione, ChatDev offre la possibilità di semplificare il processo di sviluppo software, eliminando la necessità di coinvolgere molteplici team e risorse. La sua capacità di costruire software completi in pochi minuti potrebbe rivoluzionare il flusso di lavoro nello sviluppo software se utilizzata ampiamente.

Di Fantasy