论文
用于存储库级代码生成的持久交叉尝试状态优化
Persistent Cross-Attempt State Optimization for Repository-Level Code Generation
摘要
大语言模型 (LLM) 在存储库级代码生成方面取得了实质性进展。然而,解决相同的存储库级任务通常需要多次尝试,而现有方法仍然单独优化每次尝试,并且不会在尝试之间保留或重用特定于任务的状态。在本文中,我们提出了 LiveCoder,一种基于交叉尝试知识优化的存储库级代码生成的新颖框架。 LiveCoder 会根据先前的尝试维护持久的特定于任务的状态,以指导后续生成。这种状态包括成功知识,它从以前强大的存储库中捕获可重用的信号,失败知识,它记录不成功的结果及其诊断信号,以及历史最佳存储库,它保留迄今为止发现的最强结果并防止回归。这些组件共同将重复的存储库生成转变为持久的、知识驱动的优化过程。我们使用四个前沿 LLM 在两个代表性存储库级代码生成基准测试上评估 LiveCoder。大量的实验结果证明了 LiveCoder 的有效性和效率,在 RAL-Bench 上将功能得分提高了高达 22.94 个百分点,将存储库重用率提高到 81.58%,并降低了高达 53.63% 的成本,同时保持了大致稳定的非功能质量。