Evo jedna birtija, a stručna tema
Ovo je jedan moj osvrt na skorašnja događanja u računalnoj/algoritamskoj tehnologiji…od momenta sadašnjeg, pa do momenta kada ćemo pričati ravnopravno sa računalima.
Moment sadašnji je okarakterizan sa poprilično dobrim prepoznavanjem ljudskog glasa, koji se računalno može pretočiti u slova, prepoznatljive riječi…rečenice. Daleko je to od razgovora sa računalom, ali dobar temelj kojeg smo postavili tipkajući. A to tipkanje će po meni postati povijest, rame uz razme tamo negdje gdje su sada pisaće mašine…
Prvi korak koji ćemo napraviti, uvest ćemo mogućnost programiranja gdje će programer moći osnovne naredbe zadati glasovono. Tipa, rečenice:
1.“Za svaki x u listi Osobe” će generirati: for(var x in Osobe){}
2. “Otvori vitičastu zagradu” će generirati {
3. “Zatvori vitičastu zagradu” će generirati }
4. “Pomaknu kursor za jedno ulijevo” će pomaknut kursor u lijevo.
itd…
…znači, u startu ćemo imati set naredbi koji zamjenjuju tipkovnicu, i koji se na prvu ruku i neće činiti nešto jednostavnijim pristupom.
No, ljudi će brzo prepoznati obrasce koji će se ponavljati, npr iz gornjeg primjera rečenica, komande 2,3,4 će vrlo često ići jedna za drugom kako bi korisniko otvorio vitičaste zagrade i pozicionirao kursor unutar njih.
To će stvoriti potrebu da se ugradi jedna komanda koja će glasiti ovako:
"Računalo, hajde da moje zadnje tri komande nazovemo komandom: ‘daj vitičaste’ "
…imamo i danas nešto takvo, i zovemo to snippeti.
Snipeti su odlična stvar i čini mi se premalo zastupljeni s obzirom što nude…no glasovni snippeti će biti puno zastupljeniji…lako će se glasovno stvarati i povrat uloženog truda će biti puno brži.
Tako će se razvijati novi jezik s kojim ćemo govoriti računalu, gdje će sve kompleksniji i kompleksniji setovi naredbi pronalaziti svoju formu u obliku riječi. …baš kao što je latinski jezik, korijen “svih” jezika, evoluirao u mnogobrojne jezike koje danas poznajemo.
Tako i ovdje, setovi riječi (jezik jel) će nastajati unutar određenih zajednica, većih timova koji će zajedničkim jezikom stvarati svoje programe. Veći jezici će se nametnuti kao standardi…gdje će opet unutar svakog od tih jezika nastajati određena “narječja” unutar zajednica koji će koristiti neki “gotov” jezik i dodatno ga modulirati prema svom štihu…
Ne valjda zaboraviti, da će se cijelo vrijeme raditi na što “mekšem razumjevanju” …kako SQL naredbe doslovice slijede tok engleskog jezika, tako će se i ovdje naredbe stapati u ono što bi nativno rekli programu…tj. onako kako bi razmišljali.
Tako da će se vrata svijeta programiranja otvoriti svima onima koji su se plašili znakova: "x, y, if, else,for " …i oni će shvatiti kako je “lako” pričati sa računalom.
Mala djeca će od malena pričati sa tabletima…i razvijati sa njima vlastite jezike. Neće ni postojati jasna razlika kada je dijete programer…a kada samo korisnik tableta. …kroz razgovor će se to poprilično stopiti.
Recimo googlanje, koliko će biti preciznije i točnije kada će se nativno govorom moći precizirati točno što se traži. Da li je to korištenje (u ovom slučaju Google-a) …ili je to kreiranje programa/naredbe koja precizno pretražuje? I jedno i drugo, zato kažem da će djeca biti istovremeno i programeri i korisnici… isto kao što smo mi ljudi međusobno svako svakome programer njegovog uma, usto smo si svi oslonac i pomoć. (kako tko, neće ni u računalnoj tehnologiji sve biti na friendly)
No kako se to sve dešava paralelno…treba imati na umu, da otvaranje tako velikih vrata (kao dovoljno velika do sad već nisu otvorena) …će još dodatno ubrzati ionako već veliki eksponencijalni napredak računalne tehnologije. Što će za posljedicu imati još pametnije AI sustave, koji će se usmjeriti na dodatno poboljšanje te verbalne interakcije sa računalom.
Da ne bude da očekujem previše od budućeg AI-a, današnji je već gotovo sposoban odraditi sljedeće zadatke…
…znači, bit će cilj da taj razgovor sa računalom bude dvosmjeran. Da mi pričamo…ali da i on priča…da postoji feedback.
Recimo, naučili smo računalo da naredba “vrati kursor za jedan” pomakne kursor za jedno polje u lijevo. Isto tako smo ga naučili da recimo ista ta naredba znači da vrati kursor za jednu liniju prema gore. Mi i ne znajući da smo doveli dvije naredbe u konflikt, kod sljedećeg zadavanja naredbe: “vrati kursor za jedan” , isti će nas priupitati: "Za gore ili za lijevo?"
Ovo je krut primjer koji pokazuje da će AI biti sposobna prepoznati konflikte u jeziku koji će nastati, te će nam znati izaći u susret…pitati nas kako i što…sugestirati što može napraviti…itd.
Također AI, nam neće dosađivati uvijek sa istim pitanjima za iste konflikte koji se ponavljaju u sličnom okruženju. Ukoliko ćemo mi par puta pokazati da u istim okolnostima biramo isti put, AI će to prepoznati i za takve konflikte nam više neće dodijavati svaki put. Naravno, ako se desi da jednom krivo pretpostavi što smo htjeli…a nama se pred očima ukaže neželjena metoda…mi ćemo lako upaliti konflikt pitanjem: “Računalo, što je ovo? Nisam tako mislio…”. Tada ćemo dobiti mogućnost svjesnog odabira razrješavanja konflikta, a AI će iz toga nastojati naučiti zašto trenutne okolnosti drugačije traže rješavanje konflikta.
Nadam se da ovo jasno asocira na našu podsvijest koja nekada radi po svome bez da se pitanje provlači u svijest. I kao takvo, podsvijest zna da je dobro odradila posao ukoliko se svijest ne probudi zbog “neželjenog stanja”. I podsvijest također trenira iz svakog svjesnog biranja…tako i spremamo naučene obrasce u podsvijest.
Na isti način, nesvjesni koliko treniramo svakodnevno svoju podsvijest…na isti način ćemo trenirati i podsvijest svog računala da funkcionira sukladno našim podsvjesnim obrascima. Računala će stoga biti i poprilično personalizirana prema onom glasu koji mu se obraća.
Naravno, doći će i do naredbi tipa: “Računalo, ovo ti smijem samo ja narediti…” ili “Ovo smiješ samo meni pokazati” …što će pomaknuti na jedan novi level enveriomente koj se danas nazivaju “develop”, “production” …itd.
U konačnici, to će evoluirati do jednog enormnog kompleksnog sustava, gdje će razgovor programera sa računalom započeti otprilike ovako:
Osoba: “Računalo, ajmo napraviti web stranicu”
Računalo: “Kakvu”?
Osoba: “Stranica će biti oglasnik za aute”
Računalo: “Imaš li kakve wireframeove…ili da ti ja sugestiram neke varijante?”
…itd …itd
…u konačnici, to će biti razgovor kakav vode danas programer vs klijent, s time da će računalo biti “iskusniji” sugovornik za specijaliziranu tematiku.