Analiza4 min čitanja

AI alati su odlični za početak, ali loši za složene probleme

Zašto je stvarnost programiranja s umjetnom inteligencijom znatno drugačija od marketinških obećanja.

S

Autor

Shtef

Objavljeno

Ilustracija programiranja i umjetne inteligencije

AI alati su odlični za početak, ali loši za složene probleme

Stvarnost programiranja s umjetnom inteligencijom daleko je od marketinških obećanja

Ako vjerujete velikim marketinškim kampanjama i pažljivo režiranim demonstracijama, umjetna inteligencija već sada može sama programirati cijele aplikacije od početka do kraja. Obećanje zvuči nevjerojatno privlačno: dovoljno je samo opisati što želite običnim jezikom, a sustav će u sekundi napisati savršen, optimiziran kod. No, svaki inženjer koji svakodnevno koristi ove alate zna da je stvarna situacija na terenu znatno drugačija, složenija i često puno frustrirajuća od te idealizirane slike koju nam prodaju velike tehnološke kompanije.

Kada pogledamo širu sliku, jasno je da se nalazimo u razdoblju velikih očekivanja. Svakodnevno slušamo o novim modelima koji navodno ruše sve rekorde na testovima programiranja, što stvara iluziju da je rješavanje najtežih inženjerskih problema postalo trivijalno. Zbog toga je važno razdvojiti korisne aspekte ove tehnologije od pukog pretjerivanja.

Prevladavajuća priča

Industrija nas agresivno uvjerava da alati temeljeni na velikim jezičnim modelima označavaju kraj klasičnog programiranja kakvog poznajemo. Prevladavajuća priča kaže da će programeri uskoro postati isključivo nadzornici koji samo odobravaju kod koji generira umjetna inteligencija, dok će teški dio posla odrađivati strojevi.

Demonstracije redovito pokazuju impresivne rezultate. U samo nekoliko sekundi, modeli stvaraju osnovne web stranice, rješavaju jednostavne algoritamske zadatke ili pišu kratke skripte za obradu podataka. Vizualno to izgleda kao magija, posebno osobama koje nemaju duboko tehničko zaleđe. Zbog toga mnogi menadžeri i investitori vjeruju da će razvoj softvera postati nevjerojatno brz, jeftin i jednostavan, te da će novi alati potpuno zamijeniti potrebu za godinama učenja i stjecanjem dubokog tehničkog znanja.

Nadalje, stvara se pritisak unutar industrije da se ovi alati moraju koristiti pod svaku cijenu, uz pretpostavku da svatko tko ih ne koristi automatski zaostaje. To stvara atmosferu u kojoj se brzina izbacivanja koda stavlja ispred njegove kvalitete i dugoročne održivosti.

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

Problem nastaje onog trenutka kada izađemo iz zaštićenog okvira jednostavnih primjera i uđemo u stvarni, neuredni svijet složenih produkcijskih sustava. Umjetna inteligencija doista briljira u pisanju početnog koda, postavljanju osnovne arhitektonske strukture, generiranju testova i rješavanju rutinskih zadataka. Međutim, kada aplikacija naraste i kada se pojave nepredviđeni problemi koji zahtijevaju duboko razumijevanje konteksta, alati brzo pokazuju svoja stroga ograničenja.

Kada model mora razumjeti zamršenu poslovnu logiku specifičnu za određenu industriju, ili kada mora raditi s naslijeđenim kodom punim tehničkog duga, njegovi savjeti često postaju beskorisni. U najgorem slučaju, ti savjeti postaju opasni. Generativni modeli nemaju stvarni, široki kontekst o tome kako različiti dijelovi distribuiranog sustava komuniciraju u stvarnom vremenu. Oni ne razumiju suptilne utjecaje promjene jednog dijela koda na performanse cijele baze podataka.

Umjesto da riješe složeni problem, alati često samouvjereno predlažu promjene koje uvode nove, skrivene greške. Ove greške su često teške za otkriti jer generirani kod na prvi pogled izgleda točno i ispravno formatirano. Programeri tada provode znatno više vremena pokušavajući razumjeti, ispraviti i testirati taj generirani kod nego što bi im trebalo da su sami pažljivo napisali rješenje od nule. Paradoksalno, alat koji je trebao uštedjeti vrijeme postaje izvor novog tehničkog duga i dodatnog stresa.

