AgileCoder: Dynamische Collaboratieve Agents voor Softwareontwikkeling gebaseerd op Agile Methodologie
AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodology
June 16, 2024
Auteurs: Minh Huynh Nguyen, Thang Phan Chau, Phong X. Nguyen, Nghi D. Q. Bui
cs.AI
Samenvatting
Software agents zijn veelbelovende tools gebleken voor het aanpakken van complexe software-engineeringtaken. Bestaande werken vereenvoudigen softwareontwikkelingsworkflows echter te veel door het watervalmodel te volgen. Daarom stellen we AgileCoder voor, een multi-agent systeem dat Agile Methodology (AM) in het framework integreert. Dit systeem wijst specifieke AM-rollen zoals Product Manager, Developer en Tester toe aan verschillende agents, die vervolgens samen software ontwikkelen op basis van gebruikersinvoer. AgileCoder verbetert de ontwikkelings efficiëntie door het werk in sprints te organiseren, waarbij de focus ligt op het incrementeel ontwikkelen van software door middel van sprints. Daarnaast introduceren we de Dynamic Code Graph Generator, een module die een Code Dependency Graph dynamisch aanmaakt terwijl updates aan de codebase worden doorgevoerd. Hierdoor kunnen agents de codebase beter begrijpen, wat leidt tot nauwkeurigere codegeneratie en aanpassingen gedurende het softwareontwikkelingsproces. AgileCoder overtreft bestaande benchmarks, zoals ChatDev en MetaGPT, en stelt een nieuwe standaard, waarbij de mogelijkheden van multi-agent systemen in geavanceerde software-engineeringomgevingen worden getoond. Onze broncode is te vinden op 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.