Futásidőben generál Kotlin kódot az LLM-alapú makróval a JetBrains Research prototípusa
A prototípus Apache 2.0 licenccel érhető el, és az IntelliJ IDEA-ban használható okos makrók formájában; a rendszer csekély, mintegy 1%-os futásidejű többletterheléssel működik.

A JetBrains Research bemutatta a KotlinLLM-et, egy IntelliJ IDEA plugint Kotlin/JVM projektekhez. A fejlesztők okos makrókat, „Smart macros”-t használhatnak, amelyek futásidőben generálnak Kotlin kódot. A prototípus Apache 2.0 licenccel érhető el. (MarkTechPost)
A Smart macro egy hagyományos Kotlin függvényhívás, amelynek törzse generált Kotlin kódot tartalmaz. Az API-ból két fő funkció érhető el: a asLlm<F, T>(from, hint), amely egy F típusú bemenetet alakít át egy T típusú értékre (például adatosztály, felsorolás, lista vagy primitív típus), és a mockLlm<T>(), amely egy interfész T típusú állapotfüggő megvalósítását generálja.
Futásidejű kódgenerálás és -frissítés
Amikor egy projekt elindul a KotlinLLM futtatási konfigurációján keresztül, a plugin keresi a asLlm és mockLlm hívásokat. Ezt követően frissíti a generált bootstrap, provider, parser és mock fájlokat, elindítja a futtatási konfigurációt a JDI (Java Debug Interface) segítségével, és breakpointokat regisztrál a generált „regenerate hooks”-okra. Ha a generált logika nem felel meg egy futásidejű forgatókönyvnek, a végrehajtás eléri a hook-ot. A plugin ekkor rögzíti a futásidejű értékeket és típusinformációkat a felfüggesztett keretből, az LLM-ügynök kódmódosítást küld, a plugin pedig lefordítja és újradefiniálja a betöltött osztályt, mielőtt megismételné az eredeti hívást.
A KotlinLLM kifejezetten a Kotlin/JVM platformot célozza, mivel a futásidejű evolúciós ciklus a JVM osztályok JDI-n keresztüli újradefiniálására támaszkodik. Ez a megközelítés lehetővé teszi, hogy a viselkedés generálása után a célprojekt a további LLM-kérés nélkül fordítsa le és futtassa a kódot ugyanarra a forgatókönyvre.
Eredmények és követelmények
Egy adaptált Spring Petclinic Kotlin projekten, 18 asLlm hívási hellyel, mind a 24 alkalmazási forgatókönyv sikeresen befejeződött a Smart macro evolúció után. A hot-reload sikerrátája 100% volt, a fordítás és újradefiniálás pedig a teljes futásidejű többletterhelés nagyjából 1%-át tette ki. Egy szintetikus „GitHub Beginner Issue Radar” teszt, amely 20 repozitórium és több mint 30 000 issue valós adatát dolgozta fel, körülbelül 0,89-es recall-t ért el az alapvető „beginner” címkéken.
A plugin telepítéséhez IntelliJ IDEA 2025.2.x, JDK 21 és egy OpenAI API kulcs szükséges, amelyet a célprojekt .kotlinllm fájljában kell tárolni a Tools > KotlinLLM Settings menüpontban. A JetBrains a KotlinLLM-et kutatási prototípusnak nevezi, és nem ajánlja éles környezetben való használatra.