AgentCoder: Multi-Agent-based Code Generation with Iterative Testing and Optimisation

2023年12月20日
  • 简介
    自然语言处理(NLP)的进步受到基于transformer的大型语言模型(LLMs)的发展的显著推动。这些模型已经在NLP任务中产生了革命性的影响,特别是在代码生成方面,帮助开发人员提高了软件的效率。尽管它们有所进步,但在平衡代码片段生成与有效测试用例生成和执行方面仍存在挑战。为了解决这些问题,本文介绍了多智能体助手代码生成(AgentCoder),这是一个由多个智能体组成的框架,包括程序员代理、测试设计师代理和测试执行代理。在编码过程中,程序员代理将专注于根据测试执行代理的反馈进行代码生成和细化。测试设计师代理将为生成的代码生成测试用例,测试执行代理将使用测试用例运行代码,并将反馈写入程序员。这种协作系统确保了强大的代码生成,超越了单一代理模型和传统方法的限制。我们在9个代码生成模型和12个增强方法上进行了广泛的实验,展示了AgentCoder在各种基准测试中相对于现有代码生成模型和快速工程技术的卓越表现。例如,AgentCoder在HumanEval-ET和MBPP-ET中使用GPT-3.5实现了77.4%和89.1%的pass@1,而SOTA基线仅获得69.5%和63.0%。
  • 图表
  • 解决问题
    本论文旨在解决在代码生成过程中平衡代码片段生成和有效测试用例生成与执行之间的挑战。同时,该论文还试图证明多智能体助手代码生成(AgentCoder)的有效性。
  • 关键思路
    该论文提出了一个多智能体框架,包括程序员代理、测试设计师代理和测试执行代理,以协同生成和测试代码。这种协同系统可以确保强大的代码生成,超越单智能体模型和传统方法的局限性。
  • 其它亮点
    该论文在9个代码生成模型和12个增强方法上进行了广泛实验,展示了AgentCoder在各种基准测试中相对于现有代码生成模型和快速工程技术的优越性。论文使用了多个数据集,包括HumanEval-ET和MBPP-ET,并展示了GPT-3.5的77.4%和89.1%的pass@1,而SOTA基线仅获得69.5%和63.0%。
  • 相关研究
    在这个领域中,还有一些相关的研究被进行。例如,最近的一些相关研究包括:1)《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》;2)《DeepTest: Automated Testing of Deep-Neural-Network-driven Autonomous Cars》;3)《Learning to Generate Pseudo-code from Source Code Using Statistical Machine Translation》。
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论