Zašto AI još uvijek neće u potpunosti zamijeniti programere
Realnost pisanja koda s umjetnom inteligencijom daleko je od marketinških obećanja.
Danas je nemoguće otvoriti portal posvećen tehnologiji, a da vas ne dočeka naslov o tome kako umjetna inteligencija preuzima svijet programiranja. Brojni tehnološki vizionari, kao i tvrtke koje razvijaju ove alate, sugeriraju da je pisanje koda postalo zadatak koji će uskoro u potpunosti obavljati strojevi. Neki čak idu toliko daleko da tvrde kako tradicionalni programeri više neće biti potrebni za nekoliko godina, te da će svatko tko zna napisati jednostavan opis moći stvoriti složenu aplikaciju. Iako su alati poput Copilota i raznih drugih jezičnih modela nedvojbeno donijeli ogromne promjene i postali nevjerojatno korisni za povećanje produktivnosti, stvarnost je ipak bitno drugačija od onoga što nam pokušavaju prodati. Umjetna inteligencija je tu, iznimno je moćna, ali nije ni blizu tome da u potpunosti zamijeni ljudske inženjere. U ovom tekstu ćemo detaljnije istražiti zašto je to tako i što zapravo znači programirati u eri umjetne inteligencije.
Prevladavajuća priča
Glavni narativ koji se trenutno gura u javnosti, a posebno od strane investitora i PR odjela velikih tehnoloških tvrtki, svodi se na ideju "demokratizacije programiranja". Prema tom viđenju, složenost sintakse i arhitekture postaje stvar prošlosti. Umjetna inteligencija može navodno preuzeti specifikacije na običnom ljudskom jeziku i bez ikakvih problema isporučiti gotov, siguran i optimiziran kod. Ova priča posebno privlači menadžment i ljude izvan same struke, jer implicira značajno smanjenje troškova razvoja i brži izlazak proizvoda na tržište. Često se navode impresivni primjeri u kojima AI alati u nekoliko sekundi rješavaju zadatke za koje bi ljudima trebali sati, stvarajući iluziju da je cijeli proces razvoja softvera moguće u potpunosti automatizirati.
Zašto je ta priča pogrešna ili nepotpuna
Problem s ovom prevladavajućom pričom leži u dubokom nerazumijevanju onoga što zapravo predstavlja posao softverskog inženjera. Pisanje samog koda često je najjednostavniji dio posla. Pravi izazovi leže u razumijevanju šireg poslovnog konteksta, prevođenju nejasnih i često proturječnih zahtjeva u logičke strukture, te u dizajniranju sustava koji su skalabilni, sigurni i održivi.
Kada AI alatima zadate konkretan, izoliran problem s jasno definiranim ulazima i izlazima, oni briljiraju. Međutim, pravi projekti rijetko izgledaju tako. Oni se sastoje od tisuća međusobno ovisnih komponenti, složenih baza podataka i specifičnih poslovnih pravila. Umjetna inteligencija, u svom trenutnom obliku, nema sposobnost holističkog razumijevanja cijelog sustava. Ona često generira kod koji izgleda ispravno na prvi pogled, ali koji može sadržavati suptilne greške, sigurnosne propuste ili biti potpuno neprilagođen postojećoj arhitekturi projekta.
Nadalje, održavanje i otklanjanje grešaka (debugging) čine ogromnu većinu vremena u životnom ciklusu svakog softvera. Kada AI generira kompleksan kod, a taj kod se ponaša neočekivano u produkciji, pronalaženje i ispravljanje greške može biti izuzetno teško za nekoga tko ne razumije dublje principe rada tog koda. AI može predložiti rješenje za grešku, ali bez iskusnog inženjera koji će potvrditi je li to rješenje optimalno i hoće li uzrokovati nove probleme negdje drugdje, uvođenje takvih promjena je poput hodanja po minskom polju zavezanih očiju. Znanje i iskustvo inženjera ključni su za navigaciju kroz ove složene situacije koje alati jednostavno ne mogu predvidjeti.
Posljedice u stvarnom svijetu
Ako nekritički prihvatimo narativ o AI programerima, posljedice mogu biti ozbiljne. Tvrtke koje odluče drastično smanjiti broj inženjera u korist jeftinijih "operatera AI alata" vrlo brzo će se suočiti s dugoročnim problemima. Generirani kod brzo može postati ono što se u struci naziva "tehnički dug" – neuredan, teško održiv i nestabilan temelj za daljnji razvoj. Bez dubokog razumijevanja sustava, svaka nova promjena ili nadogradnja postat će sve skuplja i riskantnija.
S druge strane, programeri koji u potpunosti ignoriraju ove alate naći će se u zaostatku. Oni koji prihvate AI kao moćan alat koji im omogućuje da automatiziraju dosadne zadatke, brže pronalaze rješenja za poznate probleme i fokusiraju se na arhitekturu i dizajn, postat će iznimno produktivni i cijenjeni. Posao će se transformirati; manje će se svoditi na tipkanje, a više na pregledavanje koda, usmjeravanje umjetne inteligencije i rješavanje arhitektonskih izazova. Oni će postati svojevrsni urednici i arhitekti, a ne samo pisci koda.
Završni stav
Umjetna inteligencija neće zamijeniti programere, barem ne one prave. Ono što će se dogoditi jest evolucija same profesije. Softverski inženjeri koji koriste AI zasigurno će zamijeniti one koji ga ne koriste. AI je izvanredan alat, ali i dalje je samo alat – nedostaje mu razumijevanje konteksta, kritičko razmišljanje i odgovornost za dugoročne posljedice, što su sve ključne odlike dobrog inženjera. Dok god je tako, ljudski um ostat će neizostavan u stvaranju pouzdanog i kvalitetnog softvera.
Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef



