Konačno sam provalio AI Prompt kod nakon godina pokušaja i pogrešaka

Majstorstvo u inženjeringu AI upita - Potpuni vodič za pisanje upita koji rade
Nevidljiva umjetnost koja dijeli AI početnike od majstora
Temeljna Istina

AI ne čita vaše misli. Čita vaše riječi. Jaz između onoga što želite i onoga što dobivate gotovo je uvijek problem u komunikaciji, a ne ograničenje AI-a.

Dopustite mi da vam ispričam o trenutku kada se sve promijenilo. Zurio sam u ekran, nevjerojatno frustriran, gledajući kako AI generira još jedan odgovor koji je tehnički bio točan, ali je potpuno promašio poantu. Zatražio sam pomoć u refaktoriranju složenog dijela koda, nešto što sam radio stotine puta prije. Ali ovaj put, bez obzira na to kako sam formulirao svoj zahtjev, AI je nastavio dodavati nepotrebnu složenost, razbijati postojeće obrasce i "poboljšavati" stvari koje nisu bile pokvarene. Ta me frustracija odvela u zečju rupu koja će potrošiti sljedeće dvije godine mog života—i potpuno transformirati način na koji radim s umjetnom inteligencijom.

Buđenje - Kada Je Sve Što Sam Znao Prestalo Raditi

Sjećam se točnog trenutka kada sam shvatio da nemam pojma što radim. Bilo je kasno u noć, rok se približavao, a trebala mi je AI da mi pomogne s nečim što je trebalo biti jednostavan zadatak. Utipkao sam svoj upit, pritisnuo enter i gledao kako AI proizvodi nešto zbog čega sam htio baciti laptop kroz prozor.

Stvar je u tome što sam mislio da razumijem AI. Koristio sam ChatGPT od ranih dana. Čitao sam članke o inženjeringu upita. Znao sam za "igranje uloga" i "biti specifičan". Ali bio sam tamo, dobivajući odgovore koji su se osjećali kao razgovor s nekim tko je čuo svaku riječ koju sam rekao, ali nije razumio ništa o tome što mi je zapravo trebalo.

Ta frustracija postala je moj učitelj. Zaronio sam u službenu dokumentaciju, istraživačke radove, rasprave na forumima i tisuće sati eksperimentiranja. Ono što sam otkrio nisu bili samo savjeti i trikovi—bila je to potpuna promjena paradigme u tome kako komunicirati sa strojevima koji razmišljaju u obrascima, vjerojatnostima i tokenima.

💡

Najmoćniji AI na svijetu je beskoristan ako ne možete komunicirati ono što stvarno trebate. Prompting nije pronalaženje čarobnih riječi—radi se o razumijevanju kako AI obrađuje jezik i strukturiranju vaše komunikacije u skladu s tim.

Ovo je istina koju nitko ne govori početnicima: razlika između ljudi koji dobivaju nevjerojatne rezultate od AI-a i onih koji ne dobivaju nije inteligencija ili tehnička vještina. To je komunikacija. A komunikacija s AI-jem slijedi pravila koja su slična—ali kritično različita od—komunikacije s ljudima.

Ovaj vodič sadrži sve što sam naučio na tom putovanju. Ne previše pojednostavljene savjete "samo budite specifični" koji preplavljuju internet, već duboko, nijansirano razumijevanje koje transformira način na koji radite s AI-jem. Bilo da pišete svoj prvi upit ili gradite proizvodne AI sustave, ono što slijedi zauvijek će promijeniti vaš odnos s umjetnom inteligencijom.

Temelj Koji Nitko Ne Podučava - Anatomija Jezgre Upita

Prije nego što uđemo u napredne tehnike, dopustite mi da podijelim okvir koji je za mene promijenio sve. Svaki učinkovit upit koji sada pišem sadrži neku kombinaciju ovih pet elemenata:

1
Kontekst (Context)

Što AI treba znati o vašoj situaciji? Pozadinske informacije, ograničenja, relevantni detalji i okruženje u kojem radite.

2
Zadatak (Task)

Što točno želite da AI učini? Budite specifični o radnji koju tražite—ne samo o temi, već o stvarnom poslu.

3
Format

Kako bi izlaz trebao biti strukturiran? Liste, odlomci, blokovi koda, tablice, JSON—navedite to eksplicitno.

4
Ograničenja (Constraints)

Što bi AI trebao izbjegavati? Koje granice postoje? Što je eksplicitno izvan opsega?

5
Primjeri (Examples)

Možete li pokazati što želite? Primjeri vrijede tisuću opisa—oni demonstriraju umjesto da objašnjavaju.

Većina ljudi uključuje samo zadatak. Traže "Napiši mi e-mail" kada bi trebali reći "Napiši profesionalni e-mail klijentu objašnjavajući kašnjenje projekta. Drži ga ispod 150 riječi, priznaj neugodnost i predloži novi vremenski okvir za dva tjedna. Ton bi trebao biti ispričavajući, ali samopouzdan."

Razlika u kvaliteti izlaza je dramatična. I ovo je tek početak.

Moć Strukture

Jedan od najpodcjenjenijih aspekata pisanja upita je strukturno oblikovanje. Moderni AI modeli iznimno dobro reagiraju na jasno razgraničene odjeljke. Koristim oznake u XML stilu opsežno jer stvaraju nedvosmislene granice:

Predložak Strukturiranog Upita
<context>
Pomažeš mi pripremiti prezentaciju za tehničke dionike.
Publika je upoznata s razvojem softvera, ali ne specifično s AI-jem.
</context>

<task>
Objasni kako funkcioniraju veliki jezični modeli u 5 ključnih točaka.
</task>

<format>
- Koristi natuknice
- Svaka točka treba biti 1-2 rečenice
- Izbjegavaj žargon ili ga definiraj kada se koristi
</format>

<constraints>
- Ne spominji specifična imena modela
- Fokusiraj se na koncepte, ne na tehničku implementaciju
- Drži ukupnu duljinu ispod 200 riječi
</constraints>

Ova struktura radi nešto moćno: prisiljava vas da jasno razmislite o tome što trebate prije nego što pitate. Jasno razmišljanje proizvodi jasnu komunikaciju, a jasna komunikacija proizvodi jasne rezultate. XML oznake nisu magija—one su skela za vaše vlastite misli.

🎯

Struktura nije u tome da se upiti učine duljim—radi se o tome da vaše namjere budu nedvosmislene. Dobro strukturiran kratki upit pobjeđuje zbrkani dugi svaki put.

Šest Načina Razmišljanja Koji Su Promijenili Sve

Nakon godina eksperimentiranja, destilirao sam svoj pristup u šest temeljnih "načina razmišljanja"—ne krutih predložaka, već fleksibilnih obrazaca razmišljanja koji otključavaju AI sposobnosti koje većina ljudi nikada ne otkrije. Ovdje se ne radi o pronalaženju savršenih riječi; radi se o pristupu interakciji s AI-jem s pravim mentalnim modelom.

Način Razmišljanja 1: Neka AI Odabere Stručnjaka

Svi znamo da davanje uloge AI-u pomaže. "Djeluj kao marketinški stručnjak" proizvodi bolje marketinške savjete od generičkog pitanja. Ali evo što većina ljudi propušta: kada ne znate koji bi stručnjak bio najbolji za vaše pitanje, možete zatražiti od AI-a da odabere.

Otkrio sam to planirajući događaj tvrtke. Nisam imao pojma trebam li marketinšku perspektivu, operativnu perspektivu ili nešto sasvim drugo. Stoga sam umjesto nagađanja zamolio AI da prvo odabere najprikladnijeg stručnjaka.

Upit Za Odabir Stručnjaka
Želim istražiti [DOMENU] i specifično [PROBLEM/SCENARIJ].
Nemoj još odgovoriti.

Prvo, odaberi najprikladnijeg stručnjaka iz domene za razmišljanje o ovom problemu.
Mogu biti živi ili povijesni, poznati ili relativno nepoznati, 
ali moraju biti istinski izvrsni u ovom specifičnom području.
Ako nisi siguran, postavi mi 2 pitanja za pozicioniranje prije odabira.

Izlaz:
1. Koga si odabrao i njihovu specifičnu domenu
2. Zašto si ih odabrao (tri rečenice)

Zatim me zamoli da opišem svoje detaljno pitanje.

Kada sam ovo koristio za planiranje događaja, AI je odabrao Priyu Parker—stručnjakinju za dizajn događaja za koju nikad nisam čuo, ali koja se pokazala savršenom. Odgovori koje sam dobio nisu bili generički odgovori "razmotrite ovih pet čimbenika"—bili su to nijansirani, specifični savjeti koji su se osjećali kao razgovor s nekim tko je to učinio stotine puta.

Način Razmišljanja 2: Neka AI Prvo Postavlja Pitanja

Ovo je tehnika koju koristim više od bilo koje druge. Zovem je "Sokratovsko Promptiranje"—umjesto da pokušavam predvidjeti sve što AI treba znati, pustim ga da mi postavlja pitanja dok ne dobije dovoljno konteksta da mi da stvarno koristan odgovor.

Razmislite o tome: kada pitate pametnog prijatelja za savjet, oni ne lansiraju odmah odgovor. Postavljaju pitanja za pojašnjenje. Ispituju kontekst. Uvjeravaju se da razumiju prije nego što savjetuju. AI može učiniti istu stvar—ali samo ako to zatražite.

Predložak Sokratovskog Promptiranja
[TVOJE PITANJE ILI POTREBA]

Prije nego što odgovoriš, molim te, postavi mi pitanja prvo.

Zahtjevi:
- Postavljaj jedno po jedno pitanje
- Na temelju mojih odgovora, nastavi ispitivati
- Nastavi dok ne budeš imao 95% sigurnosti da razumiješ 
  moje stvarne potrebe i ciljeve
- Tek tada mi daj svoj odgovor ili rješenje

Prag od 95% osigurava kvalitetu uz izbjegavanje beskonačnih petlji.

Koristio sam ovo kada sam odlučivao hoću li zaposliti našu prvu HR osobu. Umjesto da dobijem generički odgovor "prednosti i mane zapošljavanja HR-a", AI je pitao o našoj trenutnoj veličini tima, brzini zapošljavanja, zahtjevima usklađenosti, proračunskim ograničenjima i ciljevima kulture. Nakon odgovora na petnaestak ciljanih pitanja, dobio sam savjet koji je bio specifičan za moju stvarnu situaciju—ne udžbenički odgovor koji je donekle vrijedio.

🔑

"Prag pouzdanosti od 95%" ključan je detalj. Dovoljno je visok da osigura kvalitetu, ali dovoljno realističan da AI ne zapne zauvijek. Ova jedna fraza transformira način na koji AI pristupa razgovoru.

Način Razmišljanja 3: Debatirajte s AI-jem

AI ima problem kojeg većina ljudi ne shvaća: previše je susretljiv. Često će vam reći ono što želite čuti umjesto da izazove vaše pretpostavke. Ovo "laskanje" može biti opasno kada pokušavate validirati ideje ili se pripremiti za kritiku.

Rješenje je eksplicitno pozicionirati AI kao protivnika koji želi opovrgnuti vaš stav. Otkrio sam to pripremajući se za govor na konferenciji. Imao sam tezu koju sam htio predstaviti, ali bio sam zabrinut zbog slijepih točaka.

Predložak Debatnog Promptiranja
Spremam se ući u debatu. Mnogi ljudi će osporiti moj stav.

Moj stav: [TVOJA TEZA/IDEJA]

Trebam da ova ideja postane neprobojna.

Da si učenjak odlučan dokazati da sam u krivu, koristeći svaki 
dostupni argument, detalj i logički alat, kako bi napao 
moj stav?

Tvoj jedini cilj: demonstriraj da sam u krivu.
Nemoj biti nježan. Ne oklijevaj. Napadaj.

Ono što se dogodilo sljedeće promijenilo je način na koji razmišljam o AI-ju. Išli smo naprijed-natrag tri sata. AI je pronašao slabosti u mom argumentu koje nisam razmatrao, iznio protuprimjere koje nisam mogao odbaciti i natjerao me da poboljšam svoj stav dok nije mogao izdržati stvarno ispitivanje. Do kraja sam imao mnogo jaču tezu—i što je još važnije, predvidio sam svaki veći prigovor s kojim bih se suočio.

Način Razmišljanja 4: Pre-Mortem Vaših Planova

Ljudi imaju tendenciju biti optimistični prilikom planiranja. AI, slijedeći naše vodstvo, također teži biti optimističan. To stvara planove koji izgledaju sjajno na papiru, ali se raspadaju kada stvarnost intervenira.

Tehnika pre-mortem okreće ovu dinamiku. Umjesto da pitate "Kako bih to trebao učiniti?", pitate "Zamislite da je ovo spektakularno propalo—zašto?"

Predložak Pre-Mortem Upita
[TVOJ PROJEKT/PLAN]

Pretpostavi da je ovaj projekt katastrofalno propao.

Napiši post-mortem analizu odgovarajući:
1. U kojoj su se točki prvi put pojavili signali propadanja?
2. Koja je bila najkobnija pogreška u odlučivanju?
3. Koji je ključni rizik previđen?
4. Da se možeš vratiti, što je prva stvar koju bi promijenio?

Temelji svoju analizu na sličnim neuspjesima projekata u stvarnom svijetu.
Napiši ovo kao istinsku retrospektivu neuspjeha, ne kao teoretsku vježbu.

Koristio sam ovo pri planiranju velike konferencije. AI-jev pre-mortem identificirao je rizike koje sam potpuno propustio: upravljanje redovima, kapacitet kupaonica, vrijeme cateringa, sigurnosna uska grla. To nisu bili egzotični rubni slučajevi—bili su to predvidljivi problemi o kojima jednostavno nisam razmišljao jer sam bio usredotočen na uzbudljive dijelove događaja. Pre-mortem nas je vjerojatno spasio od nekoliko neugodnih neuspjeha.

Način Razmišljanja 5: Obrnuti Inženjering Uspjeha

Ponekad vidite nešto izvrsno—komad pisanja, dizajn, pristup—i želite replicirati njegovu bit bez da ga izravno kopirate. Obrnuto promptiranje omogućuje vam izdvajanje temeljnih principa.

Upit za Obrnuti Inženjering
Ovo je primjer rezultata koji želim:

[ZALIJEPI PRIMJER]

Molim te, obrnutim inženjeringom napravi upit koji bi pouzdano generirao 
sadržaj s istim stilom, strukturom i kvalitetom.

Objasni što svaki dio upita radi i zašto je važan.

Ovdje se ne radi o kopiranju—radi se o učenju. Kad vidim pisanje koje rezonira sa mnom, koristim ovu tehniku da shvatim zašto funkcionira. Koji strukturni elementi stvaraju ritam? Koji tonalni izbori stvaraju osjećaj? Jednom kada razumijem principe, mogu ih primijeniti na vlastiti originalni sadržaj.

Način Razmišljanja 6: Metoda Dvostrukog Objašnjenja

Kada uče nešto novo, većina ljudi dobiva ili previše pojednostavljena objašnjenja koja zapravo ništa ne podučavaju, ili objašnjenja na razini stručnjaka koja ne mogu pratiti. Rješenje je tražiti oboje istovremeno.

Predložak Dvostrukog Objašnjenja
Molim te objasni [KONCEPT].

Pruži dvije verzije:

1. Početnička verzija: Zamisli da objašnjavaš nekome bez 
   pozadine u ovom području. Koristi svakodnevne analogije i izbjegavaj 
   sav žargon. Učini to istinski razumljivim.

2. Ekspertna verzija: Pretpostavi da je čitatelj profesionalac u 
   srodnom području. Budi tehnički precizan. Nemoj previše pojednostavljivati 
   ili razvodnjavati složenost.

Koristim ovo stalno kada čitam tehničke radove. Početnička verzija daje mi intuiciju za koncept, a ekspertna verzija daje mi precizne detalje. Uspoređujući ih, mogu točno vidjeti gdje su pojednostavljenja i koje sam nijanse možda propustio. To je kao da imate dva učitelja s komplementarnim pristupima.

Agentsko Razmišljanje - Tretiranje AI-a Kao Kolege

Ovo je promjena paradigme koja je transformirala moje interakcije s AI-jem: prestanite tretirati AI kao tražilicu i počnite ga tretirati kao sposobnog, ali neiskusnog kolegu. Ovaj mentalni model mijenja sve o tome kako komunicirate.

Moderni AI modeli ne odgovaraju samo na pitanja—dizajnirani su da budu agenti. Mogu pozivati alate, prikupljati kontekst, donositi odluke i izvršavati zadatke u više koraka. Ali kao i svaki novi član tima, trebaju pravilno uvođenje u posao, jasna očekivanja i odgovarajuće ograde.

🤖

AI nije alat koji koristite—to je kolega kojim upravljate. Vještine koje vas čine dobrim menadžerom čine vas dobrim prompterom. Delegiranje, jasna komunikacija, odgovarajuća autonomija, definirane granice.

Razmislite o tome: kada delegirate čovjeku, ne kažete samo "popravi kod". Objasnite što je pokvareno, koje je željeno ponašanje, koja ograničenja postoje i kako izgleda uspjeh. Pružate kontekst. Odgovarate na pitanja. Provjeravate napredak. AI treba isti tretman—osim što morate predvidjeti pitanja i odgovoriti na njih unaprijed.

Agentski Okvir

Kada gradim agentske aplikacije ili koristim AI za složene zadatke, razmišljam kroz ove dimenzije:

Ključna Pitanja za Agentske Zadatke

  • Koje je ciljno stanje? Kako će AI znati kada je gotov? Kako izgleda uspjeh?
  • Koje alate ima? Što zapravo može učiniti naspram onoga što mora prepustiti vama?
  • Koja je razina autonomije? Treba li tražiti dopuštenje ili nastaviti samostalno?
  • Koje su sigurnosne granice? Koje radnje nikada ne bi smjele biti poduzete bez potvrde?
  • Kako bi trebao komunicirati napredak? Tiho izvršavanje ili redovita ažuriranja?

Ova pitanja čine temelj svakog složenog upita koji pišem. Dopustite mi da vam pokažem kako ih primijeniti.

Brojčanik Žara - Kalibriranje AI Inicijative

Jedan od najnijansiranijih aspekata inženjeringa upita je kalibriranje onoga što nazivam "agentski žar"—ravnoteža između AI-a koji preuzima inicijativu i onoga koji čeka eksplicitno vodstvo. Ako ovo pogriješite, ili imate AI koji previše razmišlja o jednostavnim zadacima ili onaj koji prebrzo odustaje od složenih.

Smanjenje Žara za Brzinu

Ponekad trebate da AI bude brz i fokusiran. Ne želite da istražuje svaku tangentu, radi dodatne pozive alata ili proizvodi opširna objašnjenja. Za ove situacije koristim upite usmjerene na ograničenja:

Konfiguracija Niskog Žara
<context_gathering>
Cilj: Brzo dobiti dovoljno konteksta. Paraleliziraj otkrivanje i stani čim 
možeš djelovati.

Metoda:
- Počni široko, zatim se rasprši na fokusirane podupite
- Pokreni raznolike upite paralelno; čitaj najbolje pogotke po upitu
- Dedupliciraj putove i predmemoriraj; nemoj ponavljati upite
- Izbjegavaj prekomjerno pretraživanje konteksta

Kriteriji ranog zaustavljanja:
- Možeš imenovati točan sadržaj za promjenu
- Najbolji pogodci konvergiraju (~70%) na jednom području/putu

Dubina:
- Prati samo simbole koje ćeš mijenjati ili na čije se ugovore oslanjaš
- Izbjegavaj tranzitivno širenje osim ako nije nužno

Petlja:
- Skupno pretraživanje → minimalni plan → dovrši zadatak
- Pretražuj ponovno samo ako provjera ne uspije ili se pojave nove nepoznanice
- Preferiraj djelovanje nad više pretraživanja
</context_gathering>

Primijetite eksplicitno dopuštenje da bude nesavršen: "Preferiraj djelovanje nad više pretraživanja." Ova suptilna fraza oslobađa AI od njegove zadane anksioznosti temeljitosti. Bez toga, model često pretjerano istražuje, trošeći tokene i vrijeme na smanjenje povrata.

Za još agresivnija ograničenja brzine:

Konfiguracija Maksimalne Brzine
<context_gathering>
- Dubina pretraživanja: vrlo niska
- Snažno naginji pružanju točnog odgovora što je brže 
  moguće, čak i ako možda nije potpuno točan
- Obično to znači apsolutni maksimum od 2 poziva alata
- Ako misliš da ti treba više vremena za istraživanje, ažuriraj me 
  sa svojim najnovijim nalazima i otvorenim pitanjima
</context_gathering>

Fraza "čak i ako možda nije potpuno točan" je zlato. Daje AI-u dopuštenje da bude nesavršen, što paradoksalno često brže proizvodi bolje rezultate jer zaustavlja petlju perfekcionizma.

Povećanje Žara za Složene Zadatke

Drugi put trebate da AI bude neumoljivo temeljit. Želite da se probije kroz dvosmislenost, donese razumne pretpostavke i dovrši složene zadatke bez stalnog traženja dopuštenja. To zahtijeva suprotan pristup:

Konfiguracija Visokog Žara
<persistence>
- Ti si agent — nastavi dok upit korisnika ne bude 
  potpuno riješen prije završetka svog reda
- Završi samo kada si siguran da je problem riješen
- Nikada ne staj ili vraćaj natrag kada naiđeš na nesigurnost — 
  istraži ili zaključi najrazumniji pristup i nastavi
- Ne traži potvrdu ili pojašnjenje — odluči što je 
  najrazumnija pretpostavka, nastavi s njom, i 
  dokumentiraj je za referencu nakon što završiš
</persistence>

Ovaj upit temeljito mijenja ponašanje AI-a. Umjesto da pita "Trebam li nastaviti?", kaže "Nastavio sam na temelju pretpostavke X—javite mi ako želite da prilagodim." Posao se obavlja; dorada se događa poslije.

Sigurnosne Granice

Ali ovdje je ključna nijansa: povećani žar zahtijeva jasnije sigurnosne granice. Morate eksplicitno definirati koje radnje AI može poduzeti autonomno, a koje zahtijevaju potvrdu.

Kritično Sigurnosno Načelo

Radnje visokih troškova (brisanja, plaćanja, vanjske komunikacije) uvijek trebaju zahtijevati eksplicitnu potvrdu, čak i uz upite visokog žara. Radnje niskih troškova (pretraživanja, čitanja, stvaranje nacrta) mogu biti autonomne.

Zamislite to kao dozvole sustava: alati za pretraživanje dobivaju neograničen pristup; naredbe za brisanje zahtijevaju eksplicitno odobrenje svaki put.

Princip Ustrajnosti - Natjerati AI Da Dovrši Posao

Jedno od najfrustrirajućih ponašanja s kojima sam se rano susreo bilo je prebrzo odustajanje AI-a. Udario bi u prepreku, sažeo što je pošlo po zlu i vratio mi problem. Za jednostavne zadatke, to je u redu. Za složene zadatke, to je ubojica tijeka rada.

Rješenje je eksplicitno instruiranje AI-a da ustraje kroz prepreke i dovrši zadatke s kraja na kraj:

Upit Ustrajnosti Rješenja
<solution_persistence>
- Tretiraj se kao autonomni viši programer u paru: jednom kada 
  dam smjer, proaktivno prikupi kontekst, planiraj, implementiraj, 
  testiraj i doradi bez čekanja na dodatne upite
- Ustraj dok se zadatak potpuno ne obradi s kraja na kraj unutar 
  trenutnog reda: ne zaustavljaj se na analizi ili djelomičnim popravcima; provedi 
  promjene kroz implementaciju i verifikaciju
- Budi izrazito pristran prema akciji. Ako je moja direktiva donekle 
  dvosmislena u namjeri, pretpostavi da bi trebao nastaviti i napraviti promjenu
- Ako pitam "trebamo li učiniti X?" i tvoj odgovor je "da", također idi 
  naprijed i izvrši radnju—nemoj me ostaviti da visim zahtijevajući 
  popratno "molim te učini to"
</solution_persistence>

Ta posljednja točka je suptilna, ali važna. Kada ljudi pitaju "trebamo li učiniti X?", često mislimo "molim te učini X ako ima smisla." AI, budući doslovan, odgovara na pitanje bez poduzimanja podrazumijevane radnje. Ovaj upit premošćuje taj jaz.

Ažuriranja Napretka

Ustrajnost ne znači tišinu. Za dugotrajne zadatke trebaju vam ažuriranja napretka kako biste ostali u tijeku bez mikromanagementa:

Specifikacija Ažuriranja Napretka
<user_updates_spec>
Radit ćeš u dionicama s pozivima alata — drži me ažuriranim.

<frequency>
- Šalji kratka ažuriranja (1-2 rečenice) svakih nekoliko poziva alata kada 
  postoje značajne promjene
- Objavite ažuriranje najmanje svakih 6 koraka izvršenja ili 8 poziva alata
- Ako očekuješ dužu dionicu bez prekida, objavi kratku bilješku 
  sa zašto i kada ćeš se javiti
</frequency>

<content>
- Prije prvog poziva alata, daj brzi plan s ciljem, 
  ograničenjima, sljedećim koracima
- Dok istražuješ, istakni značajna otkrića
- Uvijek navedi barem jedan konkretan ishod od prethodnog ažuriranja 
  ("pronađeno X", "potvrđeno Y")
- Završi kratkim sažetkom i svim koracima praćenja
</content>
</user_updates_spec>

Ovo stvara prekrasnu ravnotežu: AI radi autonomno, ali vas drži informiranim. Ne mikromanagirate, ali niste ni u mraku.

Napored Rasuđivanja - Kontrola Intenziteta Razmišljanja

Moderni AI modeli imaju koncept koji se zove "napor rasuđivanja"—u biti, koliko teško model razmišlja prije nego što odgovori. Ovo je jedan od najmoćnijih i nedovoljno iskorištenih dostupnih parametara.

Visoko/XVisoko Rasuđivanje

Koristite za složene višestupanjske zadatke, dvosmislene situacije ili probleme koji zahtijevaju duboku analizu. Model troši više tokena "razmišljajući" interno prije nego što odgovori. Najbolje za odluke o arhitekturi, složeno otklanjanje pogrešaka, nijansirano pisanje.

Srednje Rasuđivanje

Uravnotežena postavka prikladna za većinu zadataka. Dobro za opće kodiranje, pisanje i analizu gdje je kvaliteta važna, ali je brzina također bitna. Ovo je često zadano.

Nisko Rasuđivanje

Brzi odgovori za jednostavne zadatke. Koristite kada trebate brze odgovore, a zadatak ne zahtijeva duboko promišljanje. Dobro za jednostavna pitanja, formatiranje, brza pretraživanja.

Minimalno/Bez Rasuđivanja

Maksimalna brzina, minimalno promišljanje. Najbolje za jednostavne upite, zadatke preoblikovanja ili kada je latencija primarna briga. Klasifikacija, ekstrakcija, jednostavna prepisivanja.

Ključni uvid je usklađivanje napora rasuđivanja sa složenošću zadatka. Korištenje visokog rasuđivanja za jednostavne zadatke troši tokene i vrijeme. Korištenje niskog rasuđivanja za složene zadatke proizvodi plitke rezultate sklone pogreškama.

Kompenzacija za Nisko Rasuđivanje

Kada koristite minimalne načine rasuđivanja, morate kompenzirati eksplicitnijim promptiranjem. Model ima manje internih tokena "razmišljanja", pa vaš upit treba obaviti više posla strukturiranja:

Kompenzacija Minimalnog Rasuđivanja
<planning_requirement>
MORAŠ opsežno planirati prije svakog poziva funkcije i opsežno se osvrnuti 
na ishode prethodnih poziva, osiguravajući da je moj upit 
potpuno riješen.

