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:
Što AI treba znati o vašoj situaciji? Pozadinske informacije, ograničenja, relevantni detalji i okruženje u kojem radite.
Što točno želite da AI učini? Budite specifični o radnji koju tražite—ne samo o temi, već o stvarnom poslu.
Kako bi izlaz trebao biti strukturiran? Liste, odlomci, blokovi koda, tablice, JSON—navedite to eksplicitno.
Što bi AI trebao izbjegavati? Koje granice postoje? Što je eksplicitno izvan opsega?
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:
<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.
Ž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.
[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.
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?"
[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.
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.
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:
<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:
<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:
<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:
<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:
<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:
<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.
<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.
<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.
<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.
<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:
<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:
<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:
<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_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:
<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:
<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
<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:
<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:
<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:
<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
<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:
{
"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
<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:
<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:
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.
<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.
<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.
<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.
# 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.
<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.
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:
"Preferiraj standardnu biblioteku" zatim "koristi vanjske pakete ako pojednostavljuju stvari" - AI ne može pomiriti ove miješane signale.
"Ciljaj na točne rezultate; približne metode su u redu kada ne mijenjaju ishod u praksi" - model ne može provjeriti ovu procjenu.
Ako trebate JSON, recite to. Ako trebate natuknice, recite to. Ne prepuštajte format izlaza slučaju.
Vaše upute govore jedno, ali vaši primjeri pokazuju nešto drugo. AI slijedi primjere više nego prozu.
Petlja Optimizacije
Pokrenite svoj trenutni upit više puta i dokumentirajte rezultate. Zabilježite obrasce u uspjesima i neuspjesima.
Kategorizirajte kvarove. Jesu li to problemi s točnošću? Problemi s formatom? Problemi s učinkovitošću? Svaki zahtijeva različite popravke.
Mijenjajte jednu stvar odjednom. Ako promijenite više stvari, nećete znati što je pomoglo.
Pokrenite iste testove ponovno. Usporedite s osnovnom linijom. Je li promjena pomogla, odmogla ili nije imala učinka?
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.
<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:
<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
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
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:
<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
<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
<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
<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
<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.
Discussion
0 commentsLeave a comment
Be the first to share your thoughts on this article!