AI alati za programere: Između marketinga i stvarne produktivnosti
Stvarna vrijednost AI pomoćnika leži u rješavanju monotonih zadataka, a ne u potpunoj zamjeni ljudskog inženjerstva i rješavanja problema.
Svi smo vidjeli senzacionalističke najave i demonstracije. Samo opišite što točno želite, kliknite jedan gumb i vaša umjetna inteligencija će isporučiti gotovu aplikaciju potpuno spremnu za produkciju, bez ijedne greške. Prema najnovijim marketinškim kampanjama najvećih tehnoloških tvrtki, programiranje kakvo danas poznajemo i prakticiramo gotovo je postalo stvar prošlosti. U stvarnosti, svaki softverski inženjer koji je ozbiljnije pokušao izgraditi složeniji, poslovni sustav oslanjajući se isključivo na moderne AI alate, vrlo brzo je shvatio jednu ključnu stvar: pisanje početnog, sirovog koda je tek onaj lakši i znatno manji dio pravog posla u razvoju softvera. Problem nije u tome jesu li ovi alati korisni, već u potpunom nerazumijevanju onoga što svakodnevni posao programera zapravo obuhvaća i koliko je kompleksan stvarni razvojni ciklus unutar poslovnog okruženja.
Prevladavajuća priča
Prevladavajuća priča koju slušamo, čitamo i gledamo posljednjih mjeseci glasi da su AI alati već u ovom trenutku sposobni samostalno pisati desetke tisuća linija složenog koda potpuno bez greške. Od raznih komercijalnih asistenata poput Copilota, preko najnovijih jezičnih modela otvorenog koda koji su nam dostupni, pa sve do onih iznimno naprednih autonomnih sustava koji navodno mogu sami dizajnirati cijelu arhitekturu i strukturu softvera – javnosti se kontinuirano stvara dojam da je neposredan ljudski rad u razvoju softvera postao gotovo sasvim suvišan. Prema toj popularnoj priči, jedina tehnička vještina koja će nam svima u bližoj budućnosti uopće trebati je takozvani "prompt engineering", odnosno vještina preciznog zadavanja vrlo detaljnih tekstualnih uputa jezičnim modelima.
Financijski i poslovni investitori su naravno potpuno oduševljeni jer takva vizija razvoja automatski znači dramatično manje financijske troškove poslovanja, manji broj potrebnih zaposlenika i znatno brži razvoj novih proizvoda na tržištu. S druge strane, mnogi mladi stručnjaci i takozvani junior programeri s pravom se osjećaju iznimno nesigurno, preplašeno i stalno se pitajući ima li njihova tek započeta karijera i odabrano zanimanje uopće ikakvu pravu budućnost. Javno se komunicira i očekuje da će klasični softverski inženjeri s vremenom jednostavno nestati s tržišta rada, a da će ih u potpunosti zamijeniti pametni virtualni asistenti koji ne trebaju pauzu, nikada ne spavaju, ne traže slobodne dane i nikada se ne žale na previše prekovremenih radnih sati.
Zašto je ta priča pogrešna ili nepotpuna
Ova inače vrlo privlačna priča u potpunosti zaboravlja jednu ključnu i neospornu činjenicu: programiranje nije samo obično, puko tipkanje znakova i pisanje koda. Programiranje je prije svega složeno rješavanje problema, dubinsko razumijevanje specifičnih poslovnih zahtjeva vaših klijenata, predviđanje i razmišljanje o rubnim slučajevima, osiguravanje dugoročne stabilnosti i održivosti sustava te planiranje sigurnosti podataka. AI alati su danas uistinu fantastični, brzi i vrlo efikasni u rješavanju malih, specifičnih i potpuno izoliranih problema u kodu. Odlični su za brzo generiranje šablonskog i ponavljajućeg koda, idealni su za pisanje opsežnih i dosadnih rutinskih testova ili za jasno i razumljivo objašnjavanje koncepata nekog potpuno novog i vama nepoznatog softverskog okvira s kojim tek počinjete raditi. Međutim, kada umjetna inteligencija mora aktivno pratiti i održavati kontekst preko više različitih slojeva unutar cijele opsežne aplikacije, ili kada treba samostalno razumjeti izrazito složenu poslovnu logiku i arhitekturu koja nije i nikada neće biti savršeno dokumentirana, tu se ta savršena iluzija naglo i bolno raspada u sitne komadiće.
Prava stvarnost je zapravo takva da moderna umjetna inteligencija generira kod koji na prvi pogled najčešće izgleda izrazito uvjerljivo, elegantno i vrlo profesionalno, ali taj isti kod itekako može sadržavati vrlo opasne suptilne greške, neočekivane velike sigurnosne propuste u arhitekturi ili potpuno neoptimalna i spora programska rješenja koja će kasnije biti noćna mora za održavanje. Umjesto da radimo manje i da puno manje programiramo, mi sada u praksi provodimo znatno više svojih radnih sati pomno čitajući, analizirajući i mukotrpno ispravljajući onaj tuđi kod koji nismo ni sami izvorno napisali. Stvarna zahtjevnost inženjerskog posla nipošto se nije smanjila niti je nestala, već se samo nepovratno promijenila prava priroda našeg svakodnevnog rada – od običnih kreativnih pisaca koda, postali smo strogi recenzenti, ispravljači i revizori koda umjetne inteligencije. Trenutni AI alati u praksi danas najbolje funkcioniraju isključivo kao vrlo brzi, poslušni i pomalo previše samouvjereni junior programeri kojima kao iskusni mentor morate baš svaki put stalno provjeravati obavljeni posao i detaljno popravljati njihove skrivene greške. To je svakako izuzetno korisno, ali vas apsolutno ne oslobađa ljudske profesionalne odgovornosti za isporučeni rad, niti nužno drastično skraćuje ukupno radno vrijeme potrebno za završetak i sigurnu isporuku jednog zaista stabilnog, sigurnog i složenog modernog proizvoda na globalno tržište.
Posljedice u stvarnom svijetu
Ako konačno prihvatimo ovakvu objektivnu stvarnost, dugoročne posljedice su prilično jasne za cijelu IT industriju. S jedne strane, najveći dugoročni gubitnici bit će svakako oni koji lakomisleno vjeruju da mogu u potpunosti preskočiti učenje osnovnih inženjerskih i programskih koncepata te da mogu odmah postati uspješni IT arhitekti oslanjajući se samo na umjetnu inteligenciju. Poslovne tvrtke i korporacije koje u želji za brzim profitom otpuste svoje stručne i iskusne softverske inženjere, naivno misleći da će ih razni AI sustavi potpuno zamijeniti, vrlo brzo će se suočiti s ogromnim i nenaplativim tehničkim dugom te kritičnim poslovnim sustavima koje nitko više na svijetu ne razumije u potpunosti. Kada se jednom dogodi zaista kritična greška u financijskom sustavu na produkciji, niti jedan AI alat vam tu neće brzo i kvalitetno pomoći ako vi i vaš preostali tim ljudi zapravo uopće ne razumijete kako cijeli taj složeni sustav funkcionira daleko ispod površine vidljivog koda.
S druge strane, stvarni i apsolutni pobjednici ove nove tehnološke revolucije bit će upravo oni inženjeri i programeri koji spremno i pametno prihvate umjetnu inteligenciju kao iznimno moćan alat u svom radu, a nikako ne kao vlastitu zamjenu. Iskusni softverski inženjeri koji dobro znaju i umiju jezičnom modelu precizno postaviti prava inženjerska pitanja i, još važnije, kritički analizirati i ocijeniti ponuđene odgovore, postat će nemjerljivo brži i još mnogo produktivniji. Ljudi će ubuduće gubiti puno manje svog dragocjenog vremena na naporno svakodnevno traženje banalnih tipfelera i trivijalnih grešaka u sintaksi te na beskrajno konfiguriranje raznih razvojnih alata, a puno više će se moći napokon fokusirati na onaj zaista važan kreativan posao poput osmišljavanja samog dizajna i stabilne arhitekture sustava, na neprestano poboljšavanje samog korisničkog iskustva te na inovativno i pametno rješavanje nekih pravih, novih i velikih problema na tržištu. Same juniorske radne pozicije će se sigurno morati brzo i značajno transformirati iz temelja; umjesto tradicionalnog i monotonog obavljanja onih najtrivijalnijih i najdosadnijih zadataka koje sada bez problema i greške potpuno samostalno rješava umjetna inteligencija, budući novi inženjeri morat će puno brže, ozbiljnije i temeljnije usvajati stručne vještine kritičke arhitektonske analize i izrazito pažljivog, ljudskog i detaljnog pregleda generiranog programskog koda.
Završni stav
Moderni AI alati namijenjeni za pomoć u svakodnevnom programiranju svakako predstavljaju izvanredan i zaista revolucionaran tehnološki napredak za našu industriju, ali je zaista krajnje vrijeme da svi zajedno kao ozbiljni profesionalci konačno prestanemo vjerovati u razne optimistične marketinške bajke i nestvarne lovačke priče o vrlo brzoj i potpuno bezbolnoj potpunoj automatizaciji cijelog našeg inženjerskog posla. Prava, istinska dugoročna moć i stvarna korisnost umjetne inteligencije u ozbiljnom i profesionalnom razvoju poslovnog softvera nije uopće u tome da nas ljude jednoga dana u potpunosti zamijeni, već je isključivo u tome da nas sve zajedno oslobodi od sporog, repetitivnog i dosadnog mehaničkog tipkanja, kako bismo se napokon u miru mogli posvetiti onome što je najvažnije - pravom, ljudskom, kreativnom, promišljenom i vrlo ozbiljnom softverskom inženjerstvu. Programiranje je još uvijek vrlo sigurno, ali način i alati uz pomoć kojih svakodnevno radimo sasvim sigurno su sada i zauvijek radikalno promijenjeni.
Komentar objavljen na portalu Umjetna Inteligencija Blog by ShtefAI, autor: Shtef



