Nowsze modele AI zawodzą częściej podczas kodowania w podstępny sposób

Asystenci kodowania AI, po okresie poprawy, wykazują teraz oznaki regresji, przy czym nowsze modele prezentują bardziej podstępne tryby awarii. Te zaawansowane modele często generują kod, który wydaje się działać poprawnie, ale zawiera ukryte błędy, co czyni je trudniejszymi do wykrycia i naprawienia niż starsze modele, które produkowały oczywiste błędy składniowe lub logiczne. Przypadek testowy obejmujący nieistniejącą kolumnę w kodzie Pythona ujawnił, że podczas gdy starsze modele, takie jak GPT-4, oferowały pomocne odpowiedzi lub sugerowały kroki debugowania, nowsze modele, takie jak GPT-5, dostarczały kodu, który wykonywał się, ale dawał błędne wyniki poprzez przyjmowanie założeń lub ignorowanie głównego problemu. Tę tendencję zaobserwowano również w modelach Claude firmy Anthropic. Autor spekuluje, że ta degradacja wynika z uprzedzeń w danych treningowych, gdzie akceptacja przez użytkowników kodu wygenerowanego przez AI, niezależnie od jego długoterminowej poprawności, służy jako pozytywny sygnał. To zachęca modele do priorytetyzowania kodu, który działa bez natychmiastowych błędów, nawet jeśli oznacza to poświęcenie kontroli bezpieczeństwa lub generowanie prawdopodobnych, ale wadliwych danych. Aby odwrócić ten trend, firmy AI muszą inwestować w wysokiej jakości, ekspercko oznakowane dane treningowe, zamiast polegać na potencjalnie stronniczych danych z interakcji użytkowników. Autor uważa, że asystenci kodowania AI są wartościowi, ale ostrzega, że skupienie się na krótkoterminowych zyskach i danych niskiej jakości będzie nadal przynosić coraz bardziej bezużyteczne rezultaty.

Artykuł napisał analityk danych Jamie Twiss na łamach „IEEE Spectrum”, szanowanego magazynu wydawanego przez Institute of Electrical and Electronics Engineers, największą na świecie organizację zrzeszającą inżynierów i naukowców.

https://spectrum.ieee.org/ai-coding-degrades

#ai #ainews #sztucznainteligencja #programowanie #technologia

Ieee

Komentarze (28)

@Klockobar "Autor spekuluje, że ta degradacja wynika z uprzedzeń w danych treningowych, gdzie akceptacja przez użytkowników kodu wygenerowanego przez AI, niezależnie od jego długoterminowej poprawności, służy jako pozytywny sygnał. To zachęca modele do priorytetyzowania kodu, który działa bez natychmiastowych błędów, nawet jeśli oznacza to poświęcenie kontroli bezpieczeństwa lub generowanie prawdopodobnych, ale wadliwych danych."


To co, jakaś partyzantka z karmieniem AI gównem przez akceptację chujowego kodu?

@GazelkaFarelka wychodzi też na to, że wrzucenie 10x więcej danych wcale nie poprawia modelu 10x, a sprawia problemy. Oraz załamanie rynku pamięci RAM i wywalenie bilionów dolarów nie było tak wspaniałym pomysłem.

@GazelkaFarelka

Raczej nie, choć może i to też być w dzisiejszych czasach.

Problemem jak zwykle i niezmiennie jest marketing, który architekturę transformatora tekstu, który sam powiela sobie kontekst nazwał sztuczna inteligencja, bo przypomina gadającego eksperta, którym nie jest, ale marketing mu wierzy no.... ,bo tacy ludzie pracują w marketingu i to się sprzedaje xD


Problem na 99% wynika z tego, że ludzie używający tzw. vibecodingu na ślepo dają np.: w takim Antigravity opcje "accept all". No I wtedy do zestawu treningowego dla agentic AI architektów trafia informacja, że tego typu kod jest okej.

Danych jest tak dużo i decyzji tak wiele (głównie dlatego, że pakują do tych danych treningowych prawie wszystko), że model upada.


Jak widać w pipelinach agentic jak ogromnym tworem jest "dział IT" tworzony przez architektów IT ale jako modele AI to wtedy to działa i błędy są minimalne, ale są. Taki styl wymaga jednak architekta AI z wiedzą o nadzorach, walidatorach, MCP, agentach i tym, że czasem lepiej sobie agenta napisać samemu, a czasem nawet podmienić jakiegoś bełkotliwe gówienko na zwykły twardy skrypt.


Sumując, chodzi na 99% o to, że Antigravity czy inne Claus sonnet IDE I vibekoderzy z wizją bycia drugi Miśkiem tworzą tak dużo rzygowin treningowych, że widać to aż gołym okiem.


Swoją drogą, znając marketing zaraz wstanie jakiś piewca, że to dobry pomysł, bo przez sprzedaż AI koderów można też firmom sprzedać vybersecurity(AI cybersec). I można rozwiązywać problem żółwia na żółwiu w nieskończoność, a w ich mniemanie to "easy money", więc czemu nie.


Tak sobie spekuluje tylko xD

Nic nie zastąpi dobregonaoliwionego (oczywiście na czerepie z włosami tak za ramiona w kucyku) 45 letniego programisty we flanelowej koszuli z kubkiem javy.

@Klockobar Nieno, jest padaka totalna xD U nas [nie powiem gdzie xd] zostaliśmy wręcz zmuszeni do korzystania z AI, i to nie jakieś copypaste z ChataGPT tylko Cursor, wszędzie MCP, najnowsze modele, full wypas zapas tokenów.

I to jest jak jakaś pułapka xD Gość (w sensie ten Ejaj) wszystko robi po leniwemu, tak jakby wręcz próbował nabrać deva, sabotować w rozwiązania które wydają się działać, ale zemszczą się. Trzeba być bardziej czujnym niż przy review juniora.

Zawsze po linii najmniejszego oporu. Jak test nie działa to go wywalę. Jak model nie puscza walidacji to gołym SQLem będę dame wstrzykiwał, jak tworzę nowy test integracyjny to najważniejsze bebechy zmockuje.

I zawsze "the user is right to call me moron" "ahhh you are right! thats unacceptable!" no katastrofa. I co śmieszne, mam wrażenie, że on faktycznie nawet parę miesięcy temu działał nieco lepiej.

Oczywiście promptardzi naganiający na bańkę powiedzą że skill issue i inaczej musisz inaczej trzeba prompta pisać.

Generalnie jeśli ktoś totalnie nie ogarnia programowania, i potrzebuje zrobić stronkę jak w gimnazjum na zaliczenie informatyki, albo inny dodatek do przeglądarki, to to jest super narzędzie. Ale rozwijanie dowolnego większego systemu z tym AIem to jest koszmar. To mniej więcej tak jak obcowanie z najstarszą wersją tłumacza google. Jeśli nie znasz języka obcego - ŁAAAŁ PATRZCIE NIE ZNAM JAPOŃSKIEGO A PRZETŁUMACZYŁEM MENU!!!! Ale mówić od razu, że to zastąpi tłumaczy przysiegłych...

I w przypadku tłumacza google przynajmniej był ogromny rozwój, a AI to zalicza wręcz regres [nie mam na to danych, mi się gorzej korzysta po prostu]

A zresztą;
Przykładowe rozumowanie najnowszego "antropomorficzno najmądrzejszego modelu do najtrudniejszych zadań" OPUS CZTERYIPÓŁ w trybie PLAN po 5 minutach mielenia trybikami - pic rel. 700 podzielone na 2 to 25.

9e258baa-55aa-4c4b-a97c-31442c5e8ad8

@Barcol z mojej styczności z LLM's powiem tylko, że LLM's są tak głupie jak bardzo skomplikowane jest pytanie/zadanie.
Często interpretacja danych źródłowych ma się nijak do oczekiwanego rezultatu, więc wynik końcowy to kloaka, z którego masz sobie wybrać to co ci pasuje pod tezę.

Co ciekawe LLM nie widzi niuansów, tylko ma fancy odpowiedzi i luzackie "sorki, spierdoliłem, masz rację, poprawiona wersja bla bla bla"

IMHO zamiast AI powinno się używać po prostu LLM's (duże modele językowe). Działanie tych skryptów nie ma nic wspólnego z inteligencją.

Mam tylko nadzieję, że ta bańka spekulacyjna jebnie i Micron sobie głupi ryj rozwali.


@fadeimageone Ano, w pełni się zgadzam. Z nazwenictwem w zasadzie też, ostatnio o tym dyskutowałem, że gdzie tu jest ta inteligencja, nawet sztuczna?

@Barcol Inteligencja jest bo jak zapytasz o jakieś typowo życiowe problemy to wygeneruje całkiem sensowne porady. Dla większości ludzi to przejaw inteligencji. Nawet raz słyszałem że GPT jest "życiowo mądry".


Do zadań typowo inżynierskich - wszystko zależy czego chcesz. Chcesz dość trywialny kod który wymaga klepania i do tego jakieś bezużyteczne testy które robią pokrycie - jest super. Wygenerowanie jakichś geterów/seterów czy innego mozołu - jest lepsze niż człowiek (bo człowiek zawsze zapomni o jakimś gównie przy kopiowaniu).


Ale na algorytmach potrafi się wyłożyć. Do tego często LLM są słabe z matmy. No i debagowanie tego często zajmuje więcej niż zrobienie po swojemu od początku.


Ot narzędzie jak każde inne. Taki młotek. Jeden tym młotkiem zarabia na życie a drugi sobie paluchy obije.

@mocoloco No tak tak, ja się zgadzam z tym młotkiem, po prostu wciskanie mi na siłę w rękę młotka przez wszystich dookoła razem z tłumaczeniem że będzie mi się nim lepiej klikać w klawiaturę, jest co najmniej męczące

@Barcol Wciskają bo ostatnie poradniki dla menedżerów średniego szczebla (tzw człowiek umiarkowanego sukcesu) tak nakazują. Tak jak było z woke. Nikt nie myśli za bardzo Tobie to potrzebne, więc nie bierz tego personalnie. Klaskamy i robimy swoje

@Barcol u mnie mam w teorii promować używanie ej aj, ale ciężko mi to zrobić jak to zwyczajnie nie działa. Na ten moment jedyna rzecz, która fajnie działa to wyszukiwanie wiedzy. Jak chcesz szybko zrozumieć co robi jakiś kawałek kodu albo ogarnąć istniejącą dokumentację. Ale zupełnie nie potrafi tworzyć kodu, a ostatnio to coś się w ogóle zaczęło sypać i mam problemy ze stworzeniem promptu, który przekona LLM, żeby zrobił to czego potrzebuję.

@Barcol efekt tego że te wszystkie boty są zaprogramowane na zawsze odpowiadanie, nawet jak nie znają odpowiedzi, a zaraz potem zgadzanie się z userem. "Bo inaczej źle by to wyglądało". Temu na początku tego pierdolnika dawały jeszcze jakieś w miarę wyniki, a potem jak same siebie już nakarmimy swoimi pierdami to to wszystko poleciało na pysk. U nas też mam taki copilota, ale kurwa, jak czasem widzę co on z siebie wpluwa to ja to szybciej i pewniej działające napiszę sam. I stracę 2x mniej czasu jakbym miał się bawić w tę ciuciubabkę z botem, a potem go jeszcze ręcznie poprawiać.

Te pełnowartościowe dane to już chyba w calosci zostały przemielone z ogólnie dostępnego internetu a firmy nie kwapią się do udostępniania swoich repo do szkolenia AI. Btak juniorów to brak pytań a to brak nowych danych. AI oczywiście może zapytać AI które już przeciez za 3 miesięco zastąpi wszystkich developerów

@Hasti dlatego copilot jest wciskany niemal na siłę i za darmo, żeby ten bardziej kumaty user robił fine-tuning na żywym kodzie/dokumentach/danych i darmowo doszkalał model swoją wiedzą.

@robochlop na dwóch niezależnych od siebie służbowych laptopach (moim i żony) dwóch różnych marek z dwóch różnych organizacji, występują podobne bolączki, które w większości rozwiązuje restart explorera przy użyciu task managera.

Szkoda ze wieloletni cykl dobry-chujowy* Windowsa zatrzymał się na chujowym 11 xD


* - Dobry 98, chujowy ME, Dobry XP, chujowa Vista, dobra 7, chujowa 8.1, dobra 10, chujowa 11

