AgileCoder: Agentes Colaborativos Dinâmicos para Desenvolvimento de Software baseados na Metodologia Ágil
AgileCoder: Dynamic Collaborative Agents for Software Development based on Agile Methodology
June 16, 2024
Autores: Minh Huynh Nguyen, Thang Phan Chau, Phong X. Nguyen, Nghi D. Q. Bui
cs.AI
Resumo
Agentes de software surgiram como ferramentas promissoras para lidar com tarefas complexas de engenharia de software. No entanto, os trabalhos existentes simplificam demais os fluxos de trabalho de desenvolvimento de software ao seguirem o modelo em cascata. Assim, propomos o AgileCoder, um sistema multiagente que integra a Metodologia Ágil (MA) em sua estrutura. Esse sistema atribui papéis específicos da MA, como Gerente de Produto, Desenvolvedor e Testador, a diferentes agentes, que então colaboram no desenvolvimento de software com base nas entradas do usuário. O AgileCoder aumenta a eficiência do desenvolvimento ao organizar o trabalho em sprints, focando no desenvolvimento incremental do software por meio desses sprints. Além disso, introduzimos o Dynamic Code Graph Generator, um módulo que cria um Grafo de Dependência de Código dinamicamente à medida que atualizações são feitas na base de código. Isso permite que os agentes compreendam melhor a base de código, levando a uma geração e modificação de código mais precisa ao longo do processo de desenvolvimento de software. O AgileCoder supera benchmarks existentes, como ChatDev e MetaGPT, estabelecendo um novo padrão e demonstrando as capacidades de sistemas multiagente em ambientes avançados de engenharia de software. Nosso código-fonte pode ser encontrado em 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.