Key points are not available for this paper at this time.
自动生成代码的能力,即程序合成,是人工智能(AI)中最重要的应用之一。目前,两个AI技术正在引领这项领域:大型语言模型(LLMs)和遗传编程(GP)方法——每种方法各有其优缺点。虽然LLMs在从任务描述中进行程序合成方面取得了成功,但由于任务规范的模糊性、复杂的编程语法以及生成代码的可靠性不足,它们往往难以生成正确的代码。此外,它们的生成特性限制了其在迭代LLM提示下修复错误代码的能力。语法引导的遗传编程(G3P,即其中一种顶尖的GP方法)已被证明能够基于一组输入/输出测试生成符合定义的巴克斯–瑙尔形式(BNF)语法的程序,这些测试有助于指导搜索过程,同时确保生成的代码不包含对不可信库或结构不良片段的调用。然而,G3P在为复杂任务生成代码时仍面临问题。最近一项试图通过将LLM生成的程序种子输入到G3P的初始种群中来结合这两种方法(G3P和LLMs)的研究显示出良好的结果。然而,这种方法在演化过程中迅速丧失了种子信息,从而影响其性能。在本研究中,我们提出将一个LLM(具体来说是ChatGPT)与一种多目标G3P(MaOG3P)框架相结合,分为两个部分:(i)在语法映射阶段之后,将LLM生成的代码作为种子提供给演化过程,创建程序演化和错误纠正的途径;(ii)利用多目标相似性度量来指导整个演化过程中的搜索,针对LLM生成的代码。使用相似性度量的理念是,LLM生成的代码很可能接近正确的拟合代码。我们的方法迫使任何生成的程序遵循BNF语法,最终减轻安全风险并提高代码质量。在一个知名且广泛使用的程序合成数据集上的实验表明,我们的方法成功改善了多个任务中符合语法的代码的合成。
Tao et al. (Mon,) 研究了这个问题。
Synapse has enriched 5 closely related papers on similar clinical questions. Consider them for comparative context: