HuYaojie ; ZhouQiang ; ChenQihong ; LiXiaopeng ; LiuLinbo ; ZhangDejiao ; KachrooAmit ; OzTalha ; TrippOmer

摘要
我们介绍了QualityFlow,一种用于程序合成的动态代理工作流。给定一个编程问题的英文描述和一组单元测试,该模型的目标是合成能够解决问题并通过测试的正确程序。QualityFlow包括类似于软件开发团队的大规模语言模型(LLM)代理,涵盖代码生成、测试和自我调试等功能。我们提出了LLM质量检查器,该检查器明确“想象”合成程序的执行是否符合单元测试的要求。质量检查器动态控制工作流,包括提交最终答案、澄清问题陈述以及回滚先前工作流步骤等操作。我们的实验表明,质量检查器能够精确接受任何正确的程序,减轻错误合成测试的影响,并防止潜在的工作流偏差。QualityFlow在四个程序合成基准测试中建立了最先进的结果:MBPP、HumanEval以及来自MBPP-EvalPlus和HumanEval-EvalPlus的更严格评估。
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| code-generation-on-humaneval | QualityFlow (Sonnet-3.5) | Pass@1: 98.8 |
| code-generation-on-mbpp | QualityFlow (Sonnet-3.5) | Accuracy: 94.2 |