13 天前

MapCoder:面向竞赛问题求解的多智能体代码生成

Md. Ashraful Islam, Mohammed Eunus Ali, Md Rizwan Parvez
MapCoder:面向竞赛问题求解的多智能体代码生成
摘要

代码合成是一项极具挑战性的任务,其核心在于深入理解复杂的自然语言问题描述,生成针对复杂算法与数据结构的代码指令,并成功通过全面的单元测试。尽管大型语言模型(LLMs)在自然语言处理方面表现出色,但在代码生成任务中的性能仍存在明显局限。本文提出一种新型代码生成方法,通过多智能体提示(multi-agent prompting)机制,首次实现了对人类开发者在程序合成过程中完整工作循环的精准模拟。我们提出的框架——MapCoder,由四个专门设计的LLM智能体构成,分别对应该循环的四个关键阶段:相关案例的回忆、任务规划、代码生成与调试。经过在八个具有挑战性的竞赛级问题求解与程序合成基准上的系统性实验,涵盖多种LLM的消融研究与深入分析,MapCoder展现出卓越的代码生成能力,在多个主流评估基准上取得了新的最先进水平(pass@1):HumanEval(93.9%)、MBPP(83.1%)、APPS(22.0%)、CodeContests(28.5%)以及xCodeEval(45.3%)。此外,该方法在多种编程语言及不同难度的问题上均表现出一致的优异性能。我们已将该框架开源,访问地址为:https://github.com/Md-Ashraful-Pramanik/MapCoder。