Software agents have emerged as promising tools for addressing complex software engineering tasks. Existing works, on the other hand, frequently oversimplify software development workflows, despite the fact that such workflows are typically more complex in the real world. 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.
翻译:软件智能体已成为解决复杂软件工程任务的有前景的工具。然而,现有研究常常过度简化软件开发工作流,尽管实际工作流通常更为复杂。为此,我们提出AgileCoder——一个将敏捷方法(AM)融入框架的多智能体系统。该系统为不同智能体分配特定的敏捷角色(如产品经理、开发者和测试者),使其能够基于用户输入协作开发软件。AgileCoder通过将工作组织为冲刺周期,专注于通过迭代冲刺逐步开发软件,从而提升开发效率。此外,我们引入了动态代码图生成器模块,该模块能在代码库更新时动态创建代码依赖图。这使得智能体能够更好地理解代码库,进而在整个软件开发过程中实现更精确的代码生成与修改。AgileCoder在ChatDev和MetaGPT等现有基准测试中表现优异,树立了新标准,并展示了多智能体系统在高级软件工程环境中的强大能力。