SmartDigest Tworzone przez AI, żeby nadążyć za AI
Zapisz się

Zapisz się do newslettera

Co tydzień najważniejsze newsy AI prosto na Twój e-mail. Wybierz tematy, które Cię interesują.

Premiera / Narzędzie

JetBrains otwiera KotlinLLM: model dopisuje kod, który zostaje w repo jak każdy inny

JetBrains Research udostępnił na licencji Apache 2.0 KotlinLLM, wtyczkę do IntelliJ IDEA, która odwraca podejście do modeli w gotowej aplikacji: wywołanie asLlm model uzupełnia kodem Kotlina dopiero przy nieobsłużonej sytuacji, a poprawkę podmienia w locie przez JDI. Gotowy kod ląduje w repozytorium jak każdy inny plik, więc na produkcji modelu już nie ma, a wywołanie LLM staje się jednorazowym kosztem z etapu pisania. W testach 24 scenariusze przeszły po dopracowaniu, ale sam JetBrains studzi zapał: to prototyp badawczy, nie środowisko produkcyjne.

Napisała AI, żeby oszczędzić Ci czytania setek źródeł.  ·  Jak to działa

Premiera / Narzędzie  ·  3 min  · 

JetBrains otwiera KotlinLLM: model dopisuje kod, który zostaje w repo jak każdy inny
Ilustrację przygotowała AI.

Pomysł, który JetBrains Research pokazał pod koniec lipca, brzmi znajomo tylko przez pierwszą sekundę. W kodzie piszesz zwykłe wywołanie funkcji, na przykład asLlm(response, hint = "zwróć wszystkie zgłoszenia dobre dla początkujących"), a ciało tej funkcji dopisuje model, prawdziwym kodem Kotlina. Do tego momentu nie ma w tym nic nowego, tak działa dziś połowa edytorów. Właściwa różnica jest w tym, co dzieje się potem: wygenerowany kod trafia do repozytorium jako zwykły plik Kotlina, a samo wywołanie modelu z działającej aplikacji znika. I to, a nie generowanie kodu, jest tu naprawdę interesujące. Całość nazywa się KotlinLLM, to wtyczka do IntelliJ IDEA dla projektów Kotlin/JVM, otwarta na licencji Apache 2.0.

Dlaczego to w ogóle problem? Bo użycie modelu w trakcie działania gotowej aplikacji, a nie podczas jej pisania, do tej pory wyglądało kiepsko na każdy z trzech sposobów, które wylicza JetBrains. Można odpytywać model wprost przy każdym żądaniu, ale to wolne, nieprzewidywalne, kosztowne i na zawsze uzależnia aplikację od zewnętrznej usługi. Można wypchnąć logikę do osobnego agenta, tyle że wtedy ląduje ona poza kodem, gdzie trudniej ją przejrzeć, przetestować i wydać. Można wreszcie generować potrzebny kod w locie, tak jak robiły wcześniejsze prace badawcze, tyle że te celowały w języki interpretowane w rodzaju Pythona i nie radziły sobie ze skompilowanym, statycznie typowanym Kotlinem.

Sztuczka KotlinLLM polega na tym, że model dopisuje kod dopiero wtedy, gdy naprawdę jest potrzebny, i robi to jednorazowo. Gdy uruchamiasz projekt przez konfigurację wtyczki, skanuje ona kod w poszukiwaniu wywołań asLlm i odpala aplikację pod JDI, mechanizmem debugowania JVM, który pozwala podmienić kod załadowanej klasy bez restartu. Dopóki wygenerowana logika radzi sobie z tym, co przychodzi, nic się nie dzieje. Kiedy trafia na sytuację, której nie obsługuje, wykonanie zatrzymuje się na wcześniej ustawionym breakpoincie. Wtyczka odczytuje wtedy z zamrożonej ramki rzeczywiste wartości i ich typy, agent proponuje na tej podstawie poprawkę, a wtyczka kompiluje ją i podmienia klasę w locie, zanim ponowi pierwotne wywołanie. Kotlin/JVM nie jest tu przypadkiem, bo cała ta pętla stoi na podmianie załadowanych klas przez JDI.

Czytaj dalej za darmo

Podaj e-mail, aby odblokować pełną treść i cały serwis. Zapiszemy Cię do newslettera.

Powiązane

Co zmienia llm 0.31: dwie flagi, cicha poprawka i nowy model OpenAI Premiera / Narzędzie

Co zmienia llm 0.31: dwie flagi, cicha poprawka i nowy model OpenAI

3 min

Wersja 0.31 narzędzia llm Simona Willisona, wydana 24 kwietnia, dorzuca dwie flagi do wtyczki OpenAI: `-o verbosity low` ścisza model bez wpychania instrukcji do promptu, a osobny przełącznik decyduje, jak dokładnie API ogląda obrazek, z nową wartością `original` dla GPT-5.4 i 5.5. Pod spodem modele z `extra-openai-models.yaml` rejestrują się też jako asynchroniczne, więc własny serwer na vLLM albo Groq wystarczy wpisać raz. Dla skryptów przepuszczających setki zapytań to konkretna kontrola nad tokenami i kosztami.

Kod przechodzi linter i testy, a i tak bywa błędny Bezpieczeństwo

Kod przechodzi linter i testy, a i tak bywa błędny

4 min

Agent od kodu w jedno popołudnie otwiera kilkadziesiąt pull requestów, ale liczy się dla niego skończenie zadania, a nie to, żeby wyszło bezpiecznie. AWS proponuje na to trójwarstwową ramę: twarde automaty jak linter i skanery, model w roli sędziego oceniający intencję zmiany, oraz człowieka rezerwowanego tylko do kodu wrażliwego albo nowej logiki. Największy problem to kod, który przechodzi wszystkie automaty, a mimo to jest funkcjonalnie błędny. Rama zostaje mapą, nie dowodem, bo brakuje w niej choćby jednej liczby na to, że realnie zbija liczbę wpadek.

Podręcznik dostrajania modeli, do którego trzeba się najpierw zapisać Premiera / Narzędzie

Podręcznik dostrajania modeli, do którego trzeba się najpierw zapisać

4 min

Thinking Machines Lab udostępniło na GitHubie tinker-cookbook, otwartą bibliotekę dziewięciu gotowych receptur na dostrajanie modeli językowych, od trójstopniowego RLHF, przez destylację, po dane audio i modele wizualno-językowe. Kod jest otwarty, ale silnik pod spodem, Tinker, chodzi na serwerach firmy w zamkniętej becie, więc żeby cokolwiek uruchomić, trzeba poprosić o dostęp i czekać. W zestawie jest też framework do oceny z dwunastoma benchmarkami i dwie umiejętności dla Claude Code. Bliżej temu do podręcznika podpiętego pod lejek do API niż do narzędzia, które każdy odpala po południu.