Mit o AI alatima za razvoj softvera: Realnost iza marketinga
Obećanja o automatizaciji programiranja često ignoriraju stvarno stanje
Marketing tehnoloških kompanija predstavlja umjetnu inteligenciju kao ultimativno rješenje za razvoj softvera. Od generiranja cijelih aplikacija iz jednostavnih tekstualnih uputa do automatskog rješavanja kompleksnih grešaka u kodu, obećanja su velika. Često se stvara dojam da će programiranje postati toliko jednostavno da će svatko moći razviti složene sustave bez dubokog razumijevanja inženjerskih principa.
No, svakodnevna upotreba ovih alata u stvarnim projektima otkriva drugačiju sliku. Dok veliki jezični modeli impresivno barataju sintaksom i općepoznatim obrascima, njihova primjena u specifičnim, velikim sustavima zahtijeva stalni nadzor i korekcije.
Prevladavajuća priča
Prevladavajuća priča, posebno u investicijskim krugovima i medijima koji prate tehnologiju, jest da AI asistenti za kodiranje eksponencijalno povećavaju produktivnost svih programera. Tvrdi se da ovi alati mogu u potpunosti zamijeniti mlađe inženjere te omogućiti tvrtkama da isporuče više značajki u znatno kraćem vremenu. Startupovi s integriranim AI alatima reklamiraju se kao rješenja koja omogućuju isporuku koda bez grešaka i potrebe za testiranjem, čime se navodno ukida potreba za tradicionalnim procesom osiguranja kvalitete.
Mnogi vjeruju da je pisanje koda postalo puki proces delegiranja zadataka stroju, gdje je jedina vještina koja preostaje - umijeće pisanja pravih uputa.
Zašto je ta priča pogrešna ili nepotpuna
Ova priča opasno pojednostavljuje proces razvoja softvera. AI alati su doista moćni u rješavanju izoliranih problema, poput pisanja standardnih funkcija ili generiranja osnovne strukture koda. Međutim, oni ne razumiju širi kontekst sustava u kojem taj kod živi. Ne razumiju poslovna pravila, specifične zahtjeve sigurnosti niti dugoročne posljedice arhitektonskih odluka.
Kada se AI modeli koriste kao zamjena za razumijevanje, često generiraju kod koji površno izgleda ispravno, ali sadrži suptilne greške, sigurnosne propuste ili rješenja koja je kasnije nemoguće održavati. Zapravo, ovi alati zahtijevaju još višu razinu inženjerskog znanja. Programer sada ne mora samo napisati kod, već mora detaljno razumjeti, pregledati i ispraviti kod koji je generirao netko drugi, odnosno nešto drugo.
Popravljanje tuđeg, a u ovom slučaju generiranog koda, često oduzima više vremena nego samostalno pisanje od nule, osobito u složenim sustavima. Nadalje, pretjerano oslanjanje na ovakve alate može dovesti do masovnog nakupljanja tehničkog duga.
Posljedice u stvarnom svijetu
Ako nastavimo vjerovati u mit o savršenoj AI automatizaciji, posljedice će biti jasne i vrlo opipljive. Tvrtke koje zamijene stručne inženjere alatima u nadi da će smanjiti troškove suočit će se s krhkim sustavima koje nitko u potpunosti ne razumije. Održavanje ovakvih sustava postat će noćna mora.
Zaposlenici koji su tek ušli u industriju izgubit će ključnu fazu učenja. Učenje kroz rješavanje problema i razumijevanje osnovnih principa bit će zamijenjeno pukim prihvaćanjem generiranih rješenja. To bi moglo stvoriti generaciju inženjera koji znaju spojiti komponente, ali ne znaju riješiti temeljne arhitektonske i performanse probleme kada oni neizbježno nastanu.
S druge strane, iskusni inženjeri koji prihvate ove alate kao pametne asistente, a ne kao zamjenu, postat će nevjerojatno produktivni. Oni će koristiti AI za automatizaciju dosadnih, ponavljajućih zadataka, ostavljajući više vremena za arhitekturu i dizajn.
Iako alati za umjetnu inteligenciju impresivno rješavaju manje zadatke, veliki projekti zahtijevaju razinu apstrakcije koja je strojevima još uvijek strana. Kvaliteta koda nije samo u tome prolazi li testove, već i u tome koliko ga je lako čitati i proširivati godinama nakon što je napisan. Ovdje je ljudski element nezamjenjiv. Nadalje, brzina kojom se uvode promjene može rezultirati i bržim uvođenjem sigurnosnih ranjivosti, ako izostane strogi ljudski pregled. Pravi inženjeri znaju da samo postojanje koda ne znači da je on i dobar kod.
Kada tvrtke i investitori to u potpunosti shvate, očekivanja će se morati prilagoditi. Investirat će se u obrazovanje i obuku zaposlenika kako bi alatima upravljali mudrije, umjesto da očekuju magična rješenja iz kutije.
Završni stav
Umjetna inteligencija nije čarobni štapić koji će eliminirati potrebu za stručnim programerima. Ona je tek novi, moćan alat u kutiji. Razvoj softvera i dalje je u osnovi rješavanje ljudskih problema, prevođenje nejasnih zahtjeva u precizne logičke sustave, a taj proces i dalje zahtijeva ljudsku inteligenciju, iskustvo i razumijevanje konteksta.
Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef



