Zašto AI alati neće tako skoro zamijeniti programere
Razlika između generiranja koda i stvarnog inženjerstva
Svakih nekoliko mjeseci tehnološku industriju zatrese novi AI alat uz najavu o skorašnjem kraju programerske profesije. U tim savršeno režiranim demonstracijama, sve izgleda apsolutno impresivno: korisnik upiše tek nekoliko jednostavnih rečenica i alat isporuči gotovu web stranicu ili složenu bazu podataka u samo nekoliko sekundi. Zbog toga mnogi ljudi izvan struke iskreno vjeruju da je pisanje koda postalo trivijalno. Investitori sve više propituju vrijednost velikih razvojnih timova, a na mrežama čitamo kako je učenje programiranja gubljenje vremena. Međutim, stvarna praksa i svakodnevna realnost razvoja softvera pokazuju nam sasvim drugačiju sliku. Umjetna inteligencija, unatoč svojim impresivnim mogućnostima, još uvijek ima jasna ograničenja koja nije lako prevladati pukim povećavanjem jezičnih modela.
Prevladavajuća priča
Agresivne marketinške kampanje koje prate lansiranje modernih AI alata često sugeriraju da je programiranje samo obično prevođenje ljudskog jezika u računalni kod. Prema toj donekle naivnoj logici, s obzirom na to da su današnji veliki jezični modeli postali nevjerojatno vješti u razumijevanju sintakse, oni bi trebali zamijeniti ljudski rad.
Od raznih pametnih asistenata koji predlažu sljedeću liniju koda u editoru, pa sve do samostalnih agenata koji obećavaju samostalno rješavanje kompleksnih problema, priča je uvijek ista: razvoj aplikacija postat će automatiziran proces. U takvoj zamišljenoj budućnosti, ljudska uloga svodi se na davanje općenitih uputa. Umjetna inteligencija preuzima na sebe cjelokupni teret i obavlja sav tehnički rad bez ikakvih grešaka. Stvara se dojam da će svatko tko zna napisati dobru tekstualnu uputu automatski postati vrhunski softverski inženjer.
Zašto je ta priča pogrešna ili nepotpuna
Temeljni problem s ovom vrlo popularnom pričom jest taj što ona potpuno zanemaruje stvarnu suštinu softverskog inženjerstva i onoga što zapravo čini posao modernog programera. Golo pisanje novog koda zapravo je samo jedan sasvim mali dio onoga što iskusni inženjeri svakodnevno rade. Ogromna većina njihovog vremena i mentalnog napora odlazi na komuniciranje s klijentima, razumijevanje složenih poslovnih zahtjeva, čitanje i održavanje postojećeg tuđeg koda te osiguravanje dugoročne skalabilnosti cijelog sustava.
Današnji AI alati zaista briljiraju u rješavanju ograničenih, strogo definiranih problema s jasnim ulaznim i izlaznim parametrima. Kada im zadate da napišu funkciju za sortiranje niza brojeva, oni to odrade besprijekorno. No, kada ih se stavi u kontekst velikog, neurednog projekta starog nekoliko godina, njihova stvarna korisnost drastično opada. Često generiraju kod koji na prvi pogled izgleda savršeno točno, ali zapravo sadrži suptilne logičke greške ili kritične sigurnosne propuste koje je kasnije teško otkriti. U praksi se nerijetko pokazuje da pregledavanje i ispravljanje koda koji je napisala umjetna inteligencija može oduzeti znatno više dragocjenog vremena.
Posljedice u stvarnom svijetu
Umjesto da u potpunosti zamijene ljudske programere, AI alati zapravo postaju samo još jedan moćan alat u njihovom svakodnevnom arsenalu. Oni su apsolutno fantastični kada je u pitanju automatizacija ponavljajućih i dosadnih zadataka, poput pisanja monotonih jediničnih testova, generiranja osnovne početne strukture aplikacije ili brze pretrage kroz ogromne količine tehničke dokumentacije. Sve to zajedno omogućuje inženjerima da oslobode svoje vrijeme i konačno se u miru usredotoče na planiranje dobre arhitekture sustava.
Međutim, za mlađe i neiskusne programere koji se od prvog dana previše oslanjaju na te alate, a da pritom nisu stekli duboko razumijevanje temeljnih računalnih koncepata, stvara se ogroman dugoročni rizik. Na taj se način stvara softver koji je izvana funkcionalan, ali je iznutra prepun loših arhitektonskih odluka. Tvrtke koje nepromišljeno odluče otpustiti iskusne inženjere u nadi da će umjetna inteligencija odraditi posao po znatno nižoj cijeni, prije ili kasnije suočit će se s ogromnim tehničkim dugom. Popravak tog narušenog sustava koštat će ih višestruko više od uštede.
Završni stav
Moderna umjetna inteligencija bez sumnje je revolucionirala način na koji pristupamo razvoju softvera, ali nipošto nije eliminirala potrebu za stvarnim ljudskim inženjeringom, razumijevanjem poslovnih sustava i kritičkim razmišljanjem. U bliskoj budućnosti, programeri koji znaju kako pametno i odgovorno koristiti AI alate bit će daleko produktivniji od onih koji ih uporno ignoriraju i odbijaju prilagodbu. Ali sama srž ove profesije ostaje intelektualno zahtjevna i nezamjenjiva kao i do sada. Pravi izazov u modernom svijetu više nije samo tehničko pitanje kako napisati kod, već kako dizajnirati i izgraditi stabilan, siguran i pouzdan sustav koji u potpunosti ispunjava ljudske potrebe u svijetu koji se neprestano mijenja.
Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef



