Proveo Sam Dvije Godine Učeći Pisati AI Promptove i To Je Promijenilo Sve

Ovladajte Umjetnošću Pisanja AI Promptova - Vizualni prikaz koncepta prompt engineeringa
Skrivena vještina koja razlikuje AI početnike od stručnjaka
Ključna Točka

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:

1
Kontekst

Što AI treba znati o vašoj situaciji? Pozadinske informacije, ograničenja i relevantni detalji.

2
Zadatak

Što točno želite da AI napravi? Budite specifični o radnji koju zahtijevate.

3
Format

Kako izlaz treba biti strukturiran? Liste, paragrafi, blokovi koda, tablice—odredite.

4
Ograničenja

Što AI treba izbjegavati? Koja ograničenja postoje? Što je izvan opsega?

5
Primjeri

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:

Primjer Strukturiranog Prompta
<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:

Predložak za Niski Žar
<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:

Konfiguracija Maksimalne Brzine
<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:

Predložak za Visoki Žar
<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.

Prompt za Upornost u Rješenju
<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:

Specifikacija Nadogradnji za Korisnika
<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:

Kompenzacija za Minimalno Razmišljanje
<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:

Kontrola Opširnosti Koda
<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:

Proaktivni Prompt za Kodiranje
<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:

Usklađivanje Stila Kodne Baze
<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:

Primjena 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 Smjernice
<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 Prompt
<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:

Specifikacija Opširnosti Izlaza
<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:

Učinkovita Komunikacijska Persona
<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:

Eksplicitna Hijerarhija 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:

Disciplina Opsega
<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:

Rukovanje Long Contextom
<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:

Pravila Citiranja
<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:

Dobro Dizajnirana Definicija Alata
{
  "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:

Pravila Korištenja Alata
<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:

Smjernice za Paralelizaciju
<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.

Upravljanje 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:

Visokorizična Samoprovjera
<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:

Predložak za Dijagnostiku Prompta
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:

Predložak za Ispravak Prompta
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

Opći Predložak
<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

Prompt 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

Prompt 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.

Previše neodređeno

"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.

Proturječne upute

"Budi kratak" i "budi temeljit" u istom promptu. AI će se boriti da pomiri proturječnost. Razjasnite prioritete i kompromise.

Pretpostavljanje konteksta

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.

Ne specificiranje formata

Ako želite JSON, recite to. Ako želite nabrajanje, recite to. Ne prepuštajte format izlaza slučaju.

Prekompliciranje promptova

Ponekad je jednostavan prompt bolji. Ne dodajte složenost radi složenosti. Počnite jednostavno, dodajte složenost samo kada je potrebno.

Ne iteriranje

Prompting je iterativan. Vaš prvi prompt je skica. Usavršite na temelju onoga što funkcionira i što ne funkcionira.

Ignoriranje razlika između modela

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.

Zaboravljanje čovjeka u petlji

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.

Posljednje ažurirano: 22. siječnja 2026. · Temeljeno na službenoj dokumentaciji i opsežnom osobnom eksperimentiranju

Discussion

0 comments

Leave a comment

Be the first to share your thoughts on this article!