Istraživači Microsofta i Sveučilišta Cambridge, kreirali su računalni sustav nazvan DeepCoder te riješili pomoću njega osnovne izazove koji se programerima postavljaju na natjecanjima u pisanju koda. Njihov pristup mogao bi omogućiti i laicima da izrađuju jednostavne programe, bez znanja pisanja programskog koda.
"Ljudi bi odjednom mogli postati puno produktivniji", ističe Armando Solar-Lezama, stručnjak s MIT-ja, koji nije sudjelovao u razvoju navedenog sustava, a prenosi New Scientist. "Mogli bi izrađivati sustave koje prethodno ne bi bili u stanju napraviti", dodaje.
Veselica za obične smrtnike
Krajnje pojednostavljeno rečeno, sve što bi laiku bilo potrebno za ostvarenje svoje zamisli o nekom programu, jest upravo da ima samo tu ideju, a prepusti pisanje koda DeepCoderu, opisuje Marc Brockschmidt, jedan od kreatora DeepCodera iz Microsoftovog istraživačkog tima na spomenutom Sveučilištu Cambridge.
DeepCoder koristi tehniku programske sinteze, odnosno kreiranja novog programa korištenjem linija koda koje preuzima iz već postojećeg softwarea, baš poput pravog programera. Važući efekte unosa i rezultata svakog djelića koda, DeepCoder uči koji su njegovi dijelovi potrebni da bi se postigao zadani rezultat.
Brži i efikasniji od čovjeka
Računalna inteligencija u tom smislu može kudikamo efikasnije i brže pretraživati djeliće koda iz drugog softwarea te isti može koristiti na načine koji ljudskim programerima ne bi, zbog navedenog ograničenja, mogli uopće i pasti na pamet. Dodatno, DeepCoder sortira djeliće koda po njihovoj vjerojatnoj korisnosti.
Sve to čini DeepCoder puno bržim od njegovih prethodnika. Zapanjujuća činjenica jest da je DeepCoder izradio funkcionalne programe u tek djeliću sekunde! Prethodnim sustavima za isti posao bile su potrebne minute te mnogo pokušaja i pogreški pri slaganju funkcionalnog koda.
Uči tijekom svakog novog zadatka
DeepCoder ima kapacitet za progresivno učenje pa se rješavanjem svakog novog problema on zapravo nadograđuje i čini sam sebe efikasnijim i boljim.
Potencijalna iskoristivost ove tehnologije praktički je nesaglediva. "Mogla bi značajno umanjiti količinu napora potrebnu za razvoj kodova", ističe Solar-Lezama.
Istovremeno, Solar-Lezama ne misli da će ta tehnologija umanjiti potrebu za programerima, odnosno oduzeti im posao. Programeri će se moći baviti sofisticiranijim stvarima, tvrdi on.
Otvorio vrata nerealnom i nemogućem
U ovom je trenutku DeepCoder jedino sposoban rješiti programske izazove koji uključuju oko pet linija koda. No, korištenjem pravog jezika za kodiranje, nekoliko je linija sve što je potrebno za prilično komplicirane programe.
"Izrada doista velikog komada koda u jednoj liniji teška je i potencijalno nerealna. No vrlo veliki dijelovi koda izrađuju se upravo sastavljanjem manjih dijelova koda", zaključuje Solar-Lezama.
DeepCoder ima potencijal učiniti upravo to - nerealno ili nemoguće.