JetBrains udostępnia KotlinLLM: inteligentne makra generujące kod Kotlin w czasie rzeczywistym
JetBrains Research udostępniło KotlinLLM, wtyczkę do IntelliJ IDEA, która wprowadza inteligentne makra generujące i dynamicznie przeładowujące kod Kotlin w czasie działania aplikacji.

JetBrains Research udostępniło KotlinLLM, wtyczkę do IntelliJ IDEA, która wzbogaca projekty Kotlin/JVM o nową funkcjonalność językową – Smart macros. Makra te to w zasadzie wywołania funkcji Kotlin, których ciało jest dynamicznie generowanym kodem Kotlin. API wtyczki jest celowo minimalistyczne, oferując dwie główne funkcje: asLlm<F, T>(from, hint) do konwersji danych wejściowych typu F na typ T (np. klasę danych, enum, listę czy typ prymitywny) oraz mockLlm<T>() do generowania stanowej implementacji interfejsu T, której zachowanie zależy od wywoływanych metod.
Jak działają inteligentne makra KotlinLLM
Funkcja asLlm pozwala na elastyczne przetwarzanie danych, na przykład przekształcając dane wejściowe (repoInput) w URL API GitHub (issuesApiUrl) lub parsowanie odpowiedzi (response) w listę problemów (List<Issue>) z dodatkową wskazówką, by szukać tych przyjaznych dla początkujących. Kluczowym elementem działania KotlinLLM jest pętla wykonawcza w czasie rzeczywistym.
Gdy projekt jest uruchamiany za pomocą konfiguracji KotlinLLM, wtyczka skanuje kod w poszukiwaniu wywołań asLlm i mockLlm. Następnie aktualizuje generowane pliki startowe, dostawców, parserów i mocków. Uruchamia konfigurację pod kontrolą JDI (Java Debug Interface) i rejestruje punkty przerwania na wygenerowanych hakach regenerate. Jeśli wygenerowana logika nie odpowiada bieżącemu scenariuszowi, wykonanie dociera do haka. Wtyczka przechwytuje wartości i informacje o typach z zawieszonej ramki, agent LLM proponuje aktualizację kodu, a wtyczka kompiluje ją i redefiniuje załadowaną klasę, zanim ponowi oryginalne wywołanie. Ten mechanizm dynamicznego przeładowywania kodu jest możliwy dzięki redefinicji klas JVM za pośrednictwem JDI, co wyjaśnia, dlaczego KotlinLLM jest ukierunkowany konkretnie na Kotlin/JVM.
Wyniki testów i zastosowania
JetBrains przeprowadziło testy KotlinLLM na zaadaptowanym projekcie Spring Petclinic Kotlin, zawierającym 18 miejsc wywołania asLlm. Wszystkie 24 scenariusze aplikacji zostały pomyślnie zakończone po ewolucji Smart macro, osiągając 100% sukcesu w gorącym przeładowaniu kodu. Kompilacja i redefinicja kodu dodały jedynie około 1% całkowitego narzutu czasu wykonania. W innym teście, syntetyczny „GitHub Beginner Issue Radar” analizował rzeczywiste dane dotyczące problemów z 20 repozytoriów i ponad 30 tysięcy problemów, osiągając około 0.89 wskaźnika odwołania dla etykiet problemów przyjaznych dla początkujących.
Wymagania i status projektu
Do działania wtyczka wymaga IntelliJ IDEA 2025.2.x, JDK 21 oraz klucza API OpenAI, przechowywanego w pliku .kotlinllm projektu docelowego (dostępnego poprzez Tools -> KotlinLLM Settings). KotlinLLM zostało wydane na licencji Apache License 2.0. Repozytorium projektu zawiera przykłady do uruchomienia, pracę dyplomową oraz nagranie z prezentacji na KotlinConf 2026.
JetBrains podkreśla, że KotlinLLM jest obecnie prototypem badawczym i eksperymentalną wtyczką do IntelliJ IDEA. Nie jest przeznaczony do użytku jako środowisko uruchomieniowe produkcyjne, przynajmniej na razie. Mimo eksperymentalnego charakteru, wyniki generowane przez wtyczkę są gotowe do wdrożenia. Po wygenerowaniu określonego zachowania, projekt docelowy może skompilować i uruchomić ten kod bez konieczności ponownego odwoływania się do modelu LLM dla tego samego scenariusza. Oznacza to, że użytkownicy wdrażają czysty kod Kotlin, a nie zależność od modelu AI.
Udostępnienie KotlinLLM jako projektu open-source przez JetBrains Research stanowi znaczący krok w kierunku integracji możliwości dużych modeli językowych z procesem tworzenia oprogramowania. Chociaż jest to prototyp badawczy, jego zdolność do dynamicznego generowania i przeładowywania kodu Kotlin w czasie rzeczywistym otwiera nowe perspektywy dla automatyzacji i optymalizacji rozwoju aplikacji, szczególnie w kontekście adaptacji do zmieniających się wymagań bez konieczności ręcznej interwencji. Wskazuje to na potencjalną przyszłość, w której narzędzia AI będą aktywnie uczestniczyć w ewolucji kodu, oferując programistom potężne mechanizmy do tworzenia bardziej elastycznych i inteligentnych systemów.
Źródło: marktechpost.com
Komentarze
Zaloguj się, aby dołączyć do dyskusji.
Nikt jeszcze nie skomentował. Bądź pierwszy!
Czytaj dalej

Nowa specyfikacja MCP ma przyspieszyć adaptację protokołu w przedsiębiorstwach
Protokół Model Context Protocol (MCP), otwarty standard interakcji systemów AI z narzędziami zewnętrznymi, otrzymał największą aktualizację, która ma ułatwić jego wdrożenie na dużą skalę w firmach.
Redakcja Aigestwczoraj

Fundamentalna wada sprawia, że duże modele językowe (LLM) są niezwykle podatne na ataki
Badacze odkryli fundamentalną wadę w sposobie działania dużych modeli językowych (LLM), która czyni je podatnymi na ataki. Problem dotyczy identyfikacji źródła instrukcji, co pozwala na manipulowanie modelami w celu uzys
Redakcja Aigestwczoraj

Tencent udostępnia AngelSpec: ujednolicony framework do trenowania modeli MTP i blokowo-równoległego dekodowania spekula
Tencent udostępnił AngelSpec, framework do trenowania modeli draftowych dla dekodowania spekulacyjnego, wspierający zarówno predykcję wielotokenową (MTP), jak i rodzinę DFlash.
Redakcja Aigestwczoraj
Indeks Hype'u AI: Nieseksowna strona sztucznej inteligencji
MIT Technology Review przedstawia subiektywną analizę najnowszych trendów w AI, wskazując na mniej efektowne, lecz istotne aspekty tej technologii.
Redakcja Aigest2 dni temu

Kimi AI i kvcache-ai udostępniają AgentENV – platformę do rozproszonego uczenia agentowego RL
Moonshot AI i kvcache-ai udostępniły AgentENV, rozproszoną platformę do skalowalnego uruchamiania środowisk agentowych, kluczową dla trenowania modelu Kimi K3.
Redakcja Aigest4 dni temu

Bądź na bieżąco ze światem AI
Najważniejsze newsy, recenzje i poradniki — raz w tygodniu, prosto na maila. Bez spamu.