Kompjuter koji nije znao brojati i druge pripovijetke

Nedavno smo imali uredničko-autorsku raspravu na temu umjetne inteligencije koja bi „htjela biti ravnopravni sudionik u znanstvenim istraživanjima“. Kad pročitam nešto takvo hvatam se za… pa za tipkovnicu

Drago Galić ponedjeljak, 20. travnja 2026. u 06:30

Prije koji tjedan izašla je vijest da je OpenAI najavio „AI-sustav koji bi bio sposoban surađivati sa znanstvenicima i samostalno istraživati“. Ideja se dobro uklapa u svakodnevne senzacionalističke tekstove. Čitamo tako kako je umjetna inteligencija nadmašila te neke valjda glupe znanstvenike ili matematičare. Sama od sebe riješila neki problem koji oni (to jest mi, ljudi), glupi kakvi već jesmo, nismo nikako mogli riješiti!

Ideja da je neki LLM „riješio“ matematički, medicinski, fizikalni ili neki drugi problem jednaka je ideji da je Excel riješio neki problem ili da je Word napisao knjigu. Tko to tvrdi, ne zna razliku između alata i onoga tko ga koristi.

Stvarnost i mašta

Jedna od prednosti računala oduvijek je bila ta što se na njih možemo osloniti na obavljanje dosadnih i repetitivnih zadaća. Jednom kad je neki problem programski riješen računalo će ga uvijek istovjetno izvršavati za iste ulazne parametre.

Dosadno, glupo i pouzdano – ono što volimo kod računala.

Međutim, otkad su se pojavili veliki jezični modeli ljudi kao da su malo pobenavili. Industrija i mediji ih prikazuju kao „inteligentne strojeve“ koji razumiju svijet i uskoro će zamijeniti ljude u različitim poslovima.

Stvarnost je znatno prizemnija.

Jednostavna činjenica je da veliki jezični modeli razumiju stvarnost kao što čep na boci razumije svoju ulogu u začepljivanju boce. Nimalo.

Radi se o statističkom modelu koji u golemoj jezičnoj bazi podataka predviđa koji bi bio odgovarajući slijedni niz tokena. To je njegov odgovor. Svaki token koji proizvede izračunat je kao skup vjerojatnosti koja slijedi iz prethodnih tokena. Koja iduća riječ statistički ima najviše šanse slijediti sve prethodne.

Iako se ovo može činiti kao recept za besmisleno nizanje riječi, konačni rezultat je zadivljujuće dobar. Jezični modeli su trenirani na pravim, ljudskim izmjenama riječi i rečenica, pa iz tog treninga u zadanim okvirima proizvode smislene odgovore na naše upite.

Naravno, ostaje pitanje kvalitete treninga - veliki dio popabirčen je s weba, ali navodno se radi o filtriranim i pregledanim podacima. (Mig-mig, ako to vjerujete…). Procjene govore o otprilike 10^12 ili 10^13 tokena.

Rezultat rada LLM-ova je automatizirani razgovor koji izgleda smisleno, ali koji je, za razliku od klasičnih računalnih programa - nedeterministički. Klasični računalni algoritmi su deterministički. Ovo znači da ulazni skup parametara provučen kroz definirani set operacija na njima uvijek daje iste izlazne rezultate. Primjerice, pretražujete li istu bazu podataka s istim upitom na istoj platformi, uvijek ćete dobiti identičan odgovor. Razgovor s LLM-om uvijek daje varijacije u rezultatima, katkada posve pogrešne odgovore, katkada halucinacije i ulizivačko izmišljanje.

Evo nekoliko primjera iz naše prakse.

Izbroj mi polja

Zadatak je bio izbrojati crna i siva polja u matrici 15×15, sličnoj križaljci. Konkretno, mapa igre Knight Lore rađene prije više od četiri desetljeća za 8-bitna računala, a koju pokušavam prebaciti na Agon Lite koristeći AI. Napredujemo mravljim koracima. Mapu možete vidjeti na slici dolje.

Izgleda kao nešto što bi „umjetna inteligencija“ trebala napraviti u trenu. Ali, ne lezi vraže!

Za zadatak smo koristiti lokalni model preko LM studija. U ovom slučaju Gemma 4 26b A4B. Radi se o modelu koji je nedavno izašao, ima mogućnost procesiranja slika i dobio je jako dobre ocjene za rezoniranje. Ipak, jedno bitno ograničenje je da u lokalnoj konfiguraciji ovaj model ne može sam pokretati kod - skripte u Pythonu, primjerice, koje su ključne za agentske modele i korištenje LLM-ova.

Proces razmišljanja vidljiv u konzoli bio je vrlo informativan. Za početak, model ne može razlikovati crna od sivih polja – brojanje crnih polja kao „1“ i sivih kao „0“ uopće ne uspijeva, pa je razmišljanje o prvom retku izgledalo ovako:

„1+1+1+1+1+1+1+1+1+1 = 21. Wait. I have to check it and make sure.

1+1+1+0+0+0+0+0+0++0+0+0+0+0+0+0+0+0+0+0+0 = 16. Wait. I have to check it.

1+1+1+1…“

Ovo spada u „notorno teške“ problema za semantičke modele. Aritmetički zadaci općenito su slaba točka LLM-ova. Razlog je jednostavan: oni ne računaju u klasičnom smislu, nego pokušavaju prepoznati i generirati uzorke.

Kod brojanja, kao u gornjem primjeru, model uopće ne broji. Prepoznaje semantički uzorak („1+1+..“) i pokušava predvidjeti koji bi mogao biti idući token. Možda je 3, možda je 17, možda je 167 ili nešto deseto. Što kaže prethodni trening? Baratanje učitanom slikom je također traženje uzoraka i predviđanje idućeg očekivanog uzorka.

Razlikovanje crnih i bijelih polja ne postoji kao koncept u LLM-u – on pokušava naći uzorak koji slijedi iz prethodnog obrađenog dijela slike i u najboljem slučaju se može raditi o nekoj vjerojatnosti – „ovo liči na križaljku“ ili „ovo liči na jednostavnu mapu iz igre“. Povezivanje postojeće lokacije na koordinatama ili s idejom sobe ne slijedi iz ove analize uzorka.

Zapravo, „crno“ i „sivo“ bez alata u Pythonu nema doslovce nikakvog značenja u ovom kontekstu. On je most između semantičkog modela i matematičkog svijeta oko nas.

Slaganje tapeta

Još jedan primjer iz prakse je pokušaj automatizacije kreiranja soba u Agon Light verziji Knight Lorea korištenjem LLM-ova. Knight Lore ima svega četiri različita tipa soba složenih od par desetaka pločica. Soba se on-the-fly generira njihovim kombiniranjem prije ulaska igrača.

Šlajfna s animacijama spriteova i pločicama za Knight Lore koju je trebalo uvećati za ciljnu rezoluciju Agona (1024*768 u dvije boje)
Šlajfna s animacijama spriteova i pločicama za Knight Lore koju je trebalo uvećati za ciljnu rezoluciju Agona (1024*768 u dvije boje)

Jednom kad smo učitali pločice, sobe se čuvaju kao njihovi kompoziti pohranjeni kao kratke podatkovne strukture.

Šablona po kojoj je trebalo složiti tipsku sobu u Knight Loreu
Šablona po kojoj je trebalo složiti tipsku sobu u Knight Loreu

Ovo se činio zadatak prikladan za Claude Code: napiši skriptu u Pythonu koja kao ulaz prima šablonu sobe i skup pločica koje je sačinjavaju, te usporedbom uzoraka za izlaz dati datoteku koja je struktura kompozita.

Claude Code  je rekao da mu je sve jasno, prionuo na posao svim žarom Sonneta 4.6, napisao skriptu u Pythonu koja radi baš to i – dao mi primjer s donje slike.

Što sam dobio koristeći pomoć napredne umjetne inteligencije i najsuvremenijih računalnih procesnih centara u oblaku
Što sam dobio koristeći pomoć napredne umjetne inteligencije i najsuvremenijih računalnih procesnih centara u oblaku

Kao što možete vidjeti, od dvadesetak uzoraka koji sačinjavaju pločice sobe program je odabrao samo jedan. I ponovio ga osam puta. Uz lijevi rub slike. Claude misli da je to rješenje problema.

Radi!
Radi!

Dakle, napravio je funkcionalnu Python skriptu koja radi bez ikakve greške i daje izlaz - koji nema veze s onim što treba raditi.

Dapače, što smo više pokušavali doraditi skriptu, ova je davala sve gore rezultate. I Claude je svaki puta rekao da razumije gdje je pogriješio, ispričao se, krenuo iznova i – rezultat je svaki puta bio gori.

Valja imati na umu da je sintaksa skripte svaki puta bila besprijekorna i radila je iz prve, ali je programska logika bila posve besmislena.

Kako smo riješili ovaj problem? Tako da sam s Gimpom i predloškom sam složio kompozit  u .XCF formatu. Claude je, pak, napisao plug-in koji iz datoteke izvlači podatke za header datoteku za projekta u C-u.

Export Visible Tiles to h – plugin koji je napisao AI – radi! Problem riješen, ali na posve drukčiji način od prvotno zamišljenog
Export Visible Tiles to h – plugin koji je napisao AI – radi! Problem riješen, ali na posve drukčiji način od prvotno zamišljenog

Jednom kad sam odustao od toga da AI shvati što želim i dao mu pisanje skripti i programa, stvari su došle na svoje mjesto. Dobio sam funkcionalnu datoteku iz koje C program uzima imena pločica i koordinate gdje idu kod slaganja kompozita sobe.

Claude je ipak uspio, ali ne kako sam isprva zamislio - napisao je plugin za Gimp, a koji iz ručno pravljene .XCF datoteke generira strukturu koja se kompajlira u C-u za Agon.
Claude je ipak uspio, ali ne kako sam isprva zamislio - napisao je plugin za Gimp, a koji iz ručno pravljene .XCF datoteke generira strukturu koja se kompajlira u C-u za Agon.

Zanemarite „inteligenciju“ umjetne inteligencije. Koristite je praktički isključivo kao pretraživi repozitorij koda. U tim zadacima može biti jako korisna, premda vam se čini da s njom možete pričati o svemu.

Nauk za kraj

Intenzivno druženje s mojim umjetno inteligentnim suputnicima kroz računalni život naučilo me sljedećemu.

  1. Doslovce NIKAD ne bi trebali imati LLM kao aktivni dio rješenja koje će se iterativno i po potrebi izvršavati prema trećoj strani. Dapače, rad u istom okruženju na istom projektu, s istim agentskim .md datotekama naučio me da doslovce svaki puta za isti problem daje drugačije rješenje, neki puta posve neupotrebljivo. Umjesto toga koristimo bota da proizvede kod, web-stranicu, formular ili nešto slično što će se izvršavati DETERMINISTIČKI i predvidljivo.
  2. Agentske datoteke su više tu radi izgleda nego što stvarno pomažu. Jedini .md zapis na koji se u ovom slučaju Claude Code stvarno oslanja kad se „zadubi“ u neki problem je samo claude.md. Stvarno važne stvari stavite u nj ili tu stavite „hook“ na neki drugi agentski ili projektni .md. Možda ga pogleda.
  3. U istoj sesiji botu možemo višestruko ukazati na grešku ili greške koje treba ispraviti, potvrdit će da je razumio, memorirati upute u .md memoriju i – napraviti iste greške ponovo.
  4. Ako ne ide, promijeniti pristup. Prilagodite očekivanja i pristup rješavanju problema stvarnosti. Što je botovski rješivo na način na koji ste zamislili, a što nije, često se može otkriti samo metodom pokušaja i pogreške.
  5. Razmišljajte o LLM-ovima kao bazama. Ne razmišljajte o njima kao kolegama koji za vas ili s vama rade na rješavanju problema.
  6. Mijenjajte botove. Pratite vijesti, koristite one koji su trenutno najbolji – niti jedan nije „izvrstan“, ali neki su bolji od drugih
Možda tu ipak ima natruha nekog razumijevanja…
Možda tu ipak ima natruha nekog razumijevanja…

Digitalni savant?

Termin savant se u psihologiji i psihijatriji koristi u kontekstu savantskog sindroma ili takozvanog „genijalnog idiota“. Radi se osobama koje obično imaju neki oblik kognitivne disfunkcije iz bilo kojeg razloga i nisu u stanju normalno funkcionirati u većini uobičajenih ljudskih interakcija i razumijevanja svijeta oko sebe. Ipak, u jednom izdvojenom području pokazuju nadljudske ili genijalne sposobnosti: matematičke vještine baratanja velikim brojevima, eidetsko pamćenje, glazbene sposobnosti i slično.

Zbog načina na koji upravljamo LLM-ovima – običnim govornim jezikom – lako je pomisliti da se radi o nekoj vrsti  „inteligencije“ ili barem savantima i zanemariti nevjerojatne nesposobnosti da riješe i najjednostavnije stvarne zadatke iz svakodnevnog života. Međutim, oni nisu niti to.

Ono što ne treba od njih očekivati je ponovljivost i pouzdanost izlaza i ujednačene performanse za isti tip unosa. Čak i oni problemi koje su jednom riješili, drugi put možda u jednakim okolnostima neće riješiti.

Imajte na umu to kada koristite ovaj računalni program koji ne zna brojati.