AgileCoder: Agenti Collaborativi Dinamici per lo Sviluppo del Software basati sulla Metodologia Agile
AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodology
June 16, 2024
Autori: Minh Huynh Nguyen, Thang Phan Chau, Phong X. Nguyen, Nghi D. Q. Bui
cs.AI
Abstract
Gli agenti software sono emersi come strumenti promettenti per affrontare compiti complessi di ingegneria del software. Tuttavia, i lavori esistenti semplificano eccessivamente i flussi di lavoro di sviluppo software seguendo il modello a cascata. Pertanto, proponiamo AgileCoder, un sistema multi-agente che integra la Metodologia Agile (AM) nel framework. Questo sistema assegna ruoli specifici dell'AM, come Product Manager, Developer e Tester, a diversi agenti, che poi collaborano per sviluppare software basandosi sugli input dell'utente. AgileCoder migliora l'efficienza dello sviluppo organizzando il lavoro in sprint, concentrandosi sullo sviluppo incrementale del software attraverso gli sprint. Inoltre, introduciamo il Dynamic Code Graph Generator, un modulo che crea dinamicamente un Grafo delle Dipendenze del Codice man mano che vengono apportate modifiche alla codebase. Ciò consente agli agenti di comprendere meglio la codebase, portando a una generazione e modifica del codice più precisa durante il processo di sviluppo del software. AgileCoder supera i benchmark esistenti, come ChatDev e MetaGPT, stabilendo un nuovo standard e dimostrando le capacità dei sistemi multi-agente in ambienti avanzati di ingegneria del software. Il nostro codice sorgente è disponibile all'indirizzo https://github.com/FSoft-AI4Code/AgileCoder.
English
Software agents have emerged as promising tools for addressing complex
software engineering tasks. However, existing works oversimplify software
development workflows by following the waterfall model. Thus, we propose
AgileCoder, a multi-agent system that integrates Agile Methodology (AM) into
the framework. This system assigns specific AM roles such as Product Manager,
Developer, and Tester to different agents, who then collaboratively develop
software based on user inputs. AgileCoder enhances development efficiency by
organizing work into sprints, focusing on incrementally developing software
through sprints. Additionally, we introduce Dynamic Code Graph Generator, a
module that creates a Code Dependency Graph dynamically as updates are made to
the codebase. This allows agents to better comprehend the codebase, leading to
more precise code generation and modifications throughout the software
development process. AgileCoder surpasses existing benchmarks, like ChatDev and
MetaGPT, establishing a new standard and showcasing the capabilities of
multi-agent systems in advanced software engineering environments. Our source
code can be found at https://github.com/FSoft-AI4Code/AgileCoder.