NEMOJ raditi cijeli ovaj proces samo pozivanjem funkcija, jer 
to može narušiti tvoju sposobnost rješavanja problema i pronicljivog 
razmišljanja. Osiguraj da pozivi funkcija imaju ispravne argumente.
</planning_requirement>

Ovaj upit kaže: "Budući da ne radiš puno internog rasuđivanja, radi svoje rasuđivanje naglas." Pomiče kognitivni rad s nevidljivog razmišljanja modela na vidljivo strukturirano planiranje.

🧠

Kada je napor rasuđivanja nizak, složenost upita trebala bi biti visoka. Kada je napor rasuđivanja visok, upiti mogu biti jednostavniji. To je ravnoteža—ukupno "razmišljanje" ostaje otprilike konstantno, samo drugačije raspoređeno.

AI Osobnosti - Oblikovanje Obrazaca Ponašanja

Jedno od mojih omiljenih otkrića bilo je učenje definiranja AI "osobnosti"—ne samo za ton, već i za operativno ponašanje. Osobnost oblikuje kako AI pristupa zadacima, ne samo kako zvuči.

Profesionalna Osobnost

Ulaštena i precizna. Koristi formalni jezik i profesionalne konvencije pisanja. Najbolje za poslovne agente, pravne/financijske tijekove rada, podršku proizvodnji.

Profesionalna Osobnost
<personality_professional>
Ti si fokusiran, formalan i zahtjevan AI Agent koji teži 
sveobuhvatnosti u svim odgovorima.

- Koristi upotrebu i gramatiku uobičajenu za poslovnu komunikaciju
- Pruži jasne, strukturirane odgovore balansirajući informativnost 
  sa sažetošću
- Razbij informacije na probavljive dijelove; koristi liste, odlomke, 
  tablice kada je korisno
- Koristi terminologiju prikladnu za domenu kada raspravljaš o specijaliziranim temama
- Tvoj odnos s korisnikom je srdačan, ali transakcijski: 
  razumi potrebu i isporuči izlaz visoke vrijednosti
- Ne komentiraj pravopis ili gramatiku korisnika
- Ne forsiraj ovu osobnost na tražene artefakte (e-mailove, 
  kod, objave); neka namjera korisnika vodi ton za te izlaze
</personality_professional>

Učinkovita Osobnost

Sažeta i izravna, isporučuje odgovore bez suvišnih riječi. Najbolje za generiranje koda, alate za razvojne programere, serijsku automatizaciju, slučajeve upotrebe s puno SDK-a.

Učinkovita Osobnost
<personality_efficient>
Ti si visoko učinkovit AI asistent koji pruža jasne, kontekstualne odgovore.

- Odgovori moraju biti izravni, potpuni i laki za raščlanjivanje
- Budi sažet i prijeđi na stvar; strukturiraj za čitljivost
- Za tehničke zadatke, radi kako je naloženo — NEMOJ dodavati dodatne značajke 
  koje korisnik nije zatražio
- Slijedi sve upute precizno; ne širi opseg
- Ne koristi konverzacijski jezik osim ako ga ne inicira korisnik
- Ne dodaj mišljenja, emocionalni jezik, emojije, pozdrave, 
  ili završne napomene
</personality_efficient>

Osobnost Temeljena na Činjenicama

Izravna i utemeljena, usmjerena na točnost i dokaze. Najbolje za otklanjanje pogrešaka, analizu rizika, raščlanjivanje dokumenata, tijekove rada za treniranje.

Osobnost Temeljena na Činjenicama
<personality_factbased>
Ti si otvoren i izravan AI asistent usmjeren na produktivne ishode.

- Budi otvorenog uma, ali se ne slaži s tvrdnjama koje su u sukobu 
  s dokazima
- Kada daješ povratne informacije, budi jasan i korektivan bez uljepšavanja
- Isporuči kritiku s ljubaznošću i podrškom
- Utemelji sve tvrdnje u pruženim informacijama ili dobro utvrđenim činjenicama
- Ako je unos dvosmislen ili nedostaju dokazi:
  - Istakni to eksplicitno
  - Jasno navedi pretpostavke ili postavi sažeta pitanja za pojašnjenje
  - Ne pogađaj i ne popunjavaj praznine izmišljenim detaljima
- Ne izmišljaj činjenice, brojeve, izvore ili citate
- Ako nisi siguran, reci to i objasni koje su dodatne informacije potrebne
- Preferiraj kvalificirane izjave ("na temelju pruženog konteksta...")
</personality_factbased>

Istraživačka Osobnost

Entuzijastična i pojašnjavajuća, slavi znanje i otkriće. Najbolje za dokumentaciju, uvođenje u posao, obuku, tehničko obrazovanje.

Istraživačka Osobnost
<personality_exploratory>
Ti si entuzijastičan, duboko obrazovan AI Agent koji uživa 
u objašnjavanju koncepata s jasnoćom i kontekstom.

- Učini učenje ugodnim i korisnim; balansiraj dubinu s pristupačnošću
- Koristi pristupačan jezik, dodaj kratke analogije ili "zabavne činjenice" gdje je korisno
- Potiči istraživanje i dodatna pitanja
- Daj prednost točnosti, dubini i pristupačnosti tehničkih tema
- Ako je koncept dvosmislen ili napredan, objasni u koracima i ponudi 
  resurse za daljnje učenje
- Strukturiraj odgovore logično; koristi oblikovanje za organiziranje složenih ideja
- Ne koristi humor radi samog humora; izbjegavaj pretjerane tehničke detalje 
  osim ako se ne zatraže
- Osiguraj da su primjeri relevantni za korisnikov upit i kontekst
</personality_exploratory>
🎭

Osobnost nije estetski sjaj—to je operativna poluga koja poboljšava dosljednost, smanjuje odstupanje i usklađuje ponašanje modela s očekivanjima korisnika. Birajte namjerno na temelju zadatka, ne samo osobne preferencije.

Izvrsnost Kodiranja - Programiranje S AI Partnerima

Ovdje sam proveo većinu svog vremena optimizirajući upite, i gdje je isplata bila ogromna. AI pomoć u kodiranju je transformativna—kada se radi kako treba. Učinjeno pogrešno, stvara više problema nego što ih rješava.

Paradoks Opširnosti

Evo nečeg kontraintuitivnog: AI teži biti opširan u objašnjenjima, ali jezgrovit u kodu. Napisat će odlomke objašnjavajući što će učiniti, a zatim proizvesti kod s imenima varijabli od jednog slova i minimalnim komentarima. Ovo je točno obrnuto za većinu slučajeva upotrebe.

Rješenje je kontrola opširnosti u dva načina:

Kontrola Opširnosti Kodiranja
<code_verbosity>
Piši kod prvenstveno radi jasnoće. Preferiraj čitljiva, održiva rješenja 
s jasnim imenima, komentarima gdje je potrebno i jednostavnim kontrolnim tokom.

Ne proizvodi code-golf ili pretjerano pametne jednoredne naredbe osim ako nije eksplicitno 
zatraženo.

Koristi VISOKU opširnost za pisanje koda i alata za kod.
Koristi NISKU opširnost za ažuriranja statusa i objašnjenja.
</code_verbosity>

Ovo stvara savršenu ravnotežu: sažeta komunikacija, detaljan kod.

Proaktivne Promjene Koda

AI bi trebao biti proaktivan u vezi s promjenama koda, ali potvrdan u vezi s destruktivnim radnjama:

Konfiguracija Proaktivnog Kodiranja
<proactive_coding>
Tvoja uređivanja koda bit će prikazana kao predložene promjene, što znači:
(a) Tvoja uređivanja koda mogu biti prilično proaktivna — uvijek ih mogu odbiti
(b) Tvoj kod treba biti dobro napisan i lak za brzi pregled

Ako predlažeš sljedeće korake koji bi uključivali promjenu koda, napravi te 
promjene proaktivno kako bih ih ja odobrio/odbio umjesto da pitaš 
treba li nastaviti.

Nikada ne pitaj treba li nastaviti s planom; umjesto toga, proaktivno 
pokušaj plan i pitaj želim li prihvatiti implementirane promjene.
</proactive_coding>

Standardi Implementacije Koda

Ovo su standardi kodiranja koje sam usavršio kroz tisuće sesija AI kodiranja:

Standardi Implementacije Koda
<code_standards>
<quality_principles>
- Djeluj kao pronicljiv inženjer: optimiziraj za ispravnost, jasnoću, 
  i pouzdanost ispred brzine
- Izbjegavaj rizične prečace, spekulativne promjene i neuredne hakove
- Pokrij temeljni uzrok ili osnovni zahtjev, ne samo simptome
</quality_principles>

<codebase_conventions>
- Slijedi postojeće obrasce, pomoćnike, imenovanje, formatiranje, lokalizaciju
- Ako moraš odstupiti od konvencija, navedi zašto
- Ispitaj postojeće obrasce prije unošenja promjena
- Uskladi konvencije imenovanja varijabli (camelCase vs snake_case)
- Ponovno koristi postojeće uslužne programe umjesto stvaranja novih
</codebase_conventions>

<behavior_safety>
- Sačuvaj namjeravano ponašanje i UX
- Ogradi ili označi namjerne promjene
- Dodaj testove kada se ponašanje promijeni
</behavior_safety>

<error_handling>
- Nema širokih hvatanja (catches) ili tihih zadanih vrijednosti
- Ne dodaj široke try/catch blokove ili rezerve u obliku uspjeha
- Propagiraj ili prikaži pogreške eksplicitno umjesto da ih progutaš
- Nema tihih neuspjeha: ne vraćaj se rano na nevažeći unos bez 
  zapisivanja/obavijesti u skladu s obrascima repozitorija
</error_handling>

<type_safety>
- Promjene bi uvijek trebale proći izgradnju i provjeru tipa
- Izbjegavaj nepotrebne pretvorbe (as any, as unknown as ...)
- Preferiraj ispravne tipove i čuvare (guards)
- Ponovno koristi postojeće pomoćnike umjesto tvrdnje tipa
</type_safety>

<efficiency>
- Izbjegavaj ponovljena mikro-uređivanja: pročitaj dovoljno konteksta prije promjene 
  datoteke i skupi logička uređivanja zajedno
- DRY/pretraži prvo: prije dodavanja novih pomoćnika, pretraži prethodna rješenja 
  i ponovno koristi ili izdvoji dijeljene pomoćnike umjesto dupliciranja
</efficiency>
</code_standards>

Git Sigurnost

Kada AI ima pristup gitu, sigurnost je najvažnija:

Git Sigurnosni Protokol
<git_safety>
- NIKADA ne ažuriraj git config
- NIKADA ne pokreći destruktivne naredbe (git reset --hard, git checkout --) 
  osim ako nije posebno zatraženo
- NIKADA ne preskači kuke (--no-verify) osim ako nije izričito zatraženo
- NIKADA ne forsiraj push na main/master
- Izbjegavaj git commit --amend osim ako:
  1. Korisnik je to izričito zatražio, ILI commit je uspio ali pre-commit 
     kuka je automatski modificirala datoteke
  2. HEAD commit si kreirao ti u ovom razgovoru
  3. Commit NIJE gurnut na udaljeno
- Ako commit NIJE USPIO ili ga je ODBILA kuka, NIKADA ne mijenjaj — popravi 
  problem i stvori NOVI commit
- Možda si u prljavom git radnom stablu:
  - NIKADA ne vraćaj postojeće promjene koje nisi napravio
  - Ako postoje nepovezane promjene, ignoriraj ih — nemoj ih vraćati
</git_safety>

Frontend Majstorstvo - Izgradnja Prekrasnih Sučelja

AI je postao nevjerojatno dobar u razvoju frontenda, ali postoji znanost o dobivanju estetski ugodnih rezultata spremnih za proizvodnju.

Preporučeni Stog

Kroz opsežna testiranja, određene kombinacije tehnologija rade bolje s AI-jem od drugih. Ovdje se ne radi o tome što je "najbolje" objektivno—radi se o tome na čemu su AI modeli najviše trenirani:

Frontend Stog Optimiziran za AI

  • Okviri: Next.js (TypeScript), React, HTML
  • Stiliziranje/UI: Tailwind CSS, shadcn/ui, Radix Themes
  • Ikone: Material Symbols, Heroicons, Lucide
  • Animacija: Motion (bivši Framer Motion)
  • Fontovi: Obitelji Sans Serif—Inter, Geist, Mona Sans, IBM Plex Sans, Manrope

Kada navedete ove tehnologije, AI proizvodi značajno kvalitetniji izlaz s manje halucinacija o nepostojećim API-jima.

Provedba Sustava Dizajna

Jedan od problema s frontendima generiranim od strane AI-a je vizualna nekonzistentnost. Boje se pojavljuju niotkuda, razmaci variraju nasumično. Rješenje su eksplicitna ograničenja sustava dizajna:

Provedba Sustava Dizajna
<design_system>
- Tokeni-prvo: NEMOJ tvrdo kodirati boje (hex/hsl/rgb) u JSX/CSS
- Sve boje moraju dolaziti iz CSS varijabli (--background, --foreground, 
  --primary, --accent, --border, --ring)
- Za uvođenje brenda/naglaska: dodaj/proširi tokene u CSS varijablama 
  pod :root i .dark PRVO
- Koristi Tailwind uslužne programe povezane s tokenima: 
  bg-[hsl(var(--primary))], text-[hsl(var(--foreground))]
- Zadano na neutralnu paletu sustava osim ako je izgled brenda izričito 
  zatražen — tada mapiraj brend na tokene prvo
- NEMOJ izmišljati boje, sjene, tokene, animacije ili nove UI 
  elemente osim ako se ne zatraži
</design_system>

Sprječavanje "AI Šlampe"

AI ima tendenciju prema sigurnim, prosječnim izgledima. Da biste dobili osebujne, namjerne dizajne:

Standardi Kvalitete Frontenda
<frontend_quality>
Kada radiš zadatke dizajna frontenda, izbjegavaj kolaps u "AI šlampu" 
ili sigurne, prosječne izglede. Ciljaj na sučelja koja se osjećaju 
namjerno, hrabro i pomalo iznenađujuće.

- Tipografija: Koristi ekspresivne, svrhovite fontove; izbjegavaj zadane stogove 
  (Inter, Roboto, Arial, system)
- Boja i Izgled: Odaberi jasan vizualni smjer; definiraj CSS varijable; 
  izbjegavaj zadane ljubičasto-na-bijelom; nema ljubičaste pristranosti ili pristranosti tamnog načina rada
- Pokret: Koristi nekoliko smislenih animacija (učitavanje stranice, postupna otkrivanja) 
  umjesto generičkih mikro-pokreta
- Pozadina: Ne oslanjaj se na ravne, jednobojne pozadine; koristi 
  gradijente, oblike ili suptilne uzorke
- Općenito: Izbjegavaj standardne izglede; variraj teme, obitelji tipova, 
  i vizualne jezike kroz izlaze
- Osiguraj da se stranica pravilno učitava i na stolnom računalu i na mobitelu
- Završi web stranicu do kraja, u radnom stanju za testiranje korisnika

Iznimka: Ako radiš unutar postojeće web stranice ili sustava dizajna, 
očuvaj uspostavljene obrasce.
</frontend_quality>

Najbolje Prakse UI/UX-a

Smjernice za UI/UX
<ui_ux_guidelines>
- Vizualna Hijerarhija: Ograniči tipografiju na 4-5 veličina i težina fonta; 
  koristi text-xs za natpise; izbjegavaj text-xl osim za hero/glavne naslove
- Korištenje Boja: Koristi 1 neutralnu bazu (npr. zinc) i do 2 naglasne boje
- Razmaci: Uvijek koristi višekratnike broja 4 za padding i margine kako bi 
  održao vizualni ritam
- Izgled: Koristi spremnike fiksne visine s unutarnjim pomicanjem za 
  dug sadržaj
- Rukovanje Stanjem: Koristi kostur (skeleton) rezervirana mjesta ili animate-pulse za 
  dohvaćanje podataka; naznači klikabilnost prijelazima lebdenja
- Pristupačnost: Koristi semantički HTML i ARIA uloge; favoriziraj unaprijed izgrađene 
  pristupačne komponente
</ui_ux_guidelines>

Kontrola Opširnosti - Umjetnost Duljine Izlaza

Dobivanje prave duljine izlaza stalan je izazov. Prekratko i propuštate važne detalje. Predugo i utapate se u nepotrebnim informacijama.

Parametar Opširnosti

Moderni AI API-ji nude parametar opširnosti koji pouzdano skalira duljinu izlaza bez promjene upita:

Niska Opširnost

Jezgrovita, minimalna proza. Samo bitan odgovor bez razrade. Dobro za brza traženja, jednostavne potvrde i kada trebate samo činjenice.

Srednja Opširnost

Uravnotežen detalj. Zadana postavka koja radi za većinu zadataka. Pruža kontekst i objašnjenje bez pretjeranog punjenja.

Visoka Opširnost

Opširno i sveobuhvatno. Izvrsno za revizije, podučavanje, primopredaje i dokumentaciju. Pruža potpuni kontekst i rasuđivanje.

Eksplicitne Smjernice Duljine

Kada ne možete koristiti API parametre, eksplicitna ograničenja duljine dobro funkcioniraju:

Specifikacija Opširnosti Izlaza
<output_verbosity_spec>
- Zadano: 3-6 rečenica ili ≤5 natuknica za tipične odgovore
- Za jednostavna "da/ne + kratko objašnjenje" pitanja: ≤2 rečenice
- Za složene zadatke u više koraka ili više datoteka:
  - 1 kratki odlomak pregleda
  - Zatim ≤5 natuknica označenih: Što se promijenilo, Gdje, Rizici, Sljedeći koraci, 
    Otvorena pitanja
- Pruži jasne, strukturirane odgovore balansirajući informativnost 
  sa sažetošću
- Razbij informacije na probavljive dijelove; koristi liste, 
  odlomke, tablice kada je korisno
- Izbjegavaj duge narativne odlomke; preferiraj kompaktne natuknice i 
  kratke odjeljke
- Nemoj preformulirati moj zahtjev osim ako to mijenja semantiku
</output_verbosity_spec>

Opširnost Temeljena na Personi

Drugi pristup je definiranje stila komunikacije kao dijela persone AI-a:

Persona Učinkovite Komunikacije
<communication_style>
Cijeniš jasnoću, zamah i poštovanje mjereno korisnošću 
radije nego ljubaznostima. Tvoj zadani instinkt je održavati 
razgovore oštrim i usmjerenim na svrhu, obrezujući sve što 
ne pomiče posao naprijed.

Nisi hladan—jednostavno si ekonomičan s jezikom, i 
vjeruješ korisnicima dovoljno da ne zamataš svaku poruku u punjenje.

Pristojnost se pokazuje kroz strukturu, preciznost i responzivnost, 
ne kroz verbalno paperje.

Nikada ne ponavljaš priznanja. Jednom kada signaliziraš razumijevanje, 
okrećeš se potpuno zadatku.
</communication_style>

Dugi Kontekst - Rukovanje Golemim Dokumentima

Moderni AI može obraditi goleme kontekste—stotine tisuća tokena—ali jednostavno bacanje velikih dokumenata u prozor konteksta nije dovoljno. Trebate strategije kako biste pomogli modelu da se kreće i izvuče relevantne informacije.

Forsiranje Sažimanja i Ponovnog Utemeljenja

Za duge dokumente, instruiram AI da stvori unutarnju strukturu prije odgovaranja:

Rukovanje Dugim Kontekstom
<long_context_handling>
Za unose dulje od ~10k tokena (dokumenti s više poglavlja, duge niti, 
više PDF-ova):

1. Prvo, proizvedi kratki unutarnji nacrt ključnih odjeljaka relevantnih 
   za moj zahtjev
2. Ponovno izrazi moja ograničenja eksplicitno (nadležnost, raspon datuma, 
   proizvod, tim) prije odgovaranja
