论文
级联代码编辑:大小模型协作,实现高效的代码编辑
Cascaded Code Editing: Large-Small Model Collaboration for Effective and Efficient Code Editing
摘要
代码编辑构成了软件开发的基本实践,其中开发人员根据自然语言要求修改现有代码库。准确的代码编辑需要全面了解现有代码库和修改需求。尽管 大语言模型 (LLM) 在代码编辑任务中表现出了良好的性能,但它们由于生成主要由未更改的代码组成的整个修改文件而效率严重低下。虽然较小的模型可能会解决这种低效率问题,但它们通常缺乏有效理解准确编辑所需的长代码上下文的能力。为了确保有效性和效率,我们建议将代码编辑分解为两阶段级联:\textbf{编辑草图生成},其中大型模型首先生成代表必要修改的简明草图(更具挑战性的阶段),以及\textbf{编辑草图应用程序},其中较小的模型将这些草图集成到原始代码中以生成最终输出的编辑代码(更简单的阶段)。这种级联设计减少了大型模型生成的词元数量,因为大部分输出由更小、更高效的模型处理,从而提高了整体效率。然而,这种方法的有效性受到当前小模型处理长上下文场景和跨文件依赖关系的有限能力的限制,而这对于现实世界代码库中准确的草图应用程序至关重要。为了解决这些限制并增强较小模型的草图应用能力,...