Koda a Montré Comment Elle a Entraîné le Modèle Next Edit Suggestions pour Prédire les Modifications de Code
Koda a expliqué comment elle a entraîné un modèle Next Edit Suggestions pour IDE : au lieu de prédire la continuation de la ligne, il prédit la prochaine modifi

Koda рассказала, как обучила модель Next Edit Suggestions для автодополнения, которое пытается угадать не следующий токен, а следующую осмысленную правку разработчика. Такой подход двигает IDE от обычного completion к помощнику, который понимает ход рефакторинга, переименования и мелких серийных исправлений. NES отличается от классического автокомплита тем, что учитывает историю недавних изменений и работает не только под курсором, а в любом месте файла.
Модель может не просто добавлять код, но и удалять или заменять фрагменты. Практические сценарии для такого режима понятны: массовое переименование, обновление вызовов после смены сигнатуры, продолжение начатого рефакторинга, тиражирование однотипного фикса, выравнивание стиля, удаление мёртвого кода и даже мелкие линт-правки. В Koda считают, что на фоне бума вокруг AI-агентов такой инструмент всё равно остаётся полезным: многие мелкие исправления быстрее подтвердить одной клавишей, чем формулировать отдельный промпт.
При обучении команда сначала выбрала базовую модель под жёсткое ограничение по задержке. На своих целевых GPU-серверах разработчики измерили скорость инференса и сузили выбор до Qwen2.5-Coder-1.
5B и DeepSeek-Coder-1.3B. По совокупности метрик в качестве базы для supervised fine-tuning выбрали Qwen.
Источником данных стали накопленные за год анонимизированные частичные логи собственной модели код-комплишена. Эти FIM-логи сгруппировали по пользователю, сессии и файлу, чтобы восстановить цепочки локальных изменений кода. Проблема была в том, что одна реальная правка программиста в логах часто распадалась на десятки микро-событий.
Поэтому инженеры склеивали такие подпоследовательности в единые осмысленные изменения с помощью алгоритма Incremental Difference Detecting, описанного в исследовании по NES. После этого они отдельно отфильтровали примеры, где целевая правка действительно причинно связана с историей редактирования, а не является просто очередным логичным куском кода. В итоге из миллионов кандидатных сэмплов осталось лишь несколько десятков тысяч.
Дополнительно команда сделала апсемплинг replace-редактирований, чтобы лучше сбалансировать типы вставки, замены и удаления. Дальше Koda сравнила свою 1,5-миллиардную модель с открытыми NES-решениями от Continue, Zed и Sweep, а в качестве закрытых ориентиров упомянула Cursor Tab, GitHub Copilot NES и JetBrains AI Assistant. На собственном тестовом наборе из 500 примеров Koda-next-edit показала 27,2% по Exact Match и 28,2% по Judge, тогда как Zeta 2 получила 17,0% и 20,4% соответственно.
На нескольких наборах данных компания ставит более высокий приоритет именно оценке Judge, поскольку она лучше подходит для сравнения моделей с разными форматами ответов. По простому среднему их модель вышла на первое место, а по средневзвешенному результату осталась среди лидеров даже на фоне более крупных моделей на 7B и 8B параметров. Отдельно в Koda выделяют датасет NEP как более независимый бенчмарк, потому что он не является «родным» ни для одной из сравниваемых систем.
Функция уже появилась в бета-режиме в плагине KodaCode 0.9.0 для VS Code.
Дальше команда планирует обогащать контекст похожими фрагментами кода и подсказками линтера, а также тестировать более крупные модели, если удастся удержать нужную задержку. Ещё одно направление развития — интерфейс плагина: для NES важно не только предсказать правку, но и показать её так, чтобы разработчик мог быстро принять или отклонить предложение без потери темпа. История Koda показывает, что рынок AI-инструментов для программистов не сводится к агентам, которые пытаются сделать всё целиком.
Между ручным редактированием и полностью автономным исполнением есть большой слой задач, где наибольшую ценность даёт быстрый, локальный и предсказуемый совет прямо в редакторе. Если такие модели будут расти по качеству без потери скорости, именно этот класс помощников может стать самым массовым форматом AI в повседневной разработке.