Uz to, modeli su skloni takozvanim halucinacijama. U kontekstu programiranja, to znači da će izmisliti funkcije u postojećim bibliotekama ili predložiti korištenje metoda koje uopće ne postoje. Kada programer slijepo kopira takvo rješenje, gubi dragocjene sate pokušavajući shvatiti zašto se kod ne može kompajlirati.

Posljedice u stvarnom svijetu

Ako tehnološke tvrtke i dalje nastave slijepo vjerovati da umjetna inteligencija može bez problema zamijeniti stručnjake s godinama iskustva, suočit će se s ozbiljnim operativnim problemima. Jedna od najvažnijih posljedica odnosi se na mlađe programere. Junior inženjeri koji se u potpunosti oslanjaju na generirani kod mogli bi propustiti ključnu priliku za razvoj dubokog razumijevanja sustava. Rješavanje teških problema, traženje grešaka i razumijevanje temeljnih principa su procesi kroz koje inženjeri rastu i uče. Ako model to radi umjesto njih, gubimo cijelu generaciju stručnjaka koji bi u budućnosti trebali graditi složene arhitekture.

S druge strane, iskusni inženjeri sve više svog dragocjenog vremena provode kao revizori, čisteći loše, neoptimizirano napisano rješenje koje je generirao jezični model. Umjesto da stvaraju nove vrijednosti, oni popravljaju greške u arhitekturi koje su nastale zbog prevelikog povjerenja u automatizirane alate. To dovodi do nezadovoljstva i pada stvarne produktivnosti.

Tvrtke koje odluče drastično smanjiti broj inženjera u naivnoj nadi da će alati u potpunosti nadoknaditi taj manjak stručnosti, na kraju će platiti vrlo visoku cijenu. Ta cijena će doći u obliku nestabilnih aplikacija, povećanog broja ispada sustava i ozbiljnih sigurnosnih propusta. Model možda može napisati funkciju za provjeru autentičnosti korisnika, ali ne može razumjeti cjeloviti model prijetnji za određenu aplikaciju. Pravi, dugoročni dobitnici u ovoj industriji bit će isključivo oni koji alate tretiraju i koriste isključivo kao pomoćnike. Oni služe za automatizaciju dosadnih, ponavljajućih zadataka, ostavljajući inženjerima više vremena za kritičko razmišljanje, dizajn sustava i inovacije.

Završni stav

Alati za programiranje temeljeni na velikim jezičnim modelima i umjetnoj inteligenciji su nevjerojatno korisni i izvrsni asistenti, ali su izuzetno loši samostalni inženjeri. Nećemo prestati programirati niti će naša struka nestati, već ćemo se morati prilagoditi novom načinu rada. U tom novom svijetu, sposobnost dubokog razumijevanja i kritičke analize onoga što sustav generira bit će neusporedivo važnija od same brzine pisanja čistog koda. Stručnost, arhitektonsko znanje i oprez pri radu sa složenim sustavima nikada nisu bili važniji nego danas.


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

Starija objava
Povezano

Pročitajte i ovo

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

Ilustracija transparentnosti sustava umjetne inteligencije
Analiza

Transparentnost autonomnih agenata mora biti standard

Zašto tajnost oko incidenata s umjetnom inteligencijom dugoročno šteti cijeloj industriji.

Ilustracija kibernetičke sigurnosti i umjetne inteligencije
AI vijesti

Hugging Face traži radikalnu transparentnost od OpenAI-ja

CEO Hugging Facea traži da OpenAI objavi detalje napada njihovog autonomnog agenta.

Otvoreni kod i infrastruktura
Analiza

Razvoj AI-ja: Zašto otvoreni kod ne garantira pobjedu

Dok svi slave otvorene modele, stvarna bitka za umjetnu inteligenciju vodi se oko skupe hardverske infrastrukture.