@Ziomek1998 no to był system do wszystkiego i niczego jednocześnie. Bo tworzony z myślą o smartfonach i pctach. Śmigało na czymbądź, ale poza tym plusów dużo ten system to nie miał.

AI-hype, poza tymi specjalistycznymi, tresowanymi na jakościowych danych, to jest niewyobrażalne gówno. I te gówno kosztuje nas gigawaty zasobów, w imię tego, żeby jeden debil z drugą debilką mógł dostać podsumowanie debilnych zapytań, a akcjonariuszom rosły słupki.

Testuje AI na DevExpress i serio poza GPT nie ogarnia składni, logiki nawet po wskazaniu w którym miejscu chcę wpisać np. żeby wyświetlało dany wiersz lub tabelę we formularzu

Zawsze poznam unit testy wysrane przez AI, bo nie mają sensu. Test nazwany "should do X" na 100% akurat tego nie sprawdza, przypadki się powtarzają, test case'y typu "czy obsłuży pustą tablice / tablice z wieloma elementami" (gdzie w testowanym kodzie nie ma różnicy) itd.


Tak że z tym przyspieszaniem pracy, to póki co nie wyszło. Bardziej zdejmuje ze mnie szukanie, co z czym połączone, i debugowanie głupich błędów typu - zapomniałam o jakimś drobiazgu i tego sama nie widzę. Potrafi zjebać najprostsze rzeczy, typu każę mu coś dodać na początku komponentu, to weźmie i wsadzi gdzieś niżej. XD

Ja to ogólnie mam wrażenie, że AI trochę stoi w miejscu od jakiegoś czasu. Wydaje mi się, że sporo osób to też pewnie zauważa. Ich autorzy ścigają się który model będzie miał lepsze wyniki w popularnych benchmarkach żeby mogli wkleić wykres ile to nie jest mądrzejszy od poprzednich. Ale jak przyjdzie co do czego i po prostu zadajesz mu pytania to nadal masa odpowiedzi jest bez sensu albo jest totalnie nie przemyślana. Modele nadal wymyślają nazwy rzeczy które nie istnieją itp.

A to że AI wypluwa niby kod który ma od razu działać to też dobry żart. Możecie sobie łatwo sprawdzić, pobierzcie Gemini CLI i poproście o napisanie jakiegoś bardziej złożonego programu w Rust. Następnie dajcie mu uprawnienia do odpalania poleceń shell i każcie mu sprawdzić czy program działa i jak nie to ma go debugować i naprawiać po czym nadal sprawdzać czy działa. No i on się potrafi tak bawić baaardzo długo.

Ostatnio jak w taki sposób testowałem czy Gemini może mnie już zastąpić w pisaniu projektu to puszczałem mu jakiegoś skomplikowanego prompta a potem szedłem grać w lola, bo tyle potrafił nad tym siedzieć, że ja zdążyłem sobie zagrać rundkę w gierkę. Tyle z tego wyszło, że nie zastąpi bo ciągle robi coś o co nie był proszony, jeśli każę mu debugować program to on czasem potrafi usunąć jakiś inny feature byle by tylko program się kompilował. Ale moje ulubione 2 przypadki to były:

1. Gemini stwierdził, że niestety ale nie potrafi tego zrobić albo się tego nie da i on przywróci repo do stanu początkowego, tylko zamiast zrobić git restore to poprawiał ręcznie każdy plik xD.

2. Poprosiłem go żeby dodał mi jeden przycisk w apce GUI więc ten przepisał mi połowę mojego layoutu UI bo przycisk który próbował dodać był z innej wersji frameworka i mimo, że można to było zrobić w tej jakiej był ten projekt to on postanowił przepisać mój program na jego starszą wersję i zaczynały się pojawiać coraz to kolejne błędy bo w starej wersji nie było rzeczy których program używał więc ten po kolei przepisywał wszystko na starą wersje przy okazji zmieniając układ wszystkiego. Żeby było śmieszniej finalnie mu się udało ale programowi brakowało 1/3 przycisków oraz był praktycznie nie używalny bo UI było totalnie nie przemyślane i bez sensu ułożone.

O nie ludzie uświadamiają sobie że problemy z lat 70 jednak nadal pozostaja oprócz drastycznej poprawy szybkości trenowania.


No kto by się spodziewal

Zaloguj się aby komentować