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.
翻译:软件智能体已成为解决复杂软件工程任务的有前景的工具。然而,现有研究大多遵循瀑布模型,过度简化了软件开发工作流程。为此,我们提出AgileCoder——一个将敏捷方法(AM)融入框架的多智能体系统。该系统为不同智能体分配特定的敏捷角色(如产品经理、开发者和测试者),使其能够基于用户输入协作开发软件。AgileCoder通过将工作组织为冲刺周期,专注于通过迭代冲刺逐步开发软件,从而提升开发效率。此外,我们引入了动态代码图生成器模块,该模块能在代码库更新时动态创建代码依赖图。这使得智能体能够更好地理解代码库,从而在软件开发过程中实现更精确的代码生成与修改。AgileCoder在ChatDev和MetaGPT等现有基准测试中表现优异,树立了新的标准,并展示了多智能体系统在高级软件工程环境中的强大能力。我们的源代码已发布于https://github.com/FSoft-AI4Code/AgileCoder。