Репост из: Java
🔥 JetBrains открыла исходники KotlinLLM - Kotlin-код, который дописывает себя во время выполнения
KotlinLLM - исследовательский плагин для IntelliJ IDEA, который позволяет делегировать часть логики приложения LLM прямо во время запуска.
Пример:
val apiUrl: String = asLlm(
"JetBrains/kotlin",
hint = "Верни URL для GitHub Issues API"
)
val service: GithubService = mockLlm()
Когда приложение сталкивается с новым сценарием, плагин:
1. получает runtime-значения и типы;
2. просит LLM сгенерировать обновление;
3. компилирует новый код;
4. горячо перезагружает класс;
5. повторно выполняет исходный вызов.
Главная идея - модель не вызывается постоянно. Успешное решение сохраняется как обычный Kotlin-файл, который можно проверить, изменить, закоммитить и запускать дальше уже без LLM.
Сейчас доступны два основных механизма:
- asLlm() - преобразует значение одного типа в другой;
- mockLlm() - генерирует реализацию интерфейса и развивает её по мере появления новых сценариев.
Пока это исследовательский прототип для Kotlin/JVM. Проект распространяется по лицензии Apache 2.0.
GitHub:
https://github.com/JetBrains-Research/kotlinllm-plugin
@javatg
KotlinLLM - исследовательский плагин для IntelliJ IDEA, который позволяет делегировать часть логики приложения LLM прямо во время запуска.
Пример:
val apiUrl: String = asLlm(
"JetBrains/kotlin",
hint = "Верни URL для GitHub Issues API"
)
val service: GithubService = mockLlm()
Когда приложение сталкивается с новым сценарием, плагин:
1. получает runtime-значения и типы;
2. просит LLM сгенерировать обновление;
3. компилирует новый код;
4. горячо перезагружает класс;
5. повторно выполняет исходный вызов.
Главная идея - модель не вызывается постоянно. Успешное решение сохраняется как обычный Kotlin-файл, который можно проверить, изменить, закоммитить и запускать дальше уже без LLM.
Сейчас доступны два основных механизма:
- asLlm() - преобразует значение одного типа в другой;
- mockLlm() - генерирует реализацию интерфейса и развивает её по мере появления новых сценариев.
Пока это исследовательский прототип для Kotlin/JVM. Проект распространяется по лицензии Apache 2.0.
GitHub:
https://github.com/JetBrains-Research/kotlinllm-plugin
@javatg