论文
区分还是不区分?结构感知和自适应输出格式,可实现基于 LLM 的高效代码编辑
To Diff or Not to Diff? Structure-Aware and Adaptive Output Formats for Efficient LLM-based Code Editing
摘要
大语言模型(LLM)越来越多地用于代码编辑,但普遍存在的全代码生成范式存在严重的效率瓶颈,这给需要低延迟和成本的交互式编码助手带来了挑战。尽管主要关注的是缩放模型功能,但编辑格式本身在 模型训练 中很大程度上被忽视了。在本文中,我们首先对传统 diff 格式进行了系统研究,并揭示了脆弱的偏移量和碎片化的块使得 LLM 的生成非常不自然。为了解决这个问题,我们引入了 BlockDiff 和 FuncDiff,这两种结构感知的差异格式将变化表示为句法连贯单元(例如控制结构和函数)的块级重写。此外,我们提出了 AdaEdit,这是一种通用的自适应编辑策略,可以训练 LLM 在给定的 diff 格式和完整代码之间动态选择最有效的词元格式。大量实验表明,AdaEdit 与结构感知 diff 格式相结合,始终能够匹配完整代码生成的准确性,同时将长代码编辑任务的延迟和成本降低了 30% 以上。