Iluzija potpuno autonomnog programiranja i stvarna uloga AI alata
Dok svijet sanja o strojevima koji sami pišu kod, inženjering postaje teži.
Kada otvorite bilo koji tehnološki portal, dočekat će vas naslovi o tome kako umjetna inteligencija već sada piše složene aplikacije u sekundi i kako će programeri uskoro postati višak. Tvrdnje su hrabre, a obećanja ogromna. Prodavači tehnologije i investitori uvjeravaju nas da smo na korak do potpuno autonomnog razvoja softvera. Međutim, kada zakoračite u stvarni svijet softverskog inženjeringa i pokušate primijeniti te alate na produkcijskim sustavima, slika postaje znatno drugačija i mnogo složenija.
Prevladavajuća priča
Glavni narativ koji danas dominira jest onaj o neizbježnoj automatizaciji programerskog posla. Prema tom pogledu, veliki jezični modeli napredovali su do te mjere da mogu razumjeti poslovne zahtjeve, dizajnirati arhitekturu i napisati savršen kod bez ljudske intervencije. Smatra se da će uloga čovjeka biti svedena na jednostavno davanje uputa na prirodnom jeziku, dok će stroj obaviti sav teški tehnički posao.
Ova priča privlačna je menadžmentu jer obećava drastično smanjenje troškova i ubrzanje isporuke. Alati poput GitHub Copilota i raznih autonomnih agenata predstavljaju se ne samo kao asistenti, već kao zamjene za cijele timove. Obećanje je jednostavno: uložite u AI i vaši će problemi sa softverskim razvojem nestati.
Zašto je ta priča pogrešna ili nepotpuna
Problem s ovom pričom je što potpuno ignorira prirodu softverskog inženjeringa. Pisanje samog koda, odnosno tipkanje linija u editoru, samo je mali dio posla jednog inženjera. Pravi izazov leži u razumijevanju kompleksnih, često dvosmislenih poslovnih zahtjeva, integraciji različitih sustava koji nisu dizajnirani da rade zajedno te održavanju koda koji mora evoluirati kroz godine.
Umjetna inteligencija danas je fantastična u rješavanju ograničenih, dobro definiranih problema. Ona može brzo generirati boilerplate kod, predložiti rješenje za poznati algoritam ili pomoći u pisanju testova. Međutim, kada sustav naiđe na rubne slučajeve, kada se zahtjevi mijenjaju usred razvoja ili kada treba dizajnirati arhitekturu koja će podržati milijune korisnika, AI alati redovito zakazuju. Njihova ograničenja proizlaze iz nedostatka pravog razumijevanja konteksta i nemogućnosti sagledavanja šire slike sustava.
Nadalje, generirani kod često sadrži suptilne greške ili sigurnosne propuste koje je iznimno teško uočiti na prvi pogled. Umjesto da manje vremena provode uz kod, inženjeri sada moraju trošiti više vremena na pregledavanje i debugiranje koda koji je stroj generirao. Paradoksalno, uvođenje AI alata nije smanjilo potrebu za ljudskim stručnjacima; samo je promijenilo fokus njihovog rada.
Posljedice u stvarnom svijetu
Ako nastavimo vjerovati u iluziju potpune autonomije, suočit ćemo se s ozbiljnim posljedicama. Tvrtke koje otpuste svoje inženjere i oslone se isključivo na AI alate brzo će otkriti da njihovi sustavi postaju neodrživi. Tehnički dug će rasti eksponencijalno jer AI modeli nemaju osjećaj za dugoročno održavanje arhitekture. Dobit ćemo brže generiran, ali teže održiv softver.
S druge strane, inženjeri koji prihvate ove alate kao moćne asistente, a ne kao zamjene, bit će u velikoj prednosti. Oni će moći brže prototipirati, lakše savladavati nove tehnologije i automatizirati dosadne dijelove posla. Gubitnici u ovoj tranziciji neće biti programeri općenito, već oni programeri koji odbijaju prilagodbu i one tvrtke koje misle da mogu automatizirati ljudski intelekt i iskustvo.
Završni stav
Umjetna inteligencija nije došla da zamijeni programere; došla je da promijeni način na koji oni rade. Dok alati postaju sve pametniji, potreba za dubokim inženjerskim razumijevanjem, kritičkim razmišljanjem i rješavanjem kompleksnih sistemskih problema ostaje ključna. Iluzija potpuno autonomnog programiranja možda je dobra za prikupljanje investicija, ali u stvarnom svijetu, vrhunski softver i dalje zahtijeva ljudski um na čelu procesa.
Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef



