SWE-Pruner Pro обрезает контекст ИИ-агента и экономит до 39% токенов

SWE-Pruner Pro обрезает контекст ИИ-агента и экономит до 39% токенов

Длинный контекст, который накапливают ИИ-агенты для программирования (вывод команд, содержимое файлов, логи тестов), одна из главных статей расхода токенов. Существующие методы обрезки контекста, включая предшественника SWE-Pruner, решают эту задачу отдельным классификатором, который со стороны решает, какие строки вывода инструмента оставить, а какие выбросить. Авторы новой работы обнаружили, что сам агент уже кодирует во внутренних представлениях сигнал о релевантности того или иного фрагмента кода при чтении вывода инструмента, отдельный классификатор для этого не нужен.

На этой основе предложен SWE-Pruner Pro: он обрезает вывод инструментов прямо внутри агента, без внешнего модуля. Небольшая дополнительная голова (head) превращает внутренние представления агента в метку «оставить или обрезать» для каждой строки, при этом использует эмбеддинг, учитывающий длину конкретного вывода инструмента (число строк).

Метод проверили на двух открытых базовых моделях (backbones) и четырёх многошаговых (multi-turn) бенчмарках: SWE-Pruner Pro экономит до 39% токенов подсказки и генерации, сохраняя качество решения задач, а дополнительные вычислительные затраты на инференс ограничены. Отдельно отмечено: на модели MiMo-V2-Flash метод не просто не портит качество, а улучшает его, доля решённых задач на SWE-Bench Verified выросла на 3.8 процентных пункта, а точность на длинноконтекстном бенчмарке Oolong, на 2.2 пункта.

Ключевые факты

  • Существующая обрезка контекста (например, SWE-Pruner) использует отдельный классификатор кода; SWE-Pruner Pro вместо этого переиспользует внутренние представления самого агента
  • Небольшая обучаемая голова размечает каждую строку вывода инструмента как «оставить»/«обрезать», используя эмбеддинг длины конкретного вывода
  • На двух открытых базовых моделях и четырёх многошаговых бенчмарках экономия, до 39% токенов подсказки и генерации при сохранении качества и ограниченных накладных расходах на инференс
  • На модели MiMo-V2-Flash метод дополнительно повысил долю решённых задач на SWE-Bench Verified на 3.8 п.п. и точность на бенчмарке Oolong, на 2.2 пункта

Почему это важно

Кодинг-агенты годами накапливают в контексте вывод команд, содержимое файлов и логи тестов, это основная причина, по которой длинные агентные сессии становятся дорогими и упираются в лимит контекстного окна. SWE-Pruner Pro показывает, что для обрезки этого «мусора» не нужен отдельный внешний классификатор: агент, оказывается, уже сам «знает», какие строки релевантны, просто это знание раньше не извлекали. Это упрощает архитектуру системы (одним компонентом меньше) и одновременно снижает стоимость запуска агента.

Кому это важно

Разработчикам кодинг-агентов и агентных ИИ-пайплайнов, где длинный вывод инструментов, постоянная статья расходов на токены; командам, которые занимаются инфраструктурой и оптимизацией стоимости инференса; исследователям в области эффективности длинного контекста и агентных архитектур.

Как это применить

В тексте источника речь идёт о методе и его экспериментальной проверке на двух открытых базовых моделях и четырёх бенчмарках, данных о публикации кода или готовых весов головы-классификатора в источнике нет. Практический смысл для команд, строящих собственных кодинг-агентов: подход демонстрирует, что дообучить небольшую голову поверх уже существующих внутренних представлений агента дешевле и проще, чем поддерживать отдельный классификатор релевантности контекста.

Можно ли доверять

Работа опубликована на HuggingFace Papers, набрала 65 баллов и 3 комментария к моменту сбора. Заявленные цифры, результат экспериментов на двух разных базовых моделях и четырёх многошаговых бенчмарках, что снижает риск случайного результата на одной задаче. При этом это исследовательская публикация без независимого воспроизведения третьей стороной на момент пересказа.

Риски и подводные камни

Экономия токенов и прирост качества показаны на конкретных двух базовых моделях и четырёх бенчмарках, насколько метод обобщается на другие архитектуры и задачи, из текста не следует. Обрезка контекста в принципе рискует срезать строку, которая окажется нужна позже в диалоге; авторы говорят об «ограниченных» накладных расходах на инференс, но не приводят точных цифр этих накладных расходов в пересказанном фрагменте.

«Мы обнаружили, что сам агент кодирует во внутренних представлениях сигнал, указывающий на релевантность фрагмента кода при чтении вывода инструмента.»

— авторы работы, HuggingFace Papers