根据您提供的论文内容,我将对《Prompt Alchemy: Automatic Prompt Refinement for Enhancing Code Generation》这篇发表于IEEE TRANSACTIONS ON SOFTWARE ENGINEERING的论文进行详细总结。报告将严格遵循您要求的格式,分为研究背景与动机、论文核心方法和步骤、实验结果与结论三个主要部分。
研究背景与动机
代码生成作为自动化软件开发的关键任务,旨在将高级描述转化为可执行代码,近年来受到广泛关注。大型语言模型(LLMs)在此任务中表现出强大潜力,但其性能高度依赖于输入提示(prompt)的质量。现有的提示工程方法主要依赖人工设计,存在耗时、结果不一致等问题,限制了LLMs在实际应用中的效能。具体而言,人工设计的提示可能无法严格遵循编码标准,或与LLMs的特定需求不一致,导致生成代码的质量参差不齐。因此,论文的动机是开发一种自动化的提示优化方法,以克服人工提示工程的局限性,提升代码生成和代码翻译任务的性能。研究问题聚焦于如何通过迭代优化提示,使其在推理过程中保持一致性和可靠性,并与多智能体系统等技术兼容。
论文核心方法和步骤
论文提出了名为Prochemy(Prompt Alchemy)的自动化提示优化框架,其核心方法包括两个主要步骤:训练集生成和迭代优化。
训练集生成:首先构建一个训练集 T,其中每个样本 Ti包含自然语言描述 Ti(NL)和对应的可执行测试用例 Ti(test),即 Ti=(Ti(NL),Ti(test))。训练集来源于两部分:一是从现有数据集中随机采样的样本 Dexisting,二是通过LLMs对参考数据进行突变生成的新样本 Dgen。最终训练集为 T=Dexisting∪Dgen,并通过代码执行和测试用例验证确保数据正确性。
优化过程:该步骤通过迭代的突变、评估和选择子步骤优化提示。具体流程如下:
突变(Mutation):基于上一轮选中的提示集合 S(k−1),通过突变函数 m(⋅)生成新的提示变体集合 P(k),其中每个变体 Pi(k)=m(Sj(k−1))。突变通过调整语言结构或清晰度实现多样性,同时保留原提示的核心语义。
评估(Evaluation):对每个突变提示 Pi(k),将其与训练集中每个任务的描述 Tj(NL)拼接后输入LLM,生成代码 Rij(k),并通过测试用例 Tj(test)评估其正确性,得到分数 Mij∈{0,1}(基于pass@1指标)。为优化评估,采用加权评分机制,权重 wj基于任务复杂度计算:
wj=Nsuccessful(Tj)∣P(k)∣
其中 Nsuccessful(Tj)是成功解决任务 Tj的提示数量。提示 Pi(k)的加权总分为:
WS(Pi(k))=j∑wj⋅Mij
选择(Selection):从当前提示变体中选择得分最高的提示作为下一轮优化的基础:
S(k)={P∣P=argP′∈P(k)maxWS(P′)}
优化过程持续直到收敛条件满足(如最高分连续三次不变或达到最大迭代次数 kmax=10),最终输出最优提示 P∗。

Prochemy的设计强调即插即用(plug-and-play),无需修改现有提示方法(如Chain-of-Thought或多智能体系统),且仅需单次训练即可固定最终提示,确保推理时的一致性。
实验结果与结论
论文在自然语言代码生成和代码翻译任务上评估了Prochemy,使用了多个数据集(如HumanEval、MBPP、LiveCodeBench、CodeNet、AVATAR)和LLMs(包括GPT系列、Claude系列和DeepSeek系列)。主要实验结果如下:
代码生成任务:Prochemy在零样本(Zero-Shot)提示基础上平均提升4.04%,在思维链(CoT)提示上平均提升4.55%,在多轮方法(如多智能体系统)上平均提升2.00%。在更具挑战性的HumanEval+和MBPP+数据集上,提升幅度达4.21%-7.76%。与最先进的LDB方法结合时,在HumanEval上达到96.3%的最高准确率。在动态数据集LiveCodeBench上,零样本和CoT提示分别提升14.15%和12.28%。
代码翻译任务:在Java到Python翻译中平均提升13.68%,Python到Java翻译中平均提升8.25%。例如,GPT-4o在AVATAR数据集上的Java到Python翻译准确率从74.5%提升至84.1%。
消融实验:验证了迭代优化和加权评分机制的必要性。移除迭代后性能下降,而加权评分机制将收敛迭代次数减少约20.8%,并提升最终性能。
案例分析:通过具体任务(如HumanEval/108的代码生成和atcoder_ABC137_D的代码翻译)表明,Prochemy生成的代码更准确、结构更清晰,且包含解释性注释,提升了可读性和鲁棒性。

结论指出,Prochemy通过自动化提示优化,显著提升了LLMs在代码相关任务中的性能,且无需架构修改或微调。其即插即用设计和跨模型一致性使其成为可扩展的优化范式,推动了LLM驱动的软件开发。此外,Prochemy在推理模型(如o1-mini)上也表现良好,进一步证明了其广泛适用性。