Code Generation with AlphaCodium: From Prompt Engineering to Flow Engineering

Tal Ridnik,
Dedy Kredo,
Itamar Friedman
402
热度
ML
NLP
SoftEng
2024年01月16日
  • 简介
    代码生成问题与常见的自然语言问题不同 - 它们需要匹配目标语言的确切语法,识别正常路径和边缘情况,注意问题规范中的许多细节,并解决其他代码特定的问题和要求。因此,许多在自然语言生成中成功的优化和技巧可能对代码任务无效。在这项工作中,我们提出了一种新的LLMs代码生成方法,称为AlphaCodium - 一种基于测试、多阶段、面向代码的迭代流程,它提高了LLMs在代码问题上的性能。我们在一个名为CodeContests的具有挑战性的代码生成数据集上测试了AlphaCodium,其中包括来自Codeforces等平台的竞赛编程问题。所提出的流程始终显著提高结果。例如,在验证集上,使用单个精心设计的直接提示的GPT-4准确率(pass@5)从19%提高到使用AlphaCodium流程的44%。我们相信,本工作所获得的许多原则和最佳实践对于一般的代码生成任务具有广泛的适用性。完整的实现可在以下网址找到:https://github.com/Codium-ai/AlphaCodium。
  • 图表
  • 解决问题
    提高LLMs在代码生成任务中的性能
  • 关键思路
    提出一种名为AlphaCodium的测试驱动、多阶段、代码导向的迭代流程,可显著提高LLMs在代码生成任务中的性能。
  • 其它亮点
    使用CodeContests数据集进行实验,AlphaCodium流程显著提高了LLMs的性能,GPT-4的准确性从19%提高到44%。论文提出的原则和最佳实践对于一般的代码生成任务也具有广泛的适用性。开源实现可在GitHub上找到。
  • 相关研究
    最近的相关研究包括:1. CodeBERT: A Pre-Trained Model for Programming and Natural Language Processing; 2. Deep Code Comment Generation; 3. Learning to Generate Pseudo-code from Source Code Using Hierarchical Attention
PDF
原文
点赞 收藏 评论 分享到Link

沙发等你来抢

去评论