ChatPaper.aiChatPaper

LongCodeZip: Сжатие длинного контекста для языковых моделей программирования

LongCodeZip: Compress Long Context for Code Language Models

October 1, 2025
Авторы: Yuling Shi, Yichun Qian, Hongyu Zhang, Beijun Shen, Xiaodong Gu
cs.AI

Аннотация

Генерация кода в условиях длинных контекстов становится все более важной, поскольку крупные языковые модели (LLM) должны анализировать обширную информацию в кодовой базе. Хотя последние достижения позволяют LLM для кода обрабатывать длинные входные данные, высокие затраты на API и задержки генерации остаются существенными препятствиями. Существующие методы сокращения контекста, такие как LLMLingua, демонстрируют многообещающие результаты для общего текста, но игнорируют специфические структуры и зависимости в коде, что приводит к неоптимальной производительности в задачах программирования. В данной статье мы предлагаем LongCodeZip — новый модульный фреймворк для сжатия кода, разработанный специально для LLM, работающих с кодом. LongCodeZip использует двухэтапную стратегию: (1) грубое сжатие, которое идентифицирует и ранжирует функциональные блоки на основе условной перплексии относительно инструкции, сохраняя только наиболее релевантные функции; и (2) тонкое сжатие, которое сегментирует сохраненные функции на блоки на основе перплексии и выбирает оптимальное подмножество в рамках адаптивного бюджета токенов для максимизации релевантности. Оценки на множестве задач, включая завершение кода, его суммирование и ответы на вопросы, показывают, что LongCodeZip стабильно превосходит базовые методы, достигая коэффициента сжатия до 5,6x без ухудшения производительности задач. Эффективно сокращая размер контекста при сохранении ключевой информации, LongCodeZip позволяет LLM лучше масштабироваться для реальных сценариев работы с крупномасштабным кодом, повышая эффективность и возможности приложений для анализа кода.
English
Code generation under long contexts is becoming increasingly critical as Large Language Models (LLMs) are required to reason over extensive information in the codebase. While recent advances enable code LLMs to process long inputs, high API costs and generation latency remain substantial bottlenecks. Existing context pruning techniques, such as LLMLingua, achieve promising results for general text but overlook code-specific structures and dependencies, leading to suboptimal performance in programming tasks. In this paper, we propose LongCodeZip, a novel plug-and-play code compression framework designed specifically for code LLMs. LongCodeZip employs a dual-stage strategy: (1) coarse-grained compression, which identifies and ranks function-level chunks using conditional perplexity with respect to the instruction, retaining only the most relevant functions; and (2) fine-grained compression, which segments retained functions into blocks based on perplexity and selects an optimal subset under an adaptive token budget to maximize relevance. Evaluations across multiple tasks, including code completion, summarization, and question answering, show that LongCodeZip consistently outperforms baseline methods, achieving up to a 5.6x compression ratio without degrading task performance. By effectively reducing context size while preserving essential information, LongCodeZip enables LLMs to better scale to real-world, large-scale code scenarios, advancing the efficiency and capability of code intelligence applications.
PDF1027October 3, 2025