13 天前
AgentCoder:基于多智能体的代码生成方法及其迭代测试与优化
Dong Huang, Jie M.Zhang, Michael Luck, Qingwen Bu, Yuhao Qing, Heming Cui

摘要
自然语言处理(NLP)的快速发展得益于基于Transformer架构的大规模语言模型(LLMs)的兴起。这些模型在NLP任务中实现了革命性突破,尤其在代码生成领域,显著提升了开发人员编写软件的效率。然而,如何在代码片段生成与有效测试用例生成及执行之间实现良好平衡,仍是当前面临的关键挑战。为应对这一问题,本文提出了一种名为多智能体辅助代码生成(AgentCoder)的新方法。该方法构建了一个多智能体框架,包含三个专业化智能体:程序员智能体、测试设计智能体和测试执行智能体。在编码过程中,程序员智能体根据测试执行智能体的反馈,持续进行代码生成与优化;测试设计智能体负责为生成的代码设计相应的测试用例;测试执行智能体则利用这些测试用例运行代码,并将执行结果反馈给程序员智能体。这种协同机制确保了代码生成的稳健性,突破了单一智能体模型及传统方法的局限性。我们在9种代码生成模型和12种优化策略上开展了广泛实验,结果表明,AgentCoder在多个基准测试中均显著优于现有代码生成模型及提示工程(prompt engineering)技术。例如,在HumanEval和MBPP数据集上,AgentCoder(GPT-4)分别取得了96.3%和91.8%的pass@1准确率,整体令牌(token)开销分别为56.9K和66.3K;而当前最先进的方法仅能达到90.2%和78.9%的pass@1准确率,且对应的令牌开销高达138.2K和206.5K。实验结果充分证明,AgentCoder在生成质量与资源效率之间实现了更优的平衡。