MarkTechPost@AI 2024年08月10日
Researchers at FPT Software AI Center Introduce AgileCoder: A Multi-Agent System for Generating Complex Software, Surpassing MetaGPT and ChatDev
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

AgileCoder是一个由FPT软件人工智能中心的研究人员提出的新型框架,它模拟了现实世界中复杂的软件开发过程,并从敏捷方法学中汲取灵感。AgileCoder由多个扮演不同角色的智能体组成,这些智能体在冲刺中协同工作,以根据敏捷方法学实现用户任务。AgileCoder通过将敏捷工作流程应用于多智能体框架,强调动态适应性和迭代开发。来自先前冲刺的输出和问题会被继承并在后续冲刺中得到改进,从而提高最终产品的成功可能性。

🤖 AgileCoder是一个多智能体系统,它模仿了现实世界中复杂的软件开发过程,并从敏捷方法学中汲取灵感。AgileCoder由多个扮演不同角色的智能体组成,这些智能体在冲刺中协同工作,以根据敏捷方法学实现用户任务。AgileCoder通过将敏捷工作流程应用于多智能体框架,强调动态适应性和迭代开发。来自先前冲刺的输出和问题会被继承并在后续冲刺中得到改进,从而提高最终产品的成功可能性。

💻 AgileCoder的核心创新是动态代码图生成器,它创建了一个代码依赖图(CDG),该图模拟了代码文件之间的关系,并随着源代码的变化而更新。CDG在编写合理的测试计划和实现高效的代码检索方面发挥着至关重要的作用。它作为智能体检索相关和足够信息的可靠来源,有助于避免在提示中包含不相关信息。

📈 针对HumanEval、MBPP和ProjectDev等基准进行了全面的评估,证明了AgileCoder的优越性能。在涉及简单竞争级编程问题的HumanEval和MBPP上,AgileCoder明显优于CodeLLMs和最先进的多智能体框架,如ChatDev和MetaGPT。为了评估更复杂需求的性能,团队创建了一个名为ProjectDev的数据集,其中包含来自现实世界软件项目的规范。评估结果表明,AgileCoder在从这种复杂规范生成软件方面比其他基线更有效。

🚀 AgileCoder是一个受敏捷方法学启发的新型多智能体软件开发框架。其核心创新,动态代码图生成器,创建了一个代码依赖图,该图捕获了不断变化的代码关系,用于设计测试计划和实现高效的代码检索。通过遵循敏捷方法学,AgileCoder更好地反映了真实的软件开发工作流程,并支持动态适应性和迭代开发。广泛的评估表明AgileCoder优于现有的方法,如ChatDev和MetaGPT,使其成为使用CodeLLMs完成复杂软件开发任务的有希望的方法。

🌟 AgileCoder是一个创新性的软件开发框架,它将敏捷方法学与多智能体系统相结合,并利用动态代码图生成器来提高代码质量和效率。它在复杂软件开发任务中表现出色,为未来的软件开发提供了新的方向。

Introduction:

Code Large Language Models (CodeLLMs) have demonstrated remarkable proficiency in generating code. However, they struggle with complex software engineering tasks, such as developing an entire software system based on intricate specifications. Recent works, including ChatDev and MetaGPT, have introduced multi-agent frameworks for software development, where agents collaborate to achieve complex goals. These works follow standard procedures of multi-agent systems, defining different roles for agents to communicate and verify each other’s output. Nevertheless, they tend to oversimplify the complex nature of real-world software development, where software continuously evolves and improves.

Introducing AgileCoder:

In this work, a team of researchers from the FPT Software AI Center propose AgileCoder, a novel framework that mimics the intricate software development process in the real world by drawing inspiration from Agile Methodology, a widely used approach in professional software development teams. Approximately 70% of professional teams employ Agile Methodology, which is better suited to real-world software development. AgileCoder is built upon a key concept of Agile: software continually evolves over time, and thus development should be structured in the form of sprints (aka. phases).

Agent Roles and Collaboration:

AgileCoder consists of multiple agents playing distinct roles: a Project Manager, a Scrum Master, a Developer, a Senior Developer, and a Tester. These agents work collaboratively across sprints to achieve user tasks in accordance with the Agile methodology. By adapting Agile workflows to a multi-agent framework, AgileCoder emphasizes dynamic adaptability and iterative development. Outputs and problems from previous sprints are inherited and refined in subsequent sprints, increasing the likelihood of success for final products.

Dynamic Code Graph Generator:

A key innovation in AgileCoder is the Dynamic Code Graph Generator, which creates a Code Dependency Graph (CDG) that models relationships among code files and updates with source code changes. The CDG plays a crucial role in writing rational testing plans and enabling efficient code retrieval. It serves as a reliable source for agents to retrieve relevant and sufficient information, helping to avoid the inclusion of irrelevant information in prompts.

Evaluation and Results:

Comprehensive evaluations on benchmarks like HumanEval, MBPP, and ProjectDev demonstrate AgileCoder’s superior performance. On HumanEval and MBPP, which involve simple competitive-level programming problems, AgileCoder significantly outperforms CodeLLMs and state-of-the-art multi-agent frameworks like ChatDev and MetaGPT. To assess performance on more complex requirements, the team crafted a dataset named ProjectDev, containing requirements from real-world software projects. Evaluation results show that AgileCoder is more effective than other baselines in generating software from such complex requirements.

Conclusion:

AgileCoder is a novel multi-agent software development framework inspired by Agile methodology. Its key innovation, the Dynamic Code Graph Generator, creates a Code Dependency Graph that captures evolving code relationships for designing testing plans and enabling efficient code retrieval. By following Agile methodology, AgileCoder better mirrors real software development workflows and supports dynamic adaptability and iterative development. Extensive evaluations showcase AgileCoder’s superiority over existing methods like ChatDev and MetaGPT, making it a promising approach for complex software development tasks using CodeLLMs.


Check out the Paper and GitHub. All credit for this research goes to the researchers of this project. Also, don’t forget to follow us on Twitter and join our Telegram Channel and LinkedIn Group. If you like our work, you will love our newsletter..

Don’t Forget to join our 48k+ ML SubReddit

Find Upcoming AI Webinars here

The post Researchers at FPT Software AI Center Introduce AgileCoder: A Multi-Agent System for Generating Complex Software, Surpassing MetaGPT and ChatDev appeared first on MarkTechPost.

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

AgileCoder 多智能体系统 软件开发 敏捷方法学 代码生成
相关文章