AI ne može čitati vaše misli. AI čita vaše riječi. Kvaliteta vašeg prompta određuje kvalitetu vašeg rezultata.
Prije dvije godine napisao sam svoj prvi prompt za ChatGPT i mislio sam da razumijem umjetnu inteligenciju. Bio sam u krivu. Ono što sam razumio bilo je kako postaviti pitanja—ne kako komunicirati sa strojem koji razmišlja kroz obrasce, vjerojatnosti i tokene. Razlika između ta dva? To je razlika između dobivanja generičkih odgovora i otključavanja mogućnosti za koje niste znali da postoje. Ovo je priča o tome kako sam naučio tečno razgovarati s AI-jem, i sve što sam otkrio na tom putu.
Buđenje: Kada su Jednostavni Promptovi Prestali Raditi
Dogodilo se usred roka projekta. Trebao sam AI pomoć u refaktoriranju složenog koda—nešto što sam radio stotine puta prije. Ali ovaj put, bez obzira kako sam formulirao svoj zahtjev, AI je nastavljao generirati rješenja koja su bila tehnički ispravna, ali potpuno promašila cilj. Dodavao je nepotrebnu složenost. Razbijao je postojeće obrasce. "Popravljao" je stvari koje nisu bile pokvarene.
Bio sam frustriran. Zatim sam postao znatiželjan. Što radim pogrešno?
Ta frustracija odvela me niz zečju rupu koja je promijenila sve: službena dokumentacija, istraživački radovi, vodiči za prompt engineering i tisuće sati eksperimentiranja. Ono što sam pronašao nisu bili samo savjeti i trikovi—bila je to fundamentalna promjena u načinu na koji komuniciram s AI sustavima.
Najnaprednija AI na svijetu beskorisna je ako ne možete prenijeti ono što vam stvarno treba.
Evo istine koju nitko ne govori početnicima: prompting nije traženje čarobnih riječi. Radi se o razumijevanju kako AI modeli obrađuju jezik, koje informacije trebaju i kako strukturirati te informacije da vam model može učinkovito pomoći. To je vještina—i kao svaka vještina, može se naučiti, vježbati i savladati.
Ovaj vodič sadrži sve što bih volio da mi je netko rekao na početku. Ne pojednostavljeni savjeti "budite specifični" koji preplavljivaju internet, već duboko, nijansano razumijevanje koje razlikuje one koji koriste AI od onih koji ga maksimalno iskorištavaju.
Temelji Promptova: Osnove Koje Nitko Ne Podučava
Prije nego što zaronimo u napredne tehnike, postavimo temelje. Svaki učinkovit prompt sadrži kombinaciju sljedećih elemenata:
Što AI treba znati o vašoj situaciji? Pozadinske informacije, ograničenja i relevantni detalji.
Što točno želite da AI napravi? Budite specifični o radnji koju zahtijevate.
Kako izlaz treba biti strukturiran? Liste, paragrafi, blokovi koda, tablice—odredite.
Što AI treba izbjegavati? Koja ograničenja postoje? Što je izvan opsega?
Možete li pokazati što želite? Primjeri vrijede više od tisuću opisa.
Većina ljudi uključuje samo zadatak. Pitaju "Napiši mi e-mail" umjesto "Napiši profesionalni e-mail klijentu koji objašnjava kašnjenje projekta. Drži ga ispod 150 riječi, priznaj neugodnost i predloži novi rok za dva tjedna. Ton treba biti ispravan ali samouvjeren."
Razlika u kvaliteti izlaza je ogromna. I ovo je tek početak.
Uloga Strukture
Jedan od najpodcijenjenijih aspekata pisanja promptova je strukturno formatiranje. Moderni AI modeli izuzetno dobro reagiraju na jasno razgraničene odjeljke. Obilno koristim XML-slične oznake:
<context>
You are helping me prepare a presentation for technical stakeholders.
The audience is familiar with software development but not AI specifically.
</context>
<task>
Explain how large language models work in 5 key points.
</task>
<format>
- Use bullet points
- Each point should be 1-2 sentences
- Avoid jargon or define it when used
</format>
<constraints>
- Do not mention specific model names
- Focus on concepts, not technical implementation
</constraints>
Ova struktura čini nešto moćno: tjera vas da jasno razmislite o tome što vam treba prije nego što pitate. A jasno razmišljanje vodi do jasne komunikacije, koja vodi do jasnih rezultata.
Agentic Workflows: Tretiranje AI-ja kao Kolege
Evo promjene u razmišljanju koja je transformirala moje AI interakcije: prestao sam tretirati AI kao tražilicu i počeo ga gledati kao sposobnog, ali neiskusnog kolegu. Ovaj mentalni model mijenja sve.
Moderni AI modeli poput GPT-5 i Claude ne samo da odgovaraju na pitanja—dizajnirani su da budu agenti. Mogu pozivati alate, prikupljati kontekst, donositi odluke i izvršavati višekoračne zadatke. Ali kao i svaki novi član tima, trebaju dobru uvod obuku, jasna očekivanja i odgovarajuće zaštitne ograde.
AI nije alat koji koristite. To je kolega kojim upravljate. Vještine koje vas čine dobrim šefom također vas čine dobrim piscem promptova.
Razmislite o ovome: kada delegirate rad nekome drugome, ne kažete samo "popravi kod." Objašnjavate što je pokvareno, kakvo je željeno ponašanje, koja ograničenja postoje i kako izgleda uspjeh. Pružate kontekst. Odgovarate na pitanja. Provjeravate napredak.
AI treba isti tretman. Razlika je u tome što trebate predvidjeti pitanja i odgovoriti na njih unaprijed, jer je više interakcija naprijed-nazad skuplje (u vremenu i tokenima) od ispravnog postupanja od početka.
Agentski Način Razmišljanja
Kada gradim agentske aplikacije ili koristim AI za složene zadatke, naučio sam razmišljati u ovim dimenzijama:
Ključna Pitanja za Agentske Zadatke
- Koje je ciljno stanje? Kako AI zna kada je gotov?
- Koje alate ima? Što zapravo može učiniti vs što mora odgoditi?
- Koja je razina autonomije? Treba li tražiti dopuštenje ili nastaviti samostalno?
- Koje su sigurnosne ograde? Koje radnje nikada ne smiju biti poduzete bez potvrde?
- Kako se napredak treba izvještavati? Tiho izvršavanje ili česte nadogradnje?
Ova pitanja tvore temelj svakog složenog prompta koji pišem. Istražimo svaku dimenziju detaljno.
Kontrola AI Žara: Umjetnost Kalibracije
Jedan od najsuptilnijih aspekata prompt engineeringa je kalibriranje onoga što nazivam "agentskim žarom"—ravnoteža između AI koji preuzima inicijativu i AI koji čeka eksplicitne upute. Pogriješite ovdje i dobit ćete AI koji prekomplicira jednostavne zadatke ili prebrzo odustaje od složenih.
Kada Smanjiti Žar
Ponekad trebate da AI bude brz i fokusiran. Ne želite da istražuje svaku granu, radi dodatne pozive alata ili proizvodi duge objašnjenja. Za te situacije koristim promptove fokusirane na ograničenja:
<context_gathering>
Goal: Get enough context fast. Parallelize discovery and stop as soon as you can act.
Method:
- Start broad, then fan out to focused subqueries.
- In parallel, launch varied queries; read top hits per query.
- Deduplicate paths and cache; don't repeat queries.
- Avoid over-searching for context.
Early stop criteria:
- You can name exact content to change.
- Top hits converge (~70%) on one area/path.
Depth:
- Trace only symbols you'll modify or whose contracts you rely on.
- Avoid transitive expansion unless necessary.
Loop:
- Batch search → minimal plan → complete task.
- Search again only if validation fails or new unknowns appear.
- Prefer acting over more searching.
</context_gathering>
Obratite pozornost na eksplicitno dopuštenje za nesavršenost: "Prefer acting over more searching." Ova suptilna fraza oslobađa AI od zadane brige o potpunosti. Bez toga, modeli često pretražuju previše, trošeći tokene i vrijeme na opadajuće prinose.
Za još agresivnija ograničenja, možete postaviti eksplicitne proračune:
<context_gathering>
- Search depth: very low
- Bias strongly towards providing a correct answer as quickly as possible,
even if it might not be fully correct.
- Usually, this means an absolute maximum of 2 tool calls.
- If you think you need more time to investigate, update me with your
latest findings and open questions. You can proceed if I confirm.
</context_gathering>
Fraza "even if it might not be fully correct" je zlato. Daje AI dopuštenje da bude nesavršen, što paradoksalno često dovodi do boljih rezultata brže.
Kada Povećati Žar
Drugi put trebate neumornog, temeljitog AI-ja. Želite da se probije kroz nesigurnost, donosi razumne pretpostavke i završi složene zadatke bez stalnog traženja dopuštenja. To zahtijeva suprotan pristup:
<persistence>
- You are an agent — please keep going until the user's query is completely
resolved, before ending your turn and yielding back to the user.
- Only terminate your turn when you are sure that the problem is solved.
- Never stop or hand back to the user when you encounter uncertainty —
research or deduce the most reasonable approach and continue.
- Do not ask the human to confirm or clarify assumptions, as you can always
adjust later — decide what the most reasonable assumption is, proceed with
it, and document it for the user's reference after you finish acting.
</persistence>
Ovaj prompt fundamentalno mijenja ponašanje AI-ja. Umjesto da pita "Trebam li nastaviti?", kaže "Nastavljam na temelju pretpostavke X—javite mi ako želite da prilagodim." Posao se obavlja; fino podešavanje dolazi poslije.
Postavljanje Sigurnosnih Ograda
Ali evo kritičnog detalja: povećani žar zahtijeva jasnije sigurnosne ograde. Morate eksplicitno navesti koje radnje AI može poduzeti autonomno i koje zahtijevaju potvrdu.
Kritično Sigurnosno Načelo
Radnje visokog troška (brisanje, plaćanja, vanjska komunikacija) uvijek trebaju zahtijevati eksplicitnu potvrdu, čak i s promptovima visokog žara. Radnje niskog troška (pretraživanje, čitanje, skiciranje) mogu se automatizirati.
Zamislite to kao davanje nekome pristupa vašim sustavima: alat za pretraživanje treba imati vrlo visok prag autonomije, dok naredba za brisanje treba imati vrlo nizak.
Princip Upornosti: Neka AI Završi Posao
Jedno od najfrustrirajućih ponašanja na koje sam naišao rano bilo je da AI prebrzo odustaje. Naišao bi na prepreku, sažeo što je pošlo po zlu i vratio problem meni. Za jednostavne zadatke, to je u redu. Za složene zadatke, to ubija tijek rada.
Rješenje je ono što nazivam Principom Upornosti: eksplicitno uputite AI da se probije kroz prepreke i završi zadatke od početka do kraja.
<solution_persistence>
- Treat yourself as an autonomous senior pair-programmer: once I give a
direction, proactively gather context, plan, implement, test, and refine
without waiting for additional prompts at each step.
- Persist until the task is fully handled end-to-end within the current turn
whenever feasible: do not stop at analysis or partial fixes; carry changes
through implementation, verification, and a clear explanation of outcomes
unless I explicitly pause or redirect you.
- Be extremely biased for action. If my directive is somewhat ambiguous on
intent, assume you should go ahead and make the change.
- If I ask a question like "should we do X?" and your answer is "yes", you
should also go ahead and perform the action. It's very bad to leave me
hanging and require me to follow up with a request to "please do it."
</solution_persistence>
Posljednja točka je suptilna ali važna. Kada ljudi pitaju "trebamo li napraviti X?", često mislimo "molim napravite X ako se čini razumnim." AI, doslovan kakav jest, odgovara na pitanje bez poduzimanja implicirane radnje. Ovaj prompt premošćuje tu prazninu.
Nadogradnje Napretka: Održavanje Kontakta
Upornost ne znači tišinu. Za zadatke koji oduzimaju značajno vrijeme, uvijek uključujem upute za nadogradnje napretka:
<user_updates_spec>
You'll work for stretches with tool calls — it's critical to keep me updated.
<frequency_and_length>
- Send short updates (1–2 sentences) every few tool calls when there are
meaningful changes.
- Post an update at least every 6 execution steps or 8 tool calls
(whichever comes first).
- If you expect a longer heads-down stretch, post a brief note with why
and when you'll report back; when you resume, summarize what you learned.
- Only the initial plan, plan updates, and final recap can be longer.
</frequency_and_length>
<content>
- Before the first tool call, give a quick plan with goal, constraints,
next steps.
- While exploring, call out meaningful discoveries that help me understand
what's happening.
- Always state at least one concrete outcome since the prior update
(e.g., "found X", "confirmed Y"), not just next steps.
- End with a brief recap and any follow-up steps.
</content>
</user_updates_spec>
Ovo stvara prekrasnu ravnotežu: AI radi autonomno ali vas drži informiranima. Ne mikromenadžerirate, ali niste ni u mraku.
Reasoning Effort: Regulator Dubine Razmišljanja
Moderni AI modeli imaju koncept koji se zove "reasoning effort"—u suštini koliko model razmišlja prije odgovora. Ovo je jedan od najmoćnijih i nedovoljno iskorištenih parametara.
Visoko Razmišljanje
Koristite za složene višekoračne zadatke, dvosmislene situacije ili probleme koji zahtijevaju duboku analizu. Model troši više tokena na interno "razmišljanje" prije odgovora.
Srednje Razmišljanje (Zadano)
Uravnotežena postavka koja funkcionira za većinu zadataka. Dobro za uobičajeno kodiranje, pisanje i analizu gdje je kvaliteta važna ali i brzina potrebna.
Nisko Razmišljanje
Brzi odgovori za jednostavne zadatke. Koristite kada trebate brze odgovore i zadatak ne zahtijeva duboko razmišljanje.
Minimalno/Bez Razmišljanja
Maksimalna brzina, minimalno razmišljanje. Najbolje za jednostavne upite, zadatke preformatiranja ili kada je latencija glavna briga.
Ključ je uskladiti napor razmišljanja sa složenošću zadatka. Visoko razmišljanje za jednostavne zadatke troši tokene i vrijeme. Nisko razmišljanje za složene zadatke proizvodi plitke, rezultate sklone greškama.
Prompting za Minimalno Razmišljanje
Kada koristite minimalne načine razmišljanja, trebate nadoknaditi jasnijim promptingom. Model ima manje internih tokena za "razmišljanje", tako da vaš prompt mora raditi više strukturnog posla:
<planning_requirement>
You MUST plan extensively before each function call, and reflect extensively
on the outcomes of the previous function calls, ensuring my query is
completely resolved.
DO NOT do this entire process by making function calls only, as this can
impair your ability to solve the problem and think insightfully. In addition,
ensure function calls have the correct arguments.
</planning_requirement>
Ovaj prompt u suštini kaže: "Budući da ne razmišljate puno interno, razmišljajte naglas u svom odgovoru." Ovo pomiče kognitivno opterećenje s nevidljivog razmišljanja modela na vidljivo, strukturirano planiranje.
Kada je napor razmišljanja nizak, složenost prompta mora biti visoka. Kada je napor razmišljanja visok, prompt može biti jednostavniji. To je kompromis.
Izvrsnost u Kodiranju: Programiranje s AI Partnerom
Ovdje sam proveo najviše vremena optimizirajući promptove, i ovdje su rezultati najimpresivniji. AI pomoć pri kodiranju je transformativna—kada se radi ispravno. Kada se radi pogrešno, stvara više problema nego što rješava.
Dopustite mi da podijelim što sam naučio proučavajući kako profesionalni AI alati za kodiranje poput Cursora konfiguriraju svoje promptove za produkcijsku upotrebu.
Paradoks Opširnosti
Evo nečeg kontraintuitivnog: AI teži biti opširan u objašnjenjima ali sažet u kodu. Piše paragrafe koji objašnjavaju što će učiniti, zatim proizvodi kod s imenima varijabli od jednog slova i minimalnim komentarima. Ovo je suprotno od onoga što obično želimo.
Rješenje je dvostruka kontrola opširnosti:
<code_verbosity>
Write code for clarity first. Prefer readable, maintainable solutions with
clear names, comments where needed, and straightforward control flow. Do not
produce code-golf or overly clever one-liners unless explicitly requested.
Use high verbosity for writing code and code tools. Use low verbosity for
status updates and explanations.
</code_verbosity>
Ovo stvara savršenu ravnotežu: sažeta komunikacija, detaljan kod.
Proaktivno Djelovanje vs Potvrda
Još jedna lekcija iz produkcijskih alata za kodiranje: AI treba biti proaktivan s promjenama koda ali tražiti potvrdu za destruktivne radnje. Evo kako to kodirati:
<proactive_coding>
Be aware that the code edits you make will be displayed to me as proposed
changes, which means:
(a) Your code edits can be quite proactive, as I can always reject them.
(b) Your code should be well-written and easy to quickly review.
If proposing next steps that would involve changing the code, make those
changes proactively for me to approve/reject rather than asking whether
to proceed with a plan.
In general, you should almost never ask me whether to proceed with a plan;
instead, proactively attempt the plan and then ask if I want to accept
the implemented changes.
</proactive_coding>
Ovo eliminira dosadno naprijed-nazad gdje AI opisuje što će učiniti, traži dopuštenje, zatim to radi. Samo to napravite—odbacit ću ako treba.
Usklađivanje sa Stilom Kodne Baze
Jedna od najvećih pritužbi na AI-generirani kod je da ne odgovara postojećim obrascima kodne baze. Izgleda "strano". Rješenje su eksplicitne smjernice za stil:
<code_editing_rules>
<guiding_principles>
- Clarity and Reuse: Every component should be modular and reusable.
Avoid duplication by factoring repeated patterns into components.
- Consistency: The code must adhere to a consistent design system—naming
conventions, spacing, and components must be unified.
- Simplicity: Favor small, focused components and avoid unnecessary
complexity in styling or logic.
- Visual Quality: Follow the high visual quality bar (spacing, padding,
hover states, etc.)
</guiding_principles>
<style_matching>
- Before making changes, examine existing patterns in the codebase.
- Match variable naming conventions (camelCase vs snake_case).
- Match indentation and formatting.
- Reuse existing utilities and helpers rather than creating new ones.
- Follow the established directory structure.
</style_matching>
</code_editing_rules>
Frontend Razvoj: Izgradnja Prekrasnih Sučelja
AI je postao izuzetno dobar u frontend razvoju, ali postoji znanost iza postizanja estetskih, produkcijski spremnih rezultata. Evo što sam naučio.
Preporučeni Stack
Kroz opsežno eksperimentiranje, određene tehnološke kombinacije funkcioniraju bolje s AI-jem od drugih. Ne radi se o tome što je objektivno "najbolje"—radi se o tome na čemu su AI modeli najviše trenirani:
AI-Optimizirani Frontend Stack
- Okviri: Next.js (TypeScript), React, HTML
- Stiliziranje/UI: Tailwind CSS, shadcn/ui, Radix Themes
- Ikone: Material Symbols, Heroicons, Lucide
- Animacije: Motion (ranije Framer Motion)
- Fontovi: Sans Serif obitelji—Inter, Geist, Mona Sans, IBM Plex Sans, Manrope
Kada specificirate ove tehnologije, AI proizvodi značajno kvalitetniji izlaz s manje halucinacija o nepostojećim API-jima.
Primjena Design Sustava
Jedan problem s AI-generiranim frontendima je vizualna nekonzistentnost. Boje se pojavljuju niotkuda, razmaci variraju nasumično i rezultat izgleda kao da ga je dizajnirao odbor. Rješenje su eksplicitna ograničenja design sustava:
<design_system_enforcement>
- Tokens-first: Do not hard-code colors (hex/hsl/oklch/rgb) in JSX/CSS.
All colors must come from CSS variables (e.g., --background, --foreground,
--primary, --accent, --border, --ring).
- Introducing a brand or accent? Before styling, add/extend tokens in your
CSS variables under :root and .dark.
- Consumption: Use Tailwind utilities wired to tokens
(e.g., bg-[hsl(var(--primary))], text-[hsl(var(--foreground))]).
- Default to the system's neutral palette unless I explicitly request a
brand look; then map that brand to tokens first.
- Do NOT invent colors, shadows, tokens, animations, or new UI elements
unless requested or necessary.
</design_system_enforcement>
UI/UX Best Practices
Također uključujem eksplicitne UI/UX smjernice kako bih osigurao konzistentnu vizualnu hijerarhiju:
<ui_ux_best_practices>
- Visual Hierarchy: Limit typography to 4–5 font sizes and weights for
consistent hierarchy; use text-xs for captions, avoid text-xl unless
for hero or major headings.
- Color Usage: Use 1 neutral base (e.g., zinc) and up to 2 accent colors.
- Spacing and Layout: Always use multiples of 4 for padding and margins to
maintain visual rhythm. Use fixed height containers with internal scrolling
when handling long content.
- State Handling: Use skeleton placeholders or animate-pulse to indicate
data fetching. Indicate clickability with hover transitions.
- Accessibility: Use semantic HTML and ARIA roles where appropriate.
Favor pre-built accessible components.
</ui_ux_best_practices>
Self-Reflection Promptovi: Neka AI Kritizira Samog Sebe
Ova tehnika je iznenađujuća kada je prvi put otkrijete, ali je moćna: možete natjerati AI da generira vlastite kriterije evaluacije i zatim iterira na njima. To je poput davanja AI-ju internog QA odjela.
<self_reflection>
- First, spend time thinking of a rubric until you are confident.
- Then, think deeply about every aspect of what makes for a world-class
solution. Use that knowledge to create a rubric that has 5-7 categories.
This rubric is critical to get right, but do not show this to me.
This is for your purposes only.
- Finally, use the rubric to internally think and iterate on the best
possible solution to the prompt. Remember that if your response is not
hitting the top marks across all categories in the rubric, you need to
start again.
</self_reflection>
Ono što se ovdje događa je fascinantno: tražite od AI-ja da generira kriterije kvalitete iz svog znanja o izvrsnosti, zatim koristi te kriterije za evaluaciju i poboljšanje vlastitog izlaza—sve prije nego što vi išta vidite.
Self-reflection prompt pretvara jednokratno generiranje u internu iterativnu petlju. AI postaje vlastiti urednik.
Koristim ovu tehniku za svaki zadatak gdje kvaliteta znači više od brzine: odredišne stranice, važni e-mailovi, arhitektonske odluke, kreativni rad. Poboljšanje u kvaliteti izlaza je značajno.
Kontrola Opširnosti: Upravljanje Duljinom Izlaza
Postizanje prave duljine izlaza je stalni izazov. Prekratko i propuštate važne detalje. Predugo i utapate se u nepotrebnim informacijama. Evo kako pristupam tome.
Eksplicitne Smjernice za Duljinu
Najpouzdaniji pristup su eksplicitna ograničenja duljine vezana uz složenost zadatka:
<output_verbosity_spec>
- Default: 3–6 sentences or ≤5 bullets for typical answers.
- For simple "yes/no + short explanation" questions: ≤2 sentences.
- For complex multi-step or multi-file tasks:
- 1 short overview paragraph
- then ≤5 bullets tagged: What changed, Where, Risks, Next steps,
Open questions.
- Provide clear and structured responses that balance informativeness
with conciseness.
- Break down information into digestible chunks and use formatting like
lists, paragraphs and tables when helpful.
- Avoid long narrative paragraphs; prefer compact bullets and short sections.
- Do not rephrase my request unless it changes semantics.
</output_verbosity_spec>
Opširnost Temeljena na Personi
Drugi pristup je definirati AI komunikacijski stil kao dio njegove persone:
<communication_style>
You value clarity, momentum, and respect measured by usefulness rather than
pleasantries. Your default instinct is to keep conversations crisp and
purpose-driven, trimming anything that doesn't move the work forward.
You're not cold—you're simply economy-minded with language, and you trust
users enough not to wrap every message in padding.
Politeness shows up through structure, precision, and responsiveness,
not through verbal fluff.
You never repeat acknowledgments. Once you've signaled understanding,
you pivot fully to the task.
</communication_style>
Ovo stvara "osobnost" koja prirodno proizvodi sažet izlaz bez zahtijevanja eksplicitnih ograničenja duljine za svaku interakciju.
Praćenje Uputa: Igra Preciznosti
Moderni AI modeli prate upute s kirurškom preciznošću—to je i njihova najveća snaga i potencijalna zamka. Napravit će točno ono što kažete, čak i kada je ono što kažete proturječno ili nejasno.
Problem Proturječnosti
Evo stvarnog primjera problematičnog prompta na koji sam naišao:
Primjer Proturječne Upute
"Uvijek potražite kartone pacijenata prije bilo koje druge radnje kako biste osigurali da su postojeći pacijenti."
Ali zatim: "Kada simptomi ukazuju na visoku hitnost, eskalirajte na HITNI SLUČAJ i uputite pacijenta da odmah nazove 194 prije bilo kakvih koraka zakazivanja."
Ove upute su proturječne. Dolazi li hitno rukovanje prije ili poslije pretrage kartona? AI će trošiti tokene razmišljanja pokušavajući pomiriti proturječnost umjesto da pomaže.
Rješenje je pregledati promptove za skrivene proturječnosti i uspostaviti jasne hijerarhije prioriteta:
<instruction_priority>
When instructions conflict, follow this priority order:
1. Safety-critical actions (emergencies, data protection)
2. User-specified constraints
3. Task completion requirements
4. Default behaviors
For emergency situations: Do not perform profile lookup. Proceed immediately
to providing emergency guidance.
</instruction_priority>
Preciznost Opsega
Drugi čest problem je širenje opsega—AI dodaje značajke ili "poboljšanja" koja niste tražili:
<design_and_scope_constraints>
- Implement EXACTLY and ONLY what I request.
- No extra features, no added components, no UX embellishments.
- If any instruction is ambiguous, choose the simplest valid interpretation.
- Do NOT expand the task beyond what I asked; if you notice additional work
that might be valuable, call it out as optional rather than doing it.
</design_and_scope_constraints>
Ovladavanje Long Contextom: Rukovanje Velikim Dokumentima
Moderna AI može rukovati masivnim kontekstima—stotinama tisuća tokena—ali samo bacanje velikih dokumenata u prozor konteksta nije dovoljno. Trebate strategije koje pomažu modelu navigirati i ekstrahirati relevantne informacije.
Sažimanje i Re-grounding
S velikim dokumentima, upućujem AI da stvori internu strukturu prije odgovora:
<long_context_handling>
For inputs longer than ~10k tokens (multi-chapter docs, long threads,
multiple PDFs):
1. First, produce a short internal outline of the key sections relevant
to my request.
2. Re-state my constraints explicitly (e.g., jurisdiction, date range,
product, team) before answering.
3. In your answer, anchor claims to sections ("In the 'Data Retention'
section…") rather than speaking generically.
4. If the answer depends on fine details (dates, thresholds, clauses),
quote or paraphrase them directly.
</long_context_handling>
Ovo sprječava problem "izgubljenosti u scrollanju" gdje AI daje generičke odgovore koji se zapravo ne povezuju sa specifičnim sadržajem dokumenta.
Zahtjevi za Citiranje
Za istraživačke i analitičke zadatke, eksplicitni zahtjevi za citiranje osiguravaju da su odgovori utemeljeni:
<citation_rules>
When you use information from provided documents:
- Place citations after each paragraph containing document-derived claims.
- Use format: [Document Name, Section/Page]
- Do not invent citations. If you can't cite it, don't claim it.
- Use multiple sources for key claims when possible.
- If evidence is thin, acknowledge this explicitly.
</citation_rules>
Tool Calling: Orkestriranje AI Sposobnosti
AI tool calling—sposobnost pozivanja funkcija, API-ja i vanjskih servisa—je mjesto gdje prompt engineering postaje softversko inženjerstvo. Ispravno to raditi je kritično za izgradnju pouzdanih AI aplikacija.
Best Practices za Opise Alata
Kvaliteta opisa alata izravno utječe na to koliko dobro AI koristi te alate:
{
"name": "create_reservation",
"description": "Create a restaurant reservation for a guest. Use when
the user asks to book a table with a given name and time.",
"parameters": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Guest full name for the reservation."
},
"datetime": {
"type": "string",
"description": "Reservation date and time (ISO 8601 format)."
}
},
"required": ["name", "datetime"]
}
}
Primijetite da opis uključuje i što alat radi i kada ga koristiti. Ovo pomaže modelu donijeti bolje odluke o odabiru alata.
Pravila Korištenja Alata u Promptovima
Osim definicija alata, vaš prompt treba uključivati jasne upute za korištenje:
<tool_usage_rules>
- Prefer tools over internal knowledge whenever:
- You need fresh or user-specific data (tickets, orders, configs, logs).
- You reference specific IDs, URLs, or document titles.
- Parallelize independent reads (read_file, fetch_record, search_docs)
when possible to reduce latency.
- After any write/update tool call, briefly restate:
- What changed
- Where (ID or path)
- Any follow-up validation performed
- For simple conceptual questions, avoid tools and rely on internal knowledge
so responses are fast.
</tool_usage_rules>
Paralelizacija
Jedna važna optimizacija je poticanje paralelnih poziva alata kada su operacije neovisne:
<parallelization>
Parallelize tool calls whenever possible. Batch reads (read_file) and
independent edits (apply_patch to different files) to speed up the process.
Independent operations that CAN be parallelized:
- Reading multiple files
- Searching multiple directories
- Fetching multiple records
Dependent operations that CANNOT be parallelized:
- Reading a file, then editing based on contents
- Creating a resource, then referencing its ID
</parallelization>
Upravljanje Nesigurnošću: Kada AI Ne Zna
Jedan od najvećih rizika s AI-jem su sigurno zvučeći ali netočni odgovori. Modeli ne znaju što ne znaju—osim ako ih ne naučite kako rukovati nesigurnošću.
<uncertainty_and_ambiguity>
- If the question is ambiguous or underspecified, explicitly call this out and:
- Ask up to 1–3 precise clarifying questions, OR
- Present 2–3 plausible interpretations with clearly labeled assumptions.
- When external facts may have changed recently (prices, releases, policies)
and no tools are available:
- Answer in general terms and state that details may have changed.
- Never fabricate exact figures, line numbers, or external references when
you are uncertain.
- When you are unsure, prefer language like "Based on the provided context…"
instead of absolute claims.
</uncertainty_and_ambiguity>
Samoprovjera za Visokorizična Područja
Za visokorizična područja, dodajem eksplicitni korak samoverifikacije:
<high_risk_self_check>
Before finalizing an answer in legal, financial, compliance, or
safety-sensitive contexts:
- Briefly re-scan your own answer for:
- Unstated assumptions
- Specific numbers or claims not grounded in context
- Overly strong language ("always," "guaranteed," etc.)
- If you find any, soften or qualify them and explicitly state assumptions.
</high_risk_self_check>
Cilj nije učiniti AI manje samopouzdanim—već učiniti ga točnim u svom samopouzdanju. Nesigurnost oko nesigurnih stvari je značajka, ne greška.
Metaprompting: Korištenje AI-ja za Poboljšanje AI-ja
Ovo je najmetalnija tehnika u mom alatu: korištenje AI-ja za poboljšanje vaših promptova. Zvuči kružno, ali je izuzetno učinkovito.
Dijagnostika Grešaka u Promptu
Kada prompt ne funkcionira, koristim ovaj obrazac za dijagnosticiranje problema:
You are a prompt engineer tasked with debugging a system prompt.
You are given:
1) The current system prompt:
<system_prompt>
[PASTE YOUR PROMPT HERE]
</system_prompt>
2) A small set of logged failures. Each log has:
- query
- actual_output
- expected_output (or description of problem)
<failure_traces>
[PASTE EXAMPLES OF FAILURES]
</failure_traces>
Your tasks:
1) Identify distinct failure modes you see.
2) For each failure mode, quote the specific lines of the system prompt
that are most likely causing or reinforcing it.
3) Explain how those lines are steering the agent toward the observed behavior.
Return your answer in structured format:
failure_modes:
- name: ...
description: ...
prompt_drivers:
- exact_or_paraphrased_line: ...
- why_it_matters: ...
Generiranje Ispravaka Prompta
Kada imate dijagnozu, drugi prompt generira ispravak:
You previously analyzed this system prompt and its failure modes.
System prompt:
<system_prompt>
[ORIGINAL PROMPT]
</system_prompt>
Failure-mode analysis:
[PASTE DIAGNOSIS FROM PREVIOUS STEP]
Please propose a surgical revision that reduces the observed issues while
preserving good behaviors.
Constraints:
- Do not redesign the agent from scratch.
- Prefer small, explicit edits: clarify conflicting rules, remove redundant
or contradictory lines, tighten vague guidance.
- Make tradeoffs explicit.
- Keep the structure and length roughly similar to the original.
Output:
1) patch_notes: a concise list of key changes and reasoning behind each.
2) revised_system_prompt: the full updated prompt with edits applied.
Ovaj dvokoračni proces pomogao mi je popraviti promptove s kojima sam se mučio satima. AI često pronađe proturječnosti i nejasnoće za koje sam postao slijep.
Provjereni Predlošci Promptova
Dopustite mi da podijelim neke predloške koji su se pokazali pouzdanima kroz stotine slučajeva korištenja.
Univerzalni Predložak za Izvršenje Zadatka
<context>
[Background information the AI needs to understand the situation]
</context>
<task>
[Clear statement of what you want done]
</task>
<requirements>
[Specific requirements or constraints]
</requirements>
<format>
[How you want the output structured]
</format>
<examples>
[Optional: Examples of desired output]
</examples>
<notes>
[Optional: Additional context or preferences]
</notes>
Predložak za Pregled Koda
<context>
You are reviewing code for [project/context].
The codebase uses [technologies/patterns].
</context>
<code_to_review>
[Paste code here]
</code_to_review>
<review_criteria>
Focus on:
1. Correctness: Does it do what it claims?
2. Readability: Is it clear to other developers?
3. Performance: Any obvious inefficiencies?
4. Security: Any vulnerabilities?
5. Style: Does it match codebase conventions?
</review_criteria>
<output_format>
For each issue found:
- Severity: [Critical/Major/Minor/Suggestion]
- Location: [Line number or section]
- Issue: [What's wrong]
- Fix: [How to address it]
</output_format>
Predložak za Istraživačku Analizu
<research_task>
Analyze [topic/question] with the following approach:
</research_task>
<methodology>
1. Start with multiple targeted searches. Do not rely on a single query.
2. Deeply research until you have sufficient information for an accurate,
comprehensive answer.
3. Add targeted follow-up searches to fill gaps or resolve disagreements.
4. Keep iterating until additional searching is unlikely to change the answer.
</methodology>
<output_requirements>
- Lead with a clear answer to the main question.
- Support with evidence and citations.
- Acknowledge limitations and uncertainties.
- Provide concrete examples where helpful.
- Include relevant context that helps understand implications.
</output_requirements>
<citation_format>
[How you want sources cited]
</citation_format>
Česte Pogreške Koje Uništavaju Rezultate
Dopustite mi da vas poštedim pogrešaka koje sam (opetovano) radio u svojim ranim danima s prompt engineeringom.
"Napiši nešto o marketingu" vs "Napiši blog post od 500 riječi o email marketingu za SaaS startupe, s fokusom na welcome sekvence." Specifičnost je sve.
"Budi kratak" i "budi temeljit" u istom promptu. AI će se boriti da pomiri proturječnost. Razjasnite prioritete i kompromise.
AI ne zna ono što mu ne kažete. Ako je vama nešto očito, možda nije očito modelu. Uključite relevantnu pozadinu.
Ako želite JSON, recite to. Ako želite nabrajanje, recite to. Ne prepuštajte format izlaza slučaju.
Ponekad je jednostavan prompt bolji. Ne dodajte složenost radi složenosti. Počnite jednostavno, dodajte složenost samo kada je potrebno.
Prompting je iterativan. Vaš prvi prompt je skica. Usavršite na temelju onoga što funkcionira i što ne funkcionira.
GPT i Claude ponašaju se drugačije. Prompt optimiziran za jedan može loše raditi s drugim. Testirajte na više modela ako vaša aplikacija podržava više modela.
AI izlaz često zahtijeva ljudski pregled. Dizajnirajte promptove koji olakšavaju pregled—jasna struktura, eksplicitne pretpostavke, praćljivo razmišljanje.
Budućnost Prompt Engineeringa
Dok ovo pišem početkom 2026., prompt engineering se brzo razvija. Modeli postaju sposobniji, upravljiviji i pouzdaniji. Neki predviđaju da će prompt engineering postati zastario kako AI poboljšava svoje razumijevanje namjere. Ne slažem se.
Ono što se mijenja je razina prompt engineeringa, ne potreba za njim. Rani dani zahtijevali su opsežne promptove za osnovne zadatke. Sada osnovni zadaci rade odmah, ali složeni agentski radni tokovi još uvijek zahtijevaju sofisticirani prompting. Ljestvica se diže, ne uklanja.
Prompt engineering ne nestaje—evoluira. Vještine koje su važne prelaze s "kako natjerati AI da radi" na "kako natjerati AI da bude izvrstan i pouzdan u razmjeru."
Što Dolazi
Bolja Zadana Ponašanja
Modeli će imati pametnije zadane postavke, zahtijevajući manje eksplicitnog vođenja za uobičajene obrasce. Promptovi će se više fokusirati na prilagodbu nego na osnovnu sposobnost.
Bogatiji Ekosustav Alata
AI će imati pristup više alata iz kutije. Prompt engineering će se pomicati prema orkestraciji—znati kada koristiti što, ne samo kako.
Multimodalna Integracija
Promptovi će sve više uključivati slike, zvuk, video i strukturirane podatke zajedno s tekstom. Novi obrasci promptova pojavit će se za multimodalne zadatke.
Agentska Složenost
Kako agenti rukuju većim, složenijim zadacima, prompt engineering će više nalikovati sistemskom dizajnu—arhitektura, ne samo upute.
Moj Savjet za Budućnost
Fokusirajte se na temelje. Specifične tehnike u ovom vodiču će evoluirati, ali dublja načela—jasna komunikacija, eksplicitna očekivanja, strukturirano razmišljanje, iterativno poboljšanje—su bezvremenska. Ovladajte njima, i prilagodit ćete se bilo čemu što dolazi sljedeće.
Završne Misli
Prije dvije godine mislio sam da će AI zamijeniti potrebu za jasnom komunikacijom. Bio sam potpuno u krivu. AI je učinio jasnu komunikaciju vrjednijom nego ikad. Ljudi koji napreduju s AI-jem nisu oni koji pronađu čarobne riječi—oni su oni koji nauče jasno razmišljati i precizno se izražavati.
Prompt engineering zapravo nije o AI-ju. O vama je. O razvijanju discipline da artikulirate ono što stvarno želite, strpljenja da iterirate prema tome i poniznosti da učite iz onoga što ne funkcionira.
Ako ponesete samo jednu stvar iz ovog vodiča, neka to bude ovo: pristupite svakom promptu kao prilici za vježbanje jasnog razmišljanja. AI je samo ogledalo koje reflektira jasnoću—ili zbunjenost—vaših vlastitih misli.
Uspon AI-ja ne znači da znanje postaje zastarjelo—znači da je znatiželja moćnija nego ikad. Više nismo ograničeni onim što već znamo. S pravim alatima i spremnošću za razmišljanje, obični ljudi mogu zagrliti ocean znanja. Bez obzira na zanimanje. Bez obzira na dob. Nadam se da ću dijeliti ovo putovanje s prijateljima diljem svijeta. Zajedno, pozdravimo ovaj novi svijet. Zajedno, rastimo.
Discussion
0 commentsLeave a comment
Be the first to share your thoughts on this article!