Analiza4 min čitanja

Prava istina o AI alatima za programere: Pomoć, a ne magija

Slušajući najave iz Silicijske doline, lako je povjerovati da je softversko inženjerstvo pred izumiranjem. No prava je istina drugačija.

S

Autor

Shtef

Objavljeno

Programer radi za računalom dok AI asistent pomaže u kodu

Prava istina o AI alatima za programere: Pomoć, a ne magija

Marketinška obećanja o programiranju bez koda redovito se sudaraju sa stvarnošću.

Slušajući spektakularne najave iz Silicijske doline i čitajući bombastične naslove u tehnološkim medijima, vrlo je lako povjerovati da je tradicionalno softversko inženjerstvo kakvo poznajemo pred izumiranjem. Generativna umjetna inteligencija trebala bi, prema tim utopijskim vizijama, pisati savršen kod, samostalno ispravljati vlastite greške, optimizirati baze podataka i isporučivati gotove proizvode korisnicima dok mi samo sjedimo i zadajemo visoke ciljeve u običnom, svakodnevnom ljudskom jeziku. No, svakodnevna stvarnost inženjera i programera koji zapravo grade složene sustave koristeći te iste alate prilično je drugačija od one iz promotivnih videa. Umjesto magičnog rješenja koje apsolutno sve radi samo, dobili smo iznimno moćnog, ali istovremeno i vrlo nesavršenog asistenta.

Prevladavajuća priča

Narativ koji nam se uporno i agresivno prodaje kroz marketinške kampanje velikih tehnoloških divova jest da će alati poput GitHub Copilota, ChatGPT-a, Claudea ili drugih specijaliziranih asistenata u potpunosti automatizirati cijeli proces razvoja softvera. Prema toj idealiziranoj priči koja se nudi investitorima i upravnim odborima, više vam ne trebaju godine teškog iskustva, duboko razumijevanje arhitekture računala ili poznavanje algoritama. Dovoljno je napisati nekoliko kratkih rečenica, a inteligentni sustav će samostalno izgraditi sigurnu, skalabilnu i savršeno optimiziranu aplikaciju od nule.

Poslovni lideri, direktori i menadžeri često, i to vrlo naivno, upadaju u ovu privlačnu zamku. Tvrtke se potajno nadaju da će primjenom umjetne inteligencije drastično, možda i prepoloviti, smanjiti troškove razvoja softvera i značajno ubrzati izlazak svojih novih proizvoda na tržište. Neki od njih čak vjeruju da im uskoro više uopće neće trebati iskusni, skupi senior stručnjaci, te da najkompleksnije sustave u pozadini mogu održavati manji timovi junior programera potpomognuti naprednim algoritmima. Glavno očekivanje je da AI u potpunosti preuzima sav kognitivni teret, dok ljudi postaju samo puki nadzornici koji potvrđuju gotove rezultate jednim klikom miša.

Zašto je ta priča pogrešna ili nepotpuna

Problem nastaje onog istog trenutka kada izađemo iz zaštićenog okvira jednostavnih zadataka, školskih primjera, "Hello World" aplikacija i poznatih predložaka koji se ponavljaju tisućama puta na internetu. Istina je da su AI alati doista nevjerojatno izvrsni u generiranju rutinskog, ponavljajućeg koda, pisanju osnovnih jediničnih testova ili prevođenju sintakse iz jednog programskog jezika u drugi. Na toj razini, oni funkcioniraju kao izvanredno napredan alat za automatsko dovršavanje koda na steroidima, štedeći dragocjeno vrijeme.

Međutim, ključno je shvatiti da oni nemaju apsolutno nikakvo stvarno razumijevanje onoga što zapravo rade. Oni ne razumiju širi i dublji kontekst sustava u kojem operiraju. Ne shvaćaju vašu specifičnu, često vrlo zapetljanu poslovnu logiku, niti mogu unaprijed predvidjeti kompleksne sigurnosne ranjivosti koje nastaju nepredviđenom interakcijom stotina različitih komponenti i mikroservisa.

Kada AI asistent generira pedeset ili stotinu linija koda u samo nekoliko sekundi, to na prvi pogled izgleda impresivno, gotovo kao prava čarolija. Ali netko od krvi i mesa taj kod mora vrlo pažljivo pregledati, razumjeti svaku pojedinu liniju i, što je najvažnije, dugoročno ga održavati. Vrlo često taj impresivno generirani kod sadrži suptilne, skrivene logičke greške koje glatko prolaze prve površne testove. Često koristi zastarjele, neefikasne ili čak nesigurne programske biblioteke samo zato jer su one bile statistički najzastupljenije u golemim setovima podataka na kojima je taj jezični model treniran. Konačno, taj kod gotovo nikada ne prati specifične interne standarde, konvencije i specifičnu arhitekturu vaše vlastite tvrtke.

