Mit o ubrzanom programiranju uz pomoć umjetne inteligencije
Zašto stvarna iskustva developera zaostaju za marketinškim obećanjima
Od svakog novog AI alata za programiranje očekujemo revoluciju, ali stvarnost u razvoju softvera izgleda znatno drugačije od onoga što sugeriraju blještave prezentacije. Gotovo je nemoguće pročitati ozbiljnu vijest o tehnologiji a da se ne spominje nevjerojatno ubrzanje koje moderni alati donose programerima. Tvrdi se da umjetna inteligencija već sada može preuzeti ogroman dio zadataka, drastično smanjiti vrijeme potrebno za pisanje koda i omogućiti tvrtkama brzu isporuku proizvoda. Međutim, kada taj početni entuzijazam prenesemo u praksu, slika postaje znatno složenija. Iskustvo razvoja i održavanja softvera uz AI otkriva izazove koji se rijetko spominju u promotivnim materijalima. Ti izazovi redovito usporavaju ritam rada i vraćaju nas na osnovne principe inženjerstva koje tehnologija još ne može zaobići. Brzina kojom se hvale proizvođači alata najčešće je iluzija koja nestaje čim se projekt suoči s prvim ozbiljnim tehničkim preprekama.
Prevladavajuća priča
Prevladavajuća priča u industriji svodi se na to da alati poput programerskih asistenata čine developere višestruko produktivnijima. Prema tom dominantnom narativu, tehnološki napredak omogućio nam je da u potpunosti preskočimo najteže dijelove razvoja. Navodno je dovoljno opisati problem prirodnim jezikom, a umjetna inteligencija će isporučiti savršeno strukturiran, siguran i optimiziran kod. Marketinške kampanje redovito ističu izolirane primjere u kojima je jednostavna aplikacija napravljena u svega nekoliko sati rada. Takvi primjeri sugeriraju da je to postao zlatni standard te da se isti principi mogu primijeniti na kompleksne poslovne sustave. Uz to, menadžment sve više vjeruje kako pisanje koda postaje trivijalan zadatak te da će potreba za dubokim tehničkim znanjem biti svedena na minimum. Sve to stvara neizdrživ pritisak na inženjere od kojih se očekuje nerealna brzina isporuke, pod pogrešnom pretpostavkom da im AI automatski rješava svaku prepreku.
Zašto je ta priča pogrešna ili nepotpuna
Glavni problem s ovakvim pogledom na budućnost leži u dubokom nerazumijevanju onoga što svakodnevni razvoj softvera obuhvaća u praksi. Pisanje potpuno novog, jednostavnog i šablonskog koda samo je mali dio posla ozbiljnog programera. U stvarnosti, većina radnog vremena odlazi na razumijevanje kompleksnih poslovnih zahtjeva, rješavanje komunikacijskih nejasnoća, arhitektonsko planiranje, čitanje postojećeg koda te pronalazak i ispravljanje suptilnih grešaka. Umjetna inteligencija je danas iznimno korisna za generiranje početnih struktura i pisanje jednostavnih testova, ali brzo gubi smislen kontekst kada je riječ o velikim projektima s tisućama datoteka i specifičnim poslovnim pravilima.
Kada AI alat pogriješi, a griješi znatno češće nego što mislimo jer ne razumije dublju domensku logiku, programer mora uložiti ogromnu količinu vremena kako bi uopće shvatio što je generirano. Potrebno je otkriti zašto rješenje ne radi onako kako bi trebalo i kako ga na siguran način ispraviti bez rušenja drugih dijelova sustava. Često se događa da je potrebno više vremena za analizu i popravak loše generiranog koda nego što bi inženjeru trebalo da ga je napisao samostalno. Osim toga, umjetna inteligencija ima tendencija koristiti zastarjele biblioteke ili uvoditi nesigurne prakse prisutne u javnim podacima. Na taj se način stvara lažan osjećaj brzine u početku, dok se dugoročno gomila skriveni tehnički dug koji usporava tim i otežava buduće nadogradnje.
Posljedice u stvarnom svijetu
U poslovnom svijetu posljedice ovog nerazmjera između menadžerskih očekivanja i tehničke stvarnosti osjećaju se na svim razinama IT industrije. Menadžeri, zaslijepljeni obećanjima o smanjenju troškova i ubrzanju isporuke, nerijetko donose pogrešne strateške odluke. Sve se češće odlučuju na smanjenje broja iskusnih inženjera jer ih smatraju preskupima, pokušavajući zaposliti manje iskusne programere u nadi da će im napredna umjetna inteligencija nadoknaditi nedostatak znanja. Dugogodišnja praksa pokazuje da takav pristup rezultira softverom iznimno niske kvalitete, prepunim logičkih grešaka, loših arhitektonskih odluka i potencijalno katastrofalnih sigurnosnih propusta koji tek kasnije dolaze na naplatu.
Preostali iskusni programeri suočavaju se sa svakodnevnom frustracijom. Oni moraju stalno iznova opravdavati zašto određeni složeni zadaci traju dugo unatoč tome što tvrtka plaća skupe licence za najnovije AI alate. Umjesto da se bave kreativnim rješavanjem izazovnih problema, oni sve više vremena provode u zamornom pregledavanju i ispravljanju strojno generiranog koda koji je naizgled točan, ali suštinski pogrešan. Tvrtke koje slijepo forsiraju brzinu isporuke nauštrb razumijevanja koda neminovno se suočavaju s većim brojem teških incidenata u produkciji. Zbog toga se otežava održavanje sustava, čime se početna ušteda vremena brzo pretvara u neplanirane financijske gubitke i nezadovoljstvo korisnika.
Završni stav
Umjetna inteligencija u razvoju softvera nije čarobni štapić koji briše kompleksnost programiranja. Radi se o korisnom alatu koji zahtijeva stručno usmjeravanje, kritičko razmišljanje i pažljivu primjenu od strane iskusnih profesionalaca. Njena istinska vrijednost ne leži u sposobnosti da zamijeni ljudsko inženjersko znanje ili nerealno ubrza svaki korak u procesu. Njena snaga je u oslobađanju inženjera od repetitivnih zadataka kako bi se posvetili rješavanju onih teško savladivih arhitektonskih problema koji čine razliku između prosječnog i vrhunskog proizvoda. Dok se tehnologija nastavlja razvijati, ključno je zadržati realistična očekivanja. Kvalitetan, siguran i održiv softver više nego ikad zahtijeva ljudsku inteligenciju i jasnu odgovornost koju nijedan AI alat ne može preuzeti.
Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef



