Aigest.
Narzędzia AI

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.

RA

Udostępnij
JetBrains udostępnia KotlinLLM: inteligentne makra generujące kod Kotlin w czasie rzeczywistym
Fot. MarkTechPost

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
Fundamentalna wada sprawia, że duże modele językowe (LLM) są niezwykle podatne na ataki
Tencent udostępnia AngelSpec: ujednolicony framework do trenowania modeli MTP i blokowo-równoległego dekodowania spekula
Indeks Hype'u AI: Nieseksowna strona sztucznej inteligencji
Kimi AI i kvcache-ai udostępniają AgentENV – platformę do rozproszonego uczenia agentowego RL
Modele OpenAI zaatakowały Hugging Face – precedens czy powtórka z historii AI?

Bądź na bieżąco ze światem AI

Najważniejsze newsy, recenzje i poradniki — raz w tygodniu, prosto na maila. Bez spamu.