Unazad 3 ili 4 godine, kako su se pojavili Large Language Model-i (veliki jezički modeli – nadalje u tekstu LLM), a između ostalog i sistemi za generisanje slika, video klipova i sličnog – poput ChatGPT-a, Geminija, Sore, Nano Banana modela i ostalih – postao je trend da se koriste takozvani JSON promptovi.
Prema raznim “stručnjacima”, “prompt-guruima” na internetu, čini se da LLM obožava upite strukturisane kroz JSON formu, pa se sugeriše da je JSON “tajni jezik” kojim treba da šapućemo LLM-u kako bi nas bolje razumio i kako bismo ušli u “mentalitet AI-a”.
Problem je naravno što ova tvrdnja uopšte nema nikakvo realno utemeljenje. Interesantno je da se u knjizi Mastering ChatGPT – Prompts and Beyond George Grätzer-a (De Gruyter, 2025) JSON promptovi uopšte i ne pominju.
Prije nego što uopšte počnemo govoriti o JSON promptovanju, treba razjasniti šta su veliki jezički modeli i šta je JSON.
Veliki jezički modeli su sistemi vještačke inteligencije koji su trenirani na ogromnim skupovima podataka koji im omogućavaju da razumiju i pišu ljudskim jezikom. Naime, GPT-evi (Generativni prethodno obučeni transformatori) prolaze kroz dvije faze obuke:
- Treniranje – gdje model uči iz ogromnih skupova podataka, identifikuje lingvističke obrasce i veze.
- Fino podešavanje – gdje se model podešava za specifične zadatke odnosno korištenje, tako da mu se uveća koherentnost i relevantnost.
Šta to znači? To znači da nakon što smo istrenirali i podesili Generativni prethodno obučen transformator, prilikom promptovanja mu dajemo niz tokena (odnosno riječi ili znakova), a on će na osnovu vjerovatnoće predvidjeti sljedeći token. Uzmimo za primjer sljedeću rečenicu: ________ sam 2 jabuke. ____ nisam gladan. LLM bi trebalo da zaključi da je prva riječ u prvoj rečenici: “Pojeo/la”, a u drugoj “Više” ili bilo koja druga riječ koja bi statistički gledano imala smisla da bude tu, a što LLM “zna” jer je istreniran na ogromnim skupovima podataka.
Šta je zapravo JSON? JSON je akronim i znači JavaScript Object Notation. To je način da se podaci organizuju u strukturisan format sa jasnim oznakama i vrijednostima.
Uzmimo banalan primjer: lista namirnica za kupovinu.
Recimo da treba da kupimo 2 kile jabuka i 10 jaja na pijaci i 5 metara oluka u obližnjoj gvožđari.
Mi to možemo zapisati u JSON formatu na sljedeći način:
{
"kupovina": [
{
"predmet": "jabuke",
"kolicina": 2,
"mjesto_kupovine": "pijaca"
},
{
"predmet": "jaja",
"kolicina": 10,
"mjesto_kupovine": "pijaca"
},
{
"predmet": "oluk",
"kolicina": 5,
"mjesto_kupovine": "gvozdjara"
}
]
}Dakle, JSON je samo način da se kaže ovo polje znači X, ovo polje znači Y, a ova konkretna vrijednost je Z.
Tu nema nikakve magije, to je strukturisan tekst koji i čovjek i kompjuter relativno lako čitaju. Uostalom, sam razlog zašto je JSON koristan, je zato što je dizajniran od strane ljudi da nam bude razumljiv, a da bismo mogli razmjenjivati podatke između servera. Ako bismo mi išli unazad, JSON je zasnovan na JavaScript jeziku, JavaScript je jezik zasnovan na ECMAScript, ECMAScript je zasnovan na mnoštvu jezika, i na kraju dođemo do low-level programskog jezika zapisanog Assembly-em, nakon toga binarnim kodom, i na kraju krajeva se sve svodi na veći odnosno manji napon u tranzistorima.
Pojedini kažu da LLM-ovi “vole” JSON jer su trenirani na hiljade i hiljade JSON fajlova sa raznih web-sajtova i API-ja, pa onda navodno ako komuniciramo sa LLM-om u JSON-u, bolje nas razumiju i daju bolje rezultate.
Nevjerovatno je koliko ljudi se zalijepilo za nešto što je očigledna neistina, ali jasno je da zvuči tehnički, i da se čini kao da smo pronašli “Šibolet” AI-ja, odnosno praktično “blueprint” koji nam olakšava komunikaciju sa LLM-om.
Očigledno je da se ovde miješa korelacija i kauzacija tj. uzročnost.
U trenutku kada počnemo koristiti JSON promptove, mi istovremeno:
- po prvi put sistematski nabrajamo sve parametre
- ne preskačemo važne detalje
- pišemo organizovanije nego ranije
Naravno da će rezultat postati bolji, ali ne zato što smo govorili sa LLM-om na njegovom jeziku, nego zato što po prvi put dobija ozbiljniji, kompletniji i konzistentniji brief.
JSON je isključivo forma, suština je da smo mi kao korisnici prestali biti nejasni.
Pošto LLM nije živo biće, jasno je da nema preferencije, nema emocije prema JSON-u, markdownu, listama ili romanu u pasusu. On radi ono što smo već naveli:
- dobije niz tokena
- predviđa sljedeći token po osnovu vjerovatnoće
Dakle, svejedno je da li napisali: Bijela pozadina, crni čovjek koji sjedi na crvenoj stolici ili:
{
"objekat": "covjek",
"pozicija": "sjedi na stolici",
"stolica": "crvena"
}Ono što je bitno je da su informacije jasne, i da liče na ono na čemu je LLM treniran.
A kad smo već kod treninga – svima je jasno da je dominantan materijal najobičniji tekst. Koliko god da su LLM-ovi trenirani na JSON-u, mnogo više su trenirani na običnom tekstu – bilo kroz članke, knjige, forume, dokumentaciju i sl. JSON je, bar što se tiče gradiva na kom su LLM-ovi trenirani, sporedan.
Na primjer, možemo koristiti LLM da nam generiše objavu za LinkedIn. Da li smo napisali:
platforma: LinkedIn
tema: preduzetništvo
sadrzaj: 3 savjeta
hashtagovi: #produktivnost
dužina: 150 riječi
ton: motivacioniili u JSON obliku:
{
"platforma": "LinkedIn",
"tema": "preduzetnistvo",
"sadrzaj": "3 savjeta",
"hashtagovi": ["#produktivnost"],
"duzina": 150,
"ton": "motivacioni"
}LLM će dati otprilike iste rezultate.
Dakle u suštini:
- LLM ne preferira JSON
- JSON promptovi se čine bolji, ali zato što su ljudi precizniji sa svojim specifikacijama
- Ako LLM nije istreniran na nečemu, JSON neće pomoći
- Za običnu upotrebu gdje želimo sliku, tekst i sl. dovoljno je biti jasan, precizan, detaljan i strukturisan i normalnim jezikom.
- Može se koristiti JSON samo kada rezultat treba da čita neki program, ili imamo nešto što očekuje validan JSON kod, ili želimo neki standardizovani format koji će se lako parsovati.
- Sve ostalo je glupost.
Da se još nadovežem na ovu 5. tačku. Ako LLM treba da pozove neku funkciju ili popuni API request, ili vrati podatke koje će drugi sistem parsovati, JSON je dobar.
Treba govoriti jezikom sistema. Tu možemo uzeti i napraviti analogiju sa Search Engine-om i LLM-om. Klasični pretraživač razumije jedan jezik, a LLM drugi. Kada guglamo: ne pišemo: “Hoću da kupim kosačicu 42 cm širine košenja u blizini po niskoj cijeni”, već ukucamo nešto poput: “kosačica 42 cm beograd sniženje”. Za pretraživač, te ključne riječi su njegov jezik. Kod LLM-a je obrnuto što se tiče detalja, ali i on ima svoj jezik. Taj jezik nisu ključne riječi ni JSON, već detaljna, eksplicitna uputstva: šta želimo, za koga, u kom tonu, s kojim ograničenjima, kakvim stilom i sl.






































+ There are no comments
Add yours