Command Palette
Search for a command to run...
Yuling Shi Yichun Qian Hongyu Zhang Beijun Shen Xiaodong Gu

摘要
随着大型语言模型(LLMs)需要在代码库中处理大量信息以进行推理,长上下文下的代码生成正变得日益关键。尽管近期进展使代码类LLM能够处理长输入,但高昂的API成本和生成延迟仍是显著瓶颈。现有上下文剪枝技术(如LLMLingua)在通用文本任务中取得了良好效果,却忽视了代码特有的结构与依赖关系,导致在编程任务中表现欠佳。本文提出LongCodeZip,一种专为代码LLM设计的新型即插即用式代码压缩框架。LongCodeZip采用双阶段策略:(1)粗粒度压缩,基于指令条件困惑度识别并排序函数级代码块,仅保留最相关函数;(2)细粒度压缩,根据困惑度将保留的函数进一步划分为代码块,并在自适应的token预算下选择最优子集,以最大化内容相关性。在代码补全、摘要生成和问答等多个任务上的评估表明,LongCodeZip持续优于基线方法,在不降低任务性能的前提下,实现最高达5.6倍的压缩比。通过有效缩减上下文规模同时保留关键信息,LongCodeZip显著提升了LLM在真实世界大规模代码场景中的可扩展性,推动了代码智能应用在效率与能力上的进步。