JetBrains выпустила KotlinLLM: лучшая нейросеть для генерации кода прямо в IntelliJ IDEA
JetBrains Research выпустила KotlinLLM, экспериментальный плагин для IntelliJ IDEA, который генерирует Kotlin-код прямо внутри проекта через так называемые «умные макросы» и горячую перезагрузку классов без остановки приложения.

Сгенерированный код сохраняется как обычный Kotlin-файл, проходит ревью и работает без плагина и без повторных обращений к языковой модели: один раз сгенерировал, дальше запускаешь как свой собственный код.
Исследование опубликовала JetBrains Research, подразделение JetBrains, известной разработчикам по IntelliJ IDEA и языку Kotlin. Плагин вышел под лицензией Apache 2.0 (открытая лицензия, позволяющая свободно использовать и менять код). Это не готовый продукт, а исследовательский прототип, но результаты на реальном проекте Spring Petclinic выглядят убедительно: все 24 сценария пройдены, горячая перезагрузка ни разу не сломалась.
| Показатель | Значение | Источник |
|---|---|---|
| Пройденные сценарии Spring Petclinic | 24 из 24 | JetBrains Research |
| Точек вызова asLlm в проекте | 18 | JetBrains Research |
| Успех горячей перезагрузки | 100% | JetBrains Research |
| Накладные расходы на компиляцию и перезагрузку | около 1% от общего времени выполнения | JetBrains Research |
| Recall на задаче классификации issues | около 0.89 | JetBrains Research |
| Репозиториев в синтетическом тесте | 20 | JetBrains Research |
| Issues обработано | более 30 000 | JetBrains Research |
| Лицензия | Apache 2.0 | JetBrains Research |
| Требования | IntelliJ IDEA 2025.2.x, JDK 21, ключ OpenAI API | JetBrains Research |
Что делает плагин и как устроен цикл генерации?
KotlinLLM добавляет в Kotlin два вызова, которые JetBrains называет «умные макросы» (Smart macros):
- asLlm превращает входные данные одного типа в типизированное значение другого типа: класс данных, список, перечисление или примитив. Разработчик передаёт вход и текстовую подсказку, а плагин генерирует тело функции.
- mockLlm создаёт реализацию интерфейса с состоянием, поведение которой зависит от вызванных методов.
Когда проект запускается через специальную конфигурацию KotlinLLM, плагин находит все вызовы asLlm и mockLlm, генерирует файлы-заготовки и запускает приложение под отладчиком JDI (Java Debug Interface, интерфейс отладки JVM). Если сгенерированная логика не подходит к реальным данным, срабатывает точка останова. Плагин захватывает значения и типы из текущего кадра выполнения, ИИ-агент формирует обновлённый код, плагин компилирует его и подменяет загруженный класс на лету, без перезапуска.
Цикл состоит из девяти шагов и привязан к JVM, потому что использует механизм горячей подмены классов через JDI. Именно поэтому KotlinLLM работает только с Kotlin/JVM.
Что показали тесты?
- На адаптированном проекте Spring Petclinic с 18 точками вызова asLlm все 24 сценария завершились после эволюции макросов. Горячая перезагрузка сработала в 100% случаев. Накладные расходы на компиляцию и подмену классов составили около 1% от общего времени работы приложения.
- Синтетический проект «GitHub Beginner Issue Radar» разбирал реальные issues из 20 репозиториев (более 30 000 записей) и достиг recall (полноты) около 0.89 при классификации задач, подходящих новичкам.
- После того как макрос «эволюционировал» и покрыл сценарий, повторные вызовы языковой модели для этого сценария не нужны. Нет дополнительных задержек, нет расходов на инференс (вычисления модели при обработке запроса).
Результат на Spring Petclinic особенно показателен: 18 точек вызова в одном проекте, и ни одна не потребовала ручного вмешательства после генерации.
JetBrains прямо называет KotlinLLM исследовательским прототипом, а не продуктовым решением. Тесты проведены на двух проектах: адаптированном Spring Petclinic и синтетическом парсере GitHub-issues. Выборка узкая, обобщать на произвольные Kotlin-проекты рано. Плагин требует ключ OpenAI API, то есть генерация зависит от внешнего закрытого сервиса, хотя итоговый код от модели не зависит. Recall 0.89 означает, что примерно каждая десятая релевантная запись пропускается.
Что делать с этим прямо сейчас?
Kotlin-разработчику. Практическая ценность в демонстрации на Spring Petclinic: 18 точек вызова, 100% успех горячей перезагрузки, около 1% накладных расходов. Это конкретный ориентир для интеграции языковой модели в проект, близкий к боевому. Если ваша команда пишет на Kotlin/JVM и регулярно парсит ответы сторонних API, попробуйте asLlm на тестовом стенде: сгенерированный код сохраняется как обычный файл, его можно ревьюить и коммитить без плагина.
Автору на Дзене, пишущему про разработку. KotlinLLM даёт конкретный кейс для статьи или обзора: лучшая нейросеть для генерации кода в этом подходе не пишет код за вас в чате, а встраивается в цикл компиляции и отладки. Это отличается от привычных ИИ-помощников вроде GitHub Copilot, и разница объяснима читателю без технического фона.
Предпринимателю и руководителю команды. Пока это прототип, не для продакшена. Но подход «сгенерировал, закоммитил, дальше работает без модели» снимает проблему зависимости от внешнего API в рабочем коде. Для команд в РФ важно: генерация требует ключ OpenAI API, доступ к которому ограничен. Из доступных в РФ инструментов генерации Kotlin-кода стоит следить за GigaCode от Сбера и JetBrains AI Assistant, хотя аналога именно «умных макросов» пока нет.
По моим наблюдениям, спор о том, какая лучшая нейросеть для генерации кода, обычно сводится к сравнению чат-ботов. JetBrains предложила другую рамку: модель вызывается не в окне чата, а внутри компилятора, и её выход становится обычным исходным кодом. Если этот подход дойдёт до продуктового качества, он изменит не столько «кто генерирует лучше», сколько «где именно генерация происходит». Для Kotlin-экосистемы, где JetBrains и так контролирует язык, компилятор и IDE, такой плагин логичен. Я бы следил за тем, поддержат ли следующие версии локальные модели с открытыми весами: это снимет зависимость от OpenAI API и сделает инструмент реально применимым в российских командах.
Главное, что стоит запомнить: KotlinLLM генерирует обычный Kotlin-код, который живёт в репозитории и работает без модели. Если JetBrains доведёт прототип до продукта с поддержкой локальных моделей, у Kotlin-разработчиков появится инструмент, встроенный глубже любого нынешнего ИИ-помощника.
По данным JetBrains Research

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».
Читайте также

Модель на 2 160 параметров показала, где большие языковые модели перестают обобщать
Разработчик из ML-сообщества на платформе Hashnode выпустил версию 1.1.0 своей «Крошечной языковой модели» (TLM) на Node.js с 2 160 параметрами и показал в…

Gemini: скачать приложение на Андроид стоит ради двух новых моделей и фонового ИИ-агента
Google обновила приложение Gemini в июле 2025 года, добавив голосовой ввод на macOS, две новые Flash-модели с улучшенными рассуждениями и генерацию изображений…

Google выложила код семейного приложения для составления расписания: работает без облака и подписок
Raph, инженер Google, собрал семейное приложение для составления расписания на основе локальной модели Gemini, и 11 июня 2025 года Google выложила исходный код…
Комментарии