3 个月前

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

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。

代码仓库

md-ashraful-pramanik/mapcoder
官方
GitHub 中提及

基准测试

基准方法指标
code-generation-on-appsMapCoder APPS-150-cherrypicked (GPT-4)
Competition Pass@1: 0.00%
Competition Pass@1000: 8.80%
Competition Pass@5: 0.00%
Competition Pass@any: 8.80%
Interview Pass@1: 0.70%
Interview Pass@1000: 9.27%
Interview Pass@5: 1.03%
Interview Pass@any: 9.27%
Introductory Pass@1: 1.30%
Introductory Pass@1000: 25.00%
Introductory Pass@5: 3.60%
Introductory Pass@any: 25.00%
code-generation-on-codecontestsMapCoder (GPT-4)
Test Set pass@1: 28.5
Test Set pass@5: 35.2
Val Set pass@1: 28.5
code-generation-on-humanevalMapCoder (GPT-4)
Pass@1: 93.9
code-generation-on-mbppMapCoder (GPT-4)
Accuracy: 83.1
code-generation-on-mbppMapCoder (GPT-4o)
Accuracy: 89.7
code-generation-on-mbppo1-mini + MapCoder
Accuracy: 93.2

用 AI 构建 AI

从想法到上线——通过免费 AI 协同编程、开箱即用的环境和市场最优价格的 GPU 加速您的 AI 开发

AI 协同编程
即用型 GPU
最优价格
立即开始

Hyper Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供
MapCoder:面向竞赛问题求解的多智能体代码生成 | 论文 | HyperAI超神经