Kako umjetna inteligencija utječe na razvoj softvera

IT profesionalci su podijeljeni: jedni vjeruju da nas samo nekoliko godina dijeli od kvalitetnog programskog koda koji će kreirati umjetna inteligencija, dok su drugi uvjereni da je samo ljudski um dovoljno kreativan da bi stvorio jedinstveni kod

u 12:28 Zadnja izmjena: 22.08.2017 u 12:34
127
Kako umjetna inteligencija utječe na razvoj softvera

Mnogo je toga rečeno o tome kako umjetna inteligencija utječe na naše živote, radna mjesta i kako mijenja svijet u kojem živimo. Tehnologija je otišla toliko daleko da umjetna inteligencija podučava ljude koji nemaju tehnička znanja kodiranju i kreiranju složenih stvari. Jedno od pitanja koje se nameće jest što to znači za budući razvoj softvera, piše portal techology.org.

Sve veća uloga umjetne inteligencije

Umjetna inteligencija prožima tehnološki svijet. Sve više tvrtki iskazuje interes za primjenu umjetne inteligencije u svojim radnim procesima. Upwork, globalna platforma za zapošljavanje freelancera, navodi da je umjetna inteligencija druga najbrže rastuća vještina i da njena popularnost stalno raste.

Softverski programeri moći će koristiti temeljne tehnologije umjetne inteligencije kao što su strojno učenje (machine learning), dubinsko učenje (deep learning), prediktivna analitika i obrada govornog jezika kako bi se kreirale aplikacije za samoučenje. Već danas low-code i no-code platforme čak i bez primjene umjetne inteligencije omogućavaju osobama bez formalnog tehničkog obrazovanja da kreiraju aplikacije. Sve ovo ukazuje da su radna mjesta softverskih programera u opasnosti zbog pada potražnje.

Usprkos svemu, IT profesionalci podijeljeni su oko toga budućeg utjecaja umjetne inteligencije na programiranje. Jedni vjeruju da nas samo nekoliko godina dijeli od elegantnog i brzog programskog koda koji će samostalno kreirati umjetna inteligencija, dok su drugi uvjereni da je samo ljudski um dovoljno kreativan da bi stvorio jedinstveni kod.

Još uvijek sve ovisi o čovjeku

Ništa nam ne pomaže da shvatimo veličinu ljudskog uma više od razumijevanja koliko je teško napraviti računalo čija je inteligencija na razini ljudske. Ljudski mozak najsloženija je kreacija u svemiru.

Stvaranje računala koje množi dva desetoznamenkasta broja u sekundi je jednostavno. Stvaranje računala koje može pogledati psa i na temelju toga utvrditi o kojoj je životinji riječ znatno je teže. No, već smo uspjeli stvoriti stroj dovoljno inteligentan da pobijedi ljudskog šahovskog prvaka. Na pragu smo kreiranja računala koje može s razumijevanjem pročitati odlomak iz knjige namijenjene šestogodišnjoj djeci. Google troši milijarde kako bi to implementirao.

Zadaci koji su za ljudski um “teški”, kao što su složeni izračuni, analiza financijskih tržišta, jezični pregledi i slični, za računalo su jednostavni. Oni pak koje smatramo “jednostavnim”, poput vizije, pokreta, percepcije – za računalo su iznimno zahtjevni.

Općenito govoreći, svaki dio umjetne inteligencije kao sustav strojnog učenja funkcionira toliko dobro koliko je ljudski um tome pridonio. No, teško je predvidjeti hoćemo li ikada moći zamijeniti ljudski doprinos tehnologiji. Podsjetimo se samo da su neka velika otkrića “posljedica” ljudskih grešaka, a greške strojeva također su još uvijek posljedica ljudskih grešaka. Ali umjetna inteligencija može razvojne programere učiniti boljima – “pametnijima” – tako što će provjeriti njihov kod te pružiti odgovarajuću povratnu informaciju. Automatizacija procesa pojednostavnit će znatno posao programera.

Umjetna inteligencija treba podatke

Umjetna inteligencija ima veliku ulogu u kontekstu poslovne inteligencije. Na primjer, da bi se predvidio razvoj poslovanja potrebne su ogromne količina podataka. I to ne samo tekućih podataka, nego i gomila povijesnih podataka kako bi se dobila šira slika na temelju koje će se odrediti zaključci. Umjetna inteligencija ne može prikupiti podatke, ali može ih obraditi prepoznavajući potrebne dijelove koda. Što to znači za programere?

Fokus u poslu razvojnog programera prebacit će se s definiranja algoritama na istraživanje, sastavljanje prikupljanje podataka potrebnih za pametne aplikacije. Iako kompanije iz neinformatičkog sektora još uvijek nisu spremne povjeriti donošenje odluka alatima utemeljenim na umjetnoj inteligenciji i oslanjaju se i dalje na razvoj pouzdanog vanjskog softvera, umjetna inteligencija izvrstan je pomoćnik u svakom istraživanju.

Ako to imamo na umu, ostaje nam nada da će uloga umjetne inteligencije u razvoju softvera biti usredotočena na strojno učenje i rutine dubinskog učenja, te da je ljudski utjecaj neophodan da bi bila učinkovita. Softverski programeri dalje će pisati kôd, ali o prilagodbi i optimizaciji koda brinut će umjetna inteligencija. To će odrediti životni ciklus softvera i specifične vještine potrebne za integraciju umjetne inteligencije.