Vrijeme koje inženjeri na početku uštede na pukom, brzom tipkanju po tipkovnici, vrlo se često kasnije višestruko potroši na iscrpljujuće debagiranje i popravljanje onoga što je umjetna inteligencija u startu potpuno pogrešno pretpostavila. Zapravo, paradoksalno je da, umjesto da zamijene prave inženjere, ovi moderni alati zahtijevaju od njih još višu, a ne nižu razinu stručnosti. Samo doista iskusan programer može na prvi, brzi pogled prepoznati dugoročno loš arhitektonski prijedlog ili pronaći onu suptilnu sigurnosnu rupu u kodu koji inače izgleda sasvim savršeno, čisto i uredno formatirano. Juniori koji danas slijepo i bezrezervno vjeruju AI alatima nesvjesno stvaraju ogromne planine tehničkog duga koji će se kasnije mjesecima, pa i godinama, bolno i skupo rješavati.

Posljedice u stvarnom svijetu

U stvarnom, nemilosrdnom svijetu modernog poslovanja i razvoja softvera, dugoročne posljedice ovog opasnog nerazumijevanja bit će izuzetno opipljive i financijski bolne. Najveći gubitnici u cijeloj ovoj novoj industrijskoj situaciji bit će upravo one tvrtke koje pokušaju na silu i prebrzo optimizirati svoje razvojne troškove na način da će jednostavno zamijeniti skupe, iskusne seniore puno jeftinijim, neiskusnim radnicima naoružanim isključivo AI alatima. Njihov tehnički dug će početi rasti eksponencijalno. Softverski sustavi koje izgrade na takvim klimavim temeljima bit će iznimno krhki, neoptimizirani i nevjerojatno teški za bilo kakvu buduću nadogradnju ili promjenu.

Kada neminovno dođe do prvog ozbiljnog pada produkcijskog sustava, gubitka korisničkih podataka ili velikog sigurnosnog incidenta usred noći, generativna umjetna inteligencija sasvim sigurno neće moći uskočiti u tri ujutro i magično riješiti problem. Rješavanje takvih kriznih situacija zahtijeva duboko, ljudsko razumijevanje načina na koji cijeli taj kompleksni sustav diše i međusobno komunicira.

S druge strane, pravi i dugoročni pobjednici ove nove tehnološke revolucije bit će upravo oni inženjeri koji na vrijeme nauče efikasno, pametno i kritički koristiti AI isključivo kao alat za vlastito osnaživanje. Oslobađanjem svog dragocjenog vremena od dosadnih, repetitivnih zadataka poput pisanja osnovnog, šablonskog koda, oni napokon mogu usmjeriti svu svoju kreativnu mentalnu energiju na ono što je zaista bitno: rješavanje pravih, kompleksnih inženjerskih problema, dizajniranje stabilnih i robusnih softverskih arhitektura, razgovor s korisnicima i optimizaciju ukupnih sistemskih performansi. AI im zasigurno neće tako skoro oduzeti njihov posao, već će ih samo učiniti neizmjerno produktivnijima, bržima i samim time puno vrednijima na otvorenom tržištu rada.

Također, u bliskoj budućnosti vidjet ćemo snažan porast važnosti specifičnih vještina poput analitičkog čitanja tuđeg koda, provođenja kvalitetnih code review procesa i dizajniranja složene softverske arhitekture. Puko pisanje linija koda polako postaje najjeftiniji i najtrivijalniji dio cjelokupnog razvojnog procesa, dok njegovo duboko razumijevanje, osiguravanje najviše razine kvalitete i logično uklapanje u funkcionalnu cjelinu postaju uvjerljivo najvrednije i najtraženije inženjerske vještine.

Završni stav

Stara, dobro poznata izreka u tehnološkim krugovima danas polako dobiva svoju moderniju i puno točniju verziju: umjetna inteligencija vas u skorije vrijeme sasvim sigurno neće zamijeniti kao programera, ali bi vas vrlo lako i vrlo brzo mogao zamijeniti neki drugi programer koji zna kako pametno i učinkovito koristiti umjetnu inteligenciju u svom svakodnevnom radu. AI je danas iznimno koristan, a u mnogim situacijama i potpuno nezamjenjiv asistent, ali još uvijek nije ni blizu tome da postane pravi, samostalni i pouzdani inženjer. Kritičko inženjersko razmišljanje, godine skupljenog iskustva i duboko ljudsko razumijevanje šireg poslovnog konteksta ostaju i dalje isključiva ljudska domena te apsolutni ključ svakog uspješnog softverskog inženjerstva u godinama koje dolaze.


Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef

Povezano

Pročitajte i ovo

Još nekoliko objava koje šire kontekst oko tema, kompanija i AI trendova iz ove priče.

Ilustracija razlike između današnjih AI alata i opće umjetne inteligencije
Analiza

Zašto AGI nije ni blizu usprkos obećanjima tehnoloških divova

Hype oko opće umjetne inteligencije zamagljuje stvarna ograničenja današnjih jezičnih modela.

Ilustracija uz vijest o AlphaGenome Atlasu
AI vijesti

DeepMind predstavio moćni AlphaGenome Atlas

Nova baza podataka koja sadrži predviđanja za 9 milijardi mogućih jednoslovnih mutacija u ljudskom genomu.

Ilustracija uz komentar: Umjetna inteligencija i stvarna produktivnost developera
Analiza

Umjetna inteligencija i stvarna produktivnost developera

Zašto AI alati za programiranje udaraju u zid složenosti i zašto pisanje koda nije jedini posao inženjera.