AGILECODER: Dynamic Collaborative Agents for Software Development based on Agile Methodology

AGILECODER: Dynamic Collaborative Agents for Software Development based on Agile Methodology

14 Jul 2024 | Minh Huynh Nguyen, Thang Chau Phan, Phong X. Nguyen, Nghi D. Q. Bui
AGILECODER is a novel multi-agent software development framework based on Agile Methodology, designed to enhance software development efficiency through dynamic collaboration among agents. The system integrates Agile roles such as Product Manager, Developer, Tester, and Senior Developer, enabling collaborative development based on user inputs. AGILECODER organizes work into sprints, focusing on incremental development and improving code quality through a Dynamic Code Graph Generator (DCGG), which creates a Code Dependency Graph (CDG) that updates dynamically as the codebase evolves. This allows agents to better understand the codebase, leading to more accurate code generation and modifications. AGILECODER surpasses existing benchmarks like ChatDev and MetaGPT, establishing a new standard in multi-agent software development. It achieves superior performance on benchmarks such as HumanEval and MBPP, and on a newly proposed benchmark, ProjectDev, which evaluates real-world software development tasks. The system demonstrates significant improvements in code execution and error detection, attributed to its integration of planning phases, generated test cases, and efficient code retrieval. The framework employs a dual-agent communication model, simplifying interactions between agents and ensuring efficient task execution. A global message pool facilitates information sharing, while the DCGG enables context-aware code retrieval, reducing the need for loading entire codebases into LLMs. This approach optimizes token usage and maintains the relevance and accuracy of information provided to agents. Experiments show that AGILECODER outperforms other models in code generation and debugging, achieving higher pass@1 scores on HumanEval and MBPP. It also performs well on ProjectDev, demonstrating its effectiveness in real-world software development. The system's ability to handle complex tasks and adapt to changing requirements makes it a significant advancement in software development automation. Despite its strengths, AGILECODER has limitations, including reliance on LLMs and potential scalability issues, which require further research and optimization.AGILECODER is a novel multi-agent software development framework based on Agile Methodology, designed to enhance software development efficiency through dynamic collaboration among agents. The system integrates Agile roles such as Product Manager, Developer, Tester, and Senior Developer, enabling collaborative development based on user inputs. AGILECODER organizes work into sprints, focusing on incremental development and improving code quality through a Dynamic Code Graph Generator (DCGG), which creates a Code Dependency Graph (CDG) that updates dynamically as the codebase evolves. This allows agents to better understand the codebase, leading to more accurate code generation and modifications. AGILECODER surpasses existing benchmarks like ChatDev and MetaGPT, establishing a new standard in multi-agent software development. It achieves superior performance on benchmarks such as HumanEval and MBPP, and on a newly proposed benchmark, ProjectDev, which evaluates real-world software development tasks. The system demonstrates significant improvements in code execution and error detection, attributed to its integration of planning phases, generated test cases, and efficient code retrieval. The framework employs a dual-agent communication model, simplifying interactions between agents and ensuring efficient task execution. A global message pool facilitates information sharing, while the DCGG enables context-aware code retrieval, reducing the need for loading entire codebases into LLMs. This approach optimizes token usage and maintains the relevance and accuracy of information provided to agents. Experiments show that AGILECODER outperforms other models in code generation and debugging, achieving higher pass@1 scores on HumanEval and MBPP. It also performs well on ProjectDev, demonstrating its effectiveness in real-world software development. The system's ability to handle complex tasks and adapt to changing requirements makes it a significant advancement in software development automation. Despite its strengths, AGILECODER has limitations, including reliance on LLMs and potential scalability issues, which require further research and optimization.
Reach us at info@study.space
Understanding AgileCoder%3A Dynamic Collaborative Agents for Software Development based on Agile Methodology