AI-generisani kod — „vibe coding” — djeluje uzbudljivo: pretvara svakoga u programera. Ali upravo u tome je problem…
Problem nije u tome da „vibe coding” uvodi prevelik broj ranjivosti. Uporedne analize pokazuju da je gustina AI ranjivosti po liniji koda slična onoj koju uvode ljudi. Kvalitet koda nije problem. Problem je što ga ima previše, suviše brzo i nedostaje mu dobro prosuđivanje.
OX Research, koji je sproveo analizu, uočava dva pitanja. Prvo, tamo gdje ranjivosti postoje, one „stižu u produkciju neviđenom brzinom” — prebrzo da uobičajeni procesi revizije koda otkriju sve propuste. Već su se desili incidenti kroz kod nastao „vibe” pristupom koji je promakao prilikom pregleda.
Drugo, AI je možda „ pročitao i razumio ” početnički priručnik za programiranje, ali nije naučio dobre prakse koje dolaze tek godinama rada. Dobar kod sam po sebi ne čini dobar program. Istraživači iz OX-a identifikovali su deset čestih anti-obrazaca (anti-pattern): nešto što nije nužno pogrešno, ali je neefikasno, kontraproduktivno i na kraju loša praksa. Problem sa anti-obrascima i AI kodiranjem jeste da, ako se pojave jednom, velika je vjerovatnoća da će ih isti AI sistem ponavljati i u drugim izlazima.
Prvi i najčešći anti-obrazac je pretjerano komentarisanje. Dok ljudski programeri dodaju komentare da pomognu drugima (ili budućim održavaocima) kroz složene djelove, AI ih rasipa svuda. Iako bi se to moglo smatrati „pomoćnim”, istraživači misle da je to svojstveno samom AI-ju. Kao što chatbot zadržava kontekst razgovora sa korisnikom, AI sebi obezbjeđuje interni kontekst tako što komentariše gotovo sve: „To su svjedočanstva o unutrašnjem radu GenAI-ja, pametan zaobilazni put za njegova trenutna ograničenja u dugoročnoj, skalabilnoj memoriji”.
Drugi čest anti-obrazac je izostanak ljudske potrebe za perfekcionizmom. Za AI, ako radi — dovoljno je dobro. Ljudski programer bi zastao i pomislio: mogu li to elegantnije, dotjerati ovdje, učiniti skalabilnijim ili održivijim na duži rok? AI samo odgovara na korisnički prompt; ako je korisnik početnik koji programira zato što sada može uz AI pomoć (i jeftiniji je za zapošljavanje od iskusnog profesionalca), ovaj anti-obrazac gomila probleme za budućnost.
Drugi problemi uključuju pretjeranu specifikaciju koja rađa jednokratna rješenja umjesto višekratno upotrebljivih komponenti; ponovno „izmišljanje točka” umjesto korišćenja provjerenih biblioteka; manjak svijesti o okruženju za isporuku, pa nastaje kod koji radi samo na lokalnoj mašini; i još pet sličnih.
Dva istaknuta pitanja iz OX analize imaju različita rješenja. Za anti-obrasce rješenje su unaprijeđeni AI sistemi i bolji promptovi od strane inicijatora koda. Prvo nije u rukama korisnika. Drugo se može umanjiti razvijanjem najboljih praksi za upotrebu AI alata za kodiranje unutar sopstvenog okruženja — i obaveznim poštovanjem istih od svih (uključujući i neprofesionalne programere). Programer treba da pređe u ulogu arhitekte.
Isključenje adekvatne revizije razvoja, uzrokovano samom razmjerom i brzinom nastanka koda, zahtijeva preispitivanje sadašnjih procesa da nam bugovit softver ne promakne. „Ugradite bezbjednosne smjernice direktno u AI tokove rada, umjesto da se nadate da ćete probleme uhvatiti kasnije”, predlaže OX Research.
U međuvremenu… „vibe-coding”? Uz izvinjenje Joeu Southu iz sedamdesetih: „Znaš sve riječi i zviždućeš sve melodije, ali pjesmu nikad ne otpjevaš do kraja.” Pogrešno bi bilo pretpostaviti da se „vibe-coding” neće poboljšati i jednog dana zapjevati mnogo bolje — jer hoće. Ali analiza OX-a veoma jasno pokazuje: ako danas koristite AI ponude, radite to pažljivo, širom otvorenih očiju, i iskoristite sve raspoložive mjere opreza.
Izvor: SecurityWeek

