Игорь Градов
Игорь Градов
5 мин
ai

JetBrains выпустила KotlinLLM: лучшая нейросеть для генерации кода прямо в IntelliJ IDEA

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

JetBrains выпустила KotlinLLM: лучшая нейросеть для генерации кода прямо в IntelliJ IDEA
Почему это важно

Сгенерированный код сохраняется как обычный 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, хотя аналога именно «умных макросов» пока нет.

Мнение редакции dzen.guru

По моим наблюдениям, спор о том, какая лучшая нейросеть для генерации кода, обычно сводится к сравнению чат-ботов. JetBrains предложила другую рамку: модель вызывается не в окне чата, а внутри компилятора, и её выход становится обычным исходным кодом. Если этот подход дойдёт до продуктового качества, он изменит не столько «кто генерирует лучше», сколько «где именно генерация происходит». Для Kotlin-экосистемы, где JetBrains и так контролирует язык, компилятор и IDE, такой плагин логичен. Я бы следил за тем, поддержат ли следующие версии локальные модели с открытыми весами: это снимет зависимость от OpenAI API и сделает инструмент реально применимым в российских командах.

Главное, что стоит запомнить: KotlinLLM генерирует обычный Kotlin-код, который живёт в репозитории и работает без модели. Если JetBrains доведёт прототип до продукта с поддержкой локальных моделей, у Kotlin-разработчиков появится инструмент, встроенный глубже любого нынешнего ИИ-помощника.

По данным JetBrains Research

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

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

Комментарии

Читайте также

Модель на 2 160 параметров показала, где большие языковые модели перестают обобщать
ai

Модель на 2 160 параметров показала, где большие языковые модели перестают обобщать

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

4 мин
Gemini: скачать приложение на Андроид стоит ради двух новых моделей и фонового ИИ-агента
ai

Gemini: скачать приложение на Андроид стоит ради двух новых моделей и фонового ИИ-агента

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

4 мин
Google выложила код семейного приложения для составления расписания: работает без облака и подписок
ai

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

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

4 мин