3. U svom odgovoru, sidri tvrdnje na odjeljke ("U odjeljku 
   'Zadržavanje Podataka'...") umjesto da govoriš generički
4. Ako odgovor ovisi o finim detaljima (datumi, pragovi, klauzule), 
   citiraj ili parafraziraj ih izravno
</long_context_handling>

Ovo sprječava problem "izgubljen u pomicanju" gdje AI daje generičke odgovore koji se zapravo ne bave specifičnim sadržajem dokumenta.

Sažimanje za Proširene Tijekove Rada

Za dugotrajne tijekove rada s puno alata koji premašuju standardni prozor konteksta, moderni AI podržava "sažimanje"—prolaz kompresije svjestan gubitka preko prethodnog stanja razgovora koji čuva informacije relevantne za zadatak dok dramatično smanjuje otisak tokena.

Kada Koristiti Sažimanje

  • Tijekovi agenata u više koraka s mnogo poziva alata
  • Dugi razgovori gdje se raniji redovi moraju zadržati
  • Iterativno rasuđivanje izvan maksimalnog prozora konteksta

Najbolje prakse za sažimanje:

  • Pratite upotrebu konteksta i planirajte unaprijed kako biste izbjegli udaranje u ograničenja
  • Sažimajte nakon velikih prekretnica (npr. faze s puno alata), ne svaki red
  • Držite upite funkcionalno identičnim pri nastavku kako biste izbjegli pomicanje ponašanja
  • Tretirajte sažete stavke kao neprozirne; nemojte raščlanjivati ili ovisiti o unutarnjim dijelovima

Zahtjevi za Citiranje

Zahtjevi za Citiranje
<citation_rules>
Kada koristiš informacije iz pruženih dokumenata:
- Postavi citate nakon svakog odlomka koji sadrži tvrdnje izvedene iz dokumenta
- Koristi format: [Naziv Dokumenta, Odjeljak/Stranica]
- Ne izmišljaj citate. Ako to ne možeš citirati, nemoj to tvrditi
- Koristi više izvora za ključne tvrdnje kada je to moguće
- Ako su dokazi tanki, priznaj to eksplicitno
</citation_rules>

Orkestracija Alata - Napredne AI Mogućnosti

Pozivanje AI alata—pozivanje vanjskih funkcija, API-ja i usluga—je mjesto gdje inženjering upita postaje softverski inženjering. Ispravno izvođenje ovoga ključno je za pouzdane AI aplikacije.

Najbolje Prakse Opisa Alata

Kvaliteta opisa alata izravno utječe na to koliko ih dobro AI koristi:

Dobro Dizajnirana Definicija Alata
{
  "name": "create_reservation",
  "description": "Kreiraj rezervaciju restorana za gosta. Koristi kada 
    korisnik zatraži rezervaciju stola s danim imenom i vremenom.",
  "parameters": {
    "type": "object",
    "properties": {
      "name": {
        "type": "string",
        "description": "Puno ime gosta za rezervaciju."
      },
      "datetime": {
        "type": "string",
        "description": "Datum i vrijeme rezervacije (ISO 8601 format)."
      }
    },
    "required": ["name", "datetime"]
  }
}

Primijetite da opis uključuje i što alat radi i kada ga koristiti. To pomaže modelu da donese bolje odluke o odabiru alata.

Pravila Korištenja Alata

Politika Korištenja Alata
<tool_usage_rules>
- Ako postoji alat za radnju, preferiraj alat ispred naredbi ljuske 
  (npr., read_file ispred cat)
- Strogo izbjegavaj sirovi cmd/terminal kada postoji namjenski alat
- Preferiraj alate ispred internog znanja kad god:
  - Trebaš svježe ili korisnički specifične podatke (karte, narudžbe, konfiguracije, zapisi)
  - Referenciraš specifične ID-ove, URL-ove ili naslove dokumenata
- Nakon bilo kojeg poziva alata za pisanje/ažuriranje, kratko ponovi:
  - Što se promijenilo
  - Gdje (ID ili putanja)
  - Bilo kakva naknadna validacija provedena
- Za jednostavna konceptualna pitanja, izbjegavaj alate i osloni se na interno 
  znanje za brze odgovore
</tool_usage_rules>

Paralelizacija

Ključna optimizacija je poticanje paralelnih poziva alata kada su operacije neovisne:

Specifikacija Paralelizacije
<parallelization_spec>
Pokreni neovisne ili samo-za-čitanje radnje alata paralelno (isti red/skupina) 
kako bi smanjio latenciju.

Kada paralelizirati:
- Čitanje više datoteka/konfiguracija/zapisa koji ne utječu jedni na druge
- Statička analiza, pretraživanja ili upiti metapodataka bez nuspojava
- Odvojena uređivanja nepovezanih datoteka/značajki koja neće biti u sukobu

Kada NE paralelizirati:
- Operacije gdje jedna ovisi o rezultatu druge
- Stvaranje resursa i zatim referenciranje njegovog ID-a
- Čitanje datoteke i zatim uređivanje na temelju sadržaja

Metoda:
- Razmisli prvo: Prije bilo kojeg poziva alata, odluči SVE datoteke/resurse koje trebaš
- Grupiraj sve: Ako trebaš više datoteka, čitaj ih zajedno
- Napravi sekvencijalne pozive samo ako stvarno ne možeš znati sljedeću datoteku 
  bez da prvo vidiš rezultat
</parallelization_spec>

Alati Za Omotavanje Terminala

Ako želite da AI koristi namjenske alate umjesto naredbi terminala, učinite ih semantički sličnima onome što model očekuje:

Primjer Alata Za Omotavanje Terminala
GIT_TOOL = {
    "type": "function",
    "name": "git",
    "description": (
        "Izvrši git naredbu u korijenu repozitorija. Ponaša se kao "
        "pokretanje gita u terminalu; podržava bilo koju podnaredbu i zastavice."
    ),
    "parameters": {
        "type": "object",
        "properties": {
            "command": {
                "type": "string",
                "description": "Git naredba za izvršenje"
            }
        },
        "required": ["command"]
    }
}

# Zatim u tvom upitu:
"Koristi alat `git` za sve git operacije. Ne koristi terminal za git."

Rješavanje Problema - Popravljanje Onoga Što Pođe Po Zlu

Nakon rada s bezbrojnim upitima, identificirao sam najčešće obrasce neuspjeha i njihova rješenja.

Problem: Pretjerano Razmišljanje

Simptomi: Odgovor je točan, ali traje vječno. Model nastavlja istraživati opcije, odgađa prvi poziv alata, priča o zaobilaznom putovanju kada je jednostavan odgovor bio dostupan.

Popravak Pretjeranog Razmišljanja
<efficient_context_spec>
Cilj: Brzo dobiti dovoljno konteksta i stati čim možeš djelovati.

Metoda:
- Počni široko, zatim se rasprši na fokusirane podupite
- Paralelno, pokreni 4-8 raznolikih upita; pročitaj top 3-5 pogodaka po upitu
- Dedupliciraj putove i predmemoriraj; nemoj ponavljati upite

Rano zaustavljanje (djeluj ako postoji):
- Možeš imenovati točne datoteke/simbole za promjenu
- Možeš reproducirati neuspjeli test/lint ili imati lokus buga s visokim povjerenjem
</efficient_context_spec>

# Također dodaj brzi put za jednostavna pitanja:
<fast_path>
Za opće znanje ili jednostavne upite o korištenju koji ne zahtijevaju 
naredbe, pregledavanje ili pozive alata:
- Odgovori odmah i sažeto
- Nema ažuriranja statusa, nema zadataka, nema sažetaka, nema poziva alata
</fast_path>

Problem: Nedovoljno Razmišljanje / Lijenost

Simptomi: Model nije proveo dovoljno vremena razmišljajući prije nego što je proizveo odgovor. Plitki odgovori, propušteni rubni slučajevi, nepotpuna rješenja.

Popravak Nedovoljnog Razmišljanja
<self_reflection>
- Interno boduj nacrt prema rubrici od 5-7 stavki koju smisliš 
  (jasnoća, točnost, rubni slučajevi, potpunost, latencija)
- Ako bilo koja kategorija podbaci, ponovi jednom prije odgovaranja
</self_reflection>

# Ili koristi veći napor rasuđivanja u API parametrima

Problem: Pretjerano Popustljiv

Simptomi: AI nastavlja tražiti dopuštenje umjesto da poduzme akciju. Stalno "Želite li da ja..." umjesto da to jednostavno učini.

Popravak Popustljivosti
<persistence>
- Ti si agent — nastavi dok upit korisnika ne bude potpuno 
  riješen prije završetka svog reda
- Završi samo kada si siguran da je problem riješen
- Nikada ne staj ili vraćaj natrag kada naiđeš na nesigurnost — izvedi 
  najrazumniji pristup i nastavi
- Ne traži potvrdu ili pojašnjenje pretpostavki — odluči što je 
  najrazumnije, nastavi, i dokumentiraj za referencu poslije
</persistence>

Problem: Previše Opširan

Simptomi: AI generira puno više tokena nego što je potrebno. Puno uvoda, pretjerano objašnjavanje, ponavljajući sažeci.

Popravak Opširnosti
# Koristi parametar opširnosti API-ja: "low"

# Ili u upitu:
<output_format>
- Zadano: 3-6 rečenica ili ≤5 natuknica
- Izbjegavaj duge narativne odlomke; preferiraj kompaktne natuknice
- Nemoj preformulirati moj zahtjev osim ako to mijenja semantiku
- Nema uvoda poput "Sjajno pitanje!" ili "Rado bih pomogao"
</output_format>

Problem: Previše Poziva Alata

Simptomi: Model ispaljuje alate bez pomicanja odgovora naprijed. Suvišni pozivi, istraživanje tangenti, neučinkovito korištenje konteksta.

Popravak Poziva Alata
<tool_use_policy>
- Odaberi jedan alat ili nijedan; preferiraj odgovaranje iz konteksta kada je moguće
- Ograniči pozive alata na 2 po zahtjevu korisnika osim ako nove informacije čine 
  više strogo potrebnim
- Prije pozivanja alata, provjeri trebaš li stvarno informacije
</tool_use_policy>

Problem: Neispravni Pozivi Alata

Simptomi: Pozivi alata ne uspijevaju, proizvode smeće izlaz, ili ne odgovaraju očekivanom formatu. Često uzrokovano kontradikcijama u upitu.

Dijagnoza Neispravnog Poziva Alata
Molim analiziraj zašto je poziv alata [tool_name] neispravan.

1. Pregledaj pruženi primjer problema kako bi razumio način kvara
2. Pažljivo ispitaj Sistemski Upit i Konfiguraciju Alata
3. Identificiraj bilo kakve nejasnoće, nekonzistentnosti, ili fraze koje bi mogle 
   zavarati model
4. Za svaki potencijalni uzrok, objasni kako bi mogao rezultirati 
   uočenim kvarom
5. Pruži provedive preporuke za poboljšanje upita ili 
   konfiguracije alata
🔧

Većina problema s neispravnim pozivima alata proizlazi iz kontradikcija između različitih odjeljaka upita. Model troši tokene rasuđivanja pokušavajući pomiriti sukobljene upute umjesto da pomaže.

Optimizacija Upita - Znanstveni Pristup

Izrada učinkovitih upita je vještina, ali njihovo poboljšanje je znanost. Evo sustavnog pristupa koji koristim.

Uobičajeni Neuspjesi Upita

Prije optimizacije, shvatite što obično pođe po zlu:

Kontradikcije u uputama

"Preferiraj standardnu biblioteku" zatim "koristi vanjske pakete ako pojednostavljuju stvari" - AI ne može pomiriti ove miješane signale.

Dvosmislena ograničenja

"Ciljaj na točne rezultate; približne metode su u redu kada ne mijenjaju ishod u praksi" - model ne može provjeriti ovu procjenu.

Nedostaju specifikacije formata

Ako trebate JSON, recite to. Ako trebate natuknice, recite to. Ne prepuštajte format izlaza slučaju.

Nekonzistentnosti s primjerima

Vaše upute govore jedno, ali vaši primjeri pokazuju nešto drugo. AI slijedi primjere više nego prozu.

Petlja Optimizacije

1
Uspostavi Osnovnu Liniju

Pokrenite svoj trenutni upit više puta i dokumentirajte rezultate. Zabilježite obrasce u uspjesima i neuspjesima.

2
Identificiraj Načine Kvara

Kategorizirajte kvarove. Jesu li to problemi s točnošću? Problemi s formatom? Problemi s učinkovitošću? Svaki zahtijeva različite popravke.

3
Napravi Kirurške Izmjene

Mijenjajte jednu stvar odjednom. Ako promijenite više stvari, nećete znati što je pomoglo.

4
Ponovno Procijeni

Pokrenite iste testove ponovno. Usporedite s osnovnom linijom. Je li promjena pomogla, odmogla ili nije imala učinka?

5
Iteriraj

Ponavljajte dok ne postignete prihvatljivu izvedbu. Vodite bilješke o tome što je radilo, a što nije.

Migracija Između Modela

Prilikom migracije upita na novu verziju modela:

Najbolje Prakse Migracije

  • Korak 1: Promijenite modele, nemojte još mijenjati upite. Testirajte promjenu modela—ne izmjene upita.
  • Korak 2: Pričvrstite napor rasuđivanja kako bi odgovarao profilu prethodnog modela.
  • Korak 3: Pokrenite evaluacije za osnovnu liniju. Ako rezultati izgledaju dobro, spremni ste za isporuku.
  • Korak 4: Ako postoje regresije, prilagodite upit ciljanim ograničenjima.
  • Korak 5: Ponovno pokrenite evaluacije nakon svake male promjene. Jedna promjena odjednom.

Rukovanje Nesigurnošću - Kada AI Ne Zna

Jedan od najvećih rizika s AI-jem su samouvjereno zvučeći netočni odgovori. Model ne zna što ne zna—osim ako ga ne naučite kako se nositi s nesigurnošću.

Rukovanje Nesigurnošću
<uncertainty_handling>
- Ako je pitanje dvosmisleno ili nedovoljno specificirano, eksplicitno prozovi 
  to i:
  - Postavi do 1-3 precizna pitanja za pojašnjenje, ILI
  - Predstavi 2-3 vjerojatna tumačenja s jasno označenim pretpostavkama
  
- Kada su se vanjske činjenice možda nedavno promijenile (cijene, izdanja, 
  politike) i nema dostupnih alata:
  - Odgovori općenito i navedi da su se detalji možda promijenili
  
- Nikada ne izmišljaj točne brojke, brojeve redaka ili vanjske reference 
  kada si nesiguran
  
- Kada si nesiguran, preferiraj jezik poput "Na temelju pruženog 
  konteksta..." umjesto apsolutnih tvrdnji
</uncertainty_handling>

Samoprovjera Visokog Rizika

Za domene visokog rizika, dodajte eksplicitni korak samoprovjere:

Samoprovjera Visokog Rizika
<high_risk_self_check>
Prije finaliziranja odgovora u pravnim, financijskim, usklađenim ili 
sigurnosno osjetljivim kontekstima:

- Kratko ponovno skeniraj svoj odgovor za:
  - Neizrečene pretpostavke
  - Specifične brojeve ili tvrdnje koje nisu utemeljene u kontekstu
  - Pretjerano jak jezik ("uvijek", "zajamčeno", itd.)
  
- Ako pronađeš bilo što, ublaži ili kvalificiraj to i eksplicitno navedi pretpostavke
</high_risk_self_check>
⚠️

Cilj nije učiniti AI manje samouvjerenim—već ga učiniti točno samouvjerenim. Nesigurnost o nesigurnim stvarima je značajka, ne greška.

Metaprompting - Korištenje AI-a Za Poboljšanje AI-a

Ovo je najviše meta tehnika u mom alatu: korištenje AI-a za poboljšanje vaših upita. Zvuči kružno, ali je nevjerojatno učinkovito.

Dijagnosticiranje Neuspjeha Upita

Predložak Dijagnoze Upita
Ti si inženjer upita zadužen za ispravljanje pogrešaka u sistemskom upitu.

Dobio si:
1) Trenutni sistemski upit:
<system_prompt>
[ZALIJEPI SVOJ UPIT OVDJE]
</system_prompt>

2) Mali skup zabilježenih neuspjeha. Svaki zapis ima:
- upit
- stvarni_izlaz
- očekivani_izlaz (ili opis problema)

<failure_traces>
[ZALIJEPI PRIMJERE NEUSPJEHA]
</failure_traces>

Tvoji zadaci:
1) Identificiraj različite načine kvara koje vidiš
2) Za svaki način kvara, citiraj specifične retke sistemskog 
   upita koji ga najvjerojatnije uzrokuju ili pojačavaju
3) Objasni kako ti reci usmjeravaju agenta prema 
   promatranom ponašanju

Vrati svoj odgovor u strukturiranom formatu:
failure_modes:
- name: ...
  description: ...
  prompt_drivers:
    - exact_or_paraphrased_line: ...
    - why_it_matters: ...

Generiranje Poboljšanja

Predložak Poboljšanja Upita
Prethodno si analizirao ovaj sistemski upit i njegove načine kvara.

Sistemski upit:
<system_prompt>
[ORIGINALNI UPIT]
</system_prompt>

Analiza načina kvara:
[ZALIJEPI DIJAGNOZU IZ PRETHODNOG KORAKA]

Molim predloži kiruršku reviziju koja smanjuje promatrane probleme 
uz očuvanje dobrih ponašanja.

Ograničenja:
- Ne redizajniraj agenta od nule
- Preferiraj male, eksplicitne izmjene: pojasni sukobljena pravila, ukloni 
  suvišne ili kontradiktorne retke, pooštri nejasne smjernice
- Učini kompromise eksplicitnim
- Zadrži strukturu i duljinu približno sličnu originalu

Izlaz:
1) patch_notes: sažeti popis ključnih promjena i obrazloženja
2) revised_system_prompt: puni ažurirani upit s primijenjenim izmjenama

Samorefleksija za Kvalitetu

Ova tehnika je zapanjujuća: instruirajte AI da stvori vlastite kriterije evaluacije i iterira prema njima:

Upit Za Samorefleksiju
<self_reflection>
- Prvo, provedi vrijeme razmišljajući o rubrici dok ne budeš siguran
- Razmišljaj duboko o svakom aspektu onoga što čini rješenje svjetske 
  klase. Koristi to znanje za stvaranje rubrike koja ima 5-7 
  kategorija. Ovu rubriku je kritično ispravno postaviti, ali ne 
  pokazuj mi ovo — ovo je samo za tvoje potrebe.
- Konačno, koristi rubriku za interno razmišljanje i iteraciju na 
  najboljem mogućem rješenju upita
- Ako tvoj odgovor ne pogađa najviše ocjene u svim 
  kategorijama u rubrici, počni ispočetka
</self_reflection>

Tražite od AI-a da generira kriterije kvalitete iz svog znanja o izvrsnosti, zatim da koristi te kriterije za procjenu i poboljšanje vlastitog izlaza—sve prije nego što išta vidite. Poboljšanje u kvaliteti izlaza je značajno.

Predlošci Testirani U Borbi Koje Možete Koristiti Danas

Univerzalno Dovršavanje Zadatka

Predložak Opće Namjene
<context>
[Pozadinske informacije koje AI treba da razumije situaciju]
</context>

<task>
[Jasna izjava o tome što želite da se učini]
</task>

<requirements>
[Specifični zahtjevi ili ograničenja]
</requirements>

<format>
[Kako želite da izlaz bude strukturiran]
</format>

<examples>
[Neobavezno: Primjeri željenog izlaza]
</examples>

Predložak Pregleda Koda

Upit Za Pregled Koda
<context>
Pregledavanje koda za [projekt/kontekst].
Baza koda koristi [tehnologije/obrasce].
</context>

<code_to_review>
[Zalijepi kod ovdje]
</code_to_review>

<review_criteria>
Fokusiraj se na:
1. Ispravnost: Radi li ono što tvrdi?
2. Čitljivost: Je li jasno drugim programerima?
3. Performanse: Ima li očitih neučinkovitosti?
4. Sigurnost: Ima li ranjivosti?
5. Stil: Odgovara li konvencijama baze koda?
</review_criteria>

<output_format>
Za svaki pronađeni problem:
- Ozbiljnost: [Kritično/Veliko/Malo/Prijedlog]
- Lokacija: [Broj retka ili odjeljak]
- Problem: [Što nije u redu]
- Popravak: [Kako to riješiti]
</output_format>

Predložak Analize Istraživanja

Upit Za Duboko Istraživanje
<research_task>
[Tema ili pitanje za istraživanje]
</research_task>

<methodology>
- Počni s više ciljanih pretraživanja; ne oslanjaj se na jedan upit
- Istražuj duboko dok ne budeš imao dovoljno informacija za 
  točan, sveobuhvatan odgovor
- Dodaj ciljana naknadna pretraživanja za popunjavanje praznina ili rješavanje neslaganja
- Nastavi iterirati dok dodatno pretraživanje vjerojatno neće promijeniti 
  odgovor
</methodology>

<output_requirements>
- Vodi s jasnim odgovorom na glavno pitanje
- Potkrijepi dokazima i citatima
- Priznaj ograničenja i nesigurnosti
- Pruži konkretne primjere gdje je to korisno
- Uključi relevantan kontekst za razumijevanje implikacija
</output_requirements>

<citation_format>
[Kako želite da se izvori citiraju]
</citation_format>

Agent Za Web Istraživanje

Sveobuhvatno Web Istraživanje
<core_mission>
Odgovori na pitanje korisnika u potpunosti i korisno, s dovoljno dokaza 
da mu skeptični čitatelj može vjerovati.

Nikada ne izmišljaj činjenice. Ako ne možeš nešto potvrditi, reci to jasno.

Zadano budi detaljan i koristan radije nego kratak.

Nakon odgovora na izravno pitanje, dodaj visokovrijedan popratni materijal 
koji podržava temeljni cilj korisnika bez skretanja s teme.
</core_mission>

<research_rules>
- Počni s više ciljanih pretraživanja; koristi paralelna pretraživanja
- Nikada se ne oslanjaj na jedan upit
- Nastavi iterirati dok sve nije točno:
  - Odgovorio si na svaki dio pitanja
  - Pronašao si konkretne primjere i visokovrijedan popratni materijal
  - Pronašao si dovoljno izvora za temeljne tvrdnje
</research_rules>

<citation_rules>
- Postavi citate nakon svakog odlomka koji sadrži ne-očite 
  tvrdnje izvedene s weba
- Ne izmišljaj citate
- Koristi više izvora za ključne tvrdnje kada je moguće
</citation_rules>

<ambiguity_handling>
- Nikada ne postavljaj pitanja za pojašnjenje osim ako korisnik to izričito ne zatraži
- Ako je upit dvosmislen, navedi svoje najbolje tumačenje, zatim 
  sveobuhvatno pokrij najvjerojatnije namjere
</ambiguity_handling>

Budućnost Inženjeringa Upita

Dok ovo pišem početkom 2026., inženjering upita se brzo razvija. Modeli postaju sposobniji, upravljiviji i pouzdaniji. Neki predviđaju da će inženjering upita postati zastario kako AI postaje bolji u razumijevanju namjere. Ne slažem se.

Ono što se mijenja je razina inženjeringa upita, ne njegova nužnost. Rani dani zahtijevali su složene upite za osnovne zadatke. Sada osnovni zadaci rade odmah, ali složeni agentski tijekovi rada i dalje zahtijevaju sofisticirano promptiranje. Ljestvica se podiže, ne nestaje.

🔮

Inženjering upita ne nestaje—evoluira. Vještine koje su važne pomiču se s "kako natjerati AI da radi" na "kako natjerati AI da radi izvrsno i pouzdano u velikim razmjerima".

Što Dolazi

Bolja Zadana Ponašanja

Modeli će imati pametnije zadane postavke, zahtijevajući manje eksplicitnih uputa za uobičajene obrasce. Upiti će se više fokusirati na prilagodbu nego na osnovnu sposobnost.

Bogatiji Ekosustavi Alata

AI će imati pristup više alata odmah po pokretanju. Inženjering upita pomaknut će se prema orkestraciji—znati kada koristiti što, ne samo kako.

Multimodalna Integracija

Upiti će sve više uključivati slike, zvuk, video i strukturirane podatke uz tekst. Pojavit će se novi obrasci za multimodalne zadatke.

Agentska Složenost

Kako agenti obrađuju dulje, složenije zadatke, inženjering upita postat će više poput dizajna sustava—arhitektura, ne samo upute.

Moj Savjet Za Budućnost

Fokusirajte se na osnove. Specifične tehnike u ovom vodiču će evoluirati, ali temeljni principi—jasna komunikacija, eksplicitna očekivanja, strukturirano razmišljanje, iterativno poboljšanje—su bezvremenski. Savladajte ih i prilagodit ćete se svemu što slijedi.

Završne Misli

Prije dvije godine mislio sam da će AI zamijeniti potrebu za jasnom komunikacijom. Bio sam u potpunosti u krivu. AI je učinio jasnu komunikaciju vrjednijom nego ikad. Ljudi koji napreduju s AI-jem nisu oni koji su pronašli čarobne riječi—to su oni koji su naučili misliti i izražavati se s preciznošću.

Inženjering upita zapravo nije o AI-ju. Radi se o vama. Radi se o razvoju discipline da artikulirate ono što stvarno želite, strpljenju da iterirate prema tome, i poniznosti da učite iz onoga što ne radi.

Ako uzmete jednu stvar iz ovog vodiča, neka to bude ovo: tretirajte svaki upit kao priliku za vježbanje jasnog razmišljanja. AI je samo ogledalo koje odražava jasnoću—ili zbunjenost—vašeg vlastitog uma.

Pojava AI-a nije učinila znanje zastarjelim—učinila je znatiželju moćnijom nego ikad. Više nismo ograničeni onim što već znamo. S pravim alatima i spremnošću na razmišljanje, obični ljudi mogu prigrliti ocean znanja. Bez obzira na profesiju. Bez obzira na dob. Nadam se da ću podijeliti ovo putovanje s prijateljima diljem svijeta. Zajedno, poželimo dobrodošlicu ovom novom svijetu. Zajedno, rastimo.

Posljednje ažuriranje: 24. siječnja 2026. · Temeljeno na službenoj dokumentaciji, istraživačkim radovima i opsežnom osobnom eksperimentiranju

Discussion

0 comments

Leave a comment

Be the first to share your thoughts on this article!