论文

从失败到通过:LLM 代码生成的自然语言提示优化规则的演变

From Failing to Passing: Evolving Natural Language Prompt Optimization Rules for LLM Code Generation

上下文与知识上下文工程

摘要

已知 大语言模型 对即时配方敏感。即使措辞上的微小变化也会大大降低性能。这种敏感性揭示了一个机会:如果提示措辞会损害绩效,是否可以用来提高绩效?为了研究这个问题,我们引入了一种基于搜索的方法,该方法识别并演化出一组对编码性能具有强大下游影响的自然语言转换规则。然后,我们提出了 DUALFIX,这是一种分阶段修复管道,它将演进的转换规则与执行反馈修复相结合,解决规范级别和实现级别的故障。我们方法的一个关键优势在于其通用性:进化的规则与错误无关,可跨问题重用,并且可跨模型转移。我们在两个具有挑战性的基准(LiveCodeBench 和 APPS)上针对三个模型的执行反馈修复基线来评估 DUALFIX。我们的结果表明,演进的转换可以修复 10-30% 的故障案例,其中包括仅基于执行的修复无法解决的 12-17% 的故障。总体而言,在所有评估的设置中,DualFix 可以恢复高达 30% 的基准故障,修复的故障案例比 Self-Fix 多 3-5 倍。此外,我们还表明,在一个模型上进化的规则可以零样本转移到其他模型,优于执行反馈修复,而无需任何重新优化。