- 简介代码合成需要深入理解复杂的自然语言问题描述,生成复杂算法和数据结构的代码指令,并成功执行全面的单元测试,这是一个重大挑战。虽然大型语言模型在自然语言处理方面表现出色,但它们在代码生成任务中的表现仍然有限。本文介绍了一种利用多智能体提示的代码生成任务新方法,这种方法独特地复制了人类开发者在程序合成中观察到的完整周期。我们的框架MapCoder由四个大型语言模型智能体组成,专门设计来模拟这个周期的各个阶段:回忆相关示例、计划、代码生成和调试。经过全面的实验,包括在八个具有挑战性的竞争性问题解决和程序合成基准测试中进行多个大型语言模型消融和分析,MapCoder展示了出色的代码生成能力,在HumanEval(93.9%)、MBPP(83.1%)、APPS(22.0%)、CodeContests(28.5%)和xCodeEval(45.3%)上实现了新的最先进结果(pass@1)。此外,我们的方法在各种编程语言和不同的问题难度下始终表现出优异的性能。我们在https://github.com/Md-Ashraful-Pramanik上开源了我们的框架。
- 图表
- 解决问题论文旨在解决自然语言代码合成中存在的困难,提出了一种基于多智能体提示的代码生成方法,通过模拟人类程序员的完整合成循环来提高性能。
- 关键思路MapCoder框架包含四个具有不同职能的大型语言模型智能体,分别用于召回相关示例、规划、代码生成和调试,通过多智能体提示的方式来解决代码合成问题。
- 其它亮点MapCoder在八个具有挑战性的竞争性问题解决和程序合成基准测试中展现出了卓越的代码生成能力,取得了新的最先进结果。此外,该方法在不同编程语言和不同难度的问题上都表现出了卓越的性能,并在GitHub上开源了代码。
- 最近的相关研究包括《CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing》、《DeepCoder: Learning to Write Programs》、《Neural Program Synthesis with Priority Queue Training》等。
沙发等你来抢
去评论
评论
沙发等你来抢