Proč nestačí říct „udělej to"
Demo začíná zdánlivě jednoduše: do konzole nahrajete formulář švédské autonehody (17 checkboxů) a ručně kreslený nákres střetu. První prompt je minimalistický — „tady je formulář a skica, urči, co se stalo a kdo za to může."
Claude odpoví, že šlo o lyžařskou nehodu na ulici Chappangan. Což je špatně — model uhádl, že jde o Švédsko, ale neměl dost kontextu, aby pochopil, že se dívá na dopravní formulář. Tohle je přesně ten moment, kdy podle Anthropicu začíná skutečný prompt engineering: iterativní, empirický proces, kde každou verzi testujete a vylepšujete.
10 kroků profesionálního promptu
Anthropic interně používá desetibodovou strukturu, kterou ve videu postupně odkrývá. Ne každý prompt potřebuje všech deset bodů — jde spíš o checklist, co všechno byste měli zvážit.
1. Task context — řekněte modelu, kdo je a co má dělat
Úplný základ. Místo „analyzuj formulář" řekněte: „Jsi AI asistent, který pomáhá likvidátorovi pojistných událostí. Analyzuješ švédské formuláře dopravních nehod." Model potřebuje rozumět své roli stejně jako nový kolega první den v práci.
2. Tone context — naučte model, kdy říct „nevím"
Zásadní instrukce: „Pokud si nejsi jistý, nehádej. Odpověz jen tehdy, když jsi plně přesvědčený." Bez téhle pojistky bude model vymýšlet data, která ve formuláři nejsou. V pojišťovnictví by taková halucinace mohla znamenat špatně přiřazenou vinu — v lepším případě ostudu, v horším soud.
3. Background data — dejte modelu to, co se nemění
Klíčový poznatek z videa: statické informace patří do system promptu. Formulář má vždycky 17 řádků, dva sloupce pro vozidlo A a B. Tohle se nikdy nemění, takže to dáte do system promptu jednou — a ideálně použijete prompt caching, který ušetří tokeny i peníze. Dynamická data (konkrétní vyplněný formulář) pak jdou do user promptu.
V praxi to znamená popsat strukturu dokumentu: „Formulář má název X, sloupec vlevo je vozidlo A, vpravo vozidlo B. Řádek 1 znamená X, řádek 2 znamená Y…" Čím víc model předem ví, tím míň času ztrácí luštěním.
4. Detailed instructions — rozepište to krok za krokem
Možná nejdůležitější objev z dema: na pořadí kroků záleží. Když model nejdřív analyzuje zmatečnou ruční skicu a až pak strukturovaný formulář, často tápe. Obráceně — nejdřív formulář (jasná data), pak skica (interpretace) — funguje mnohem lépe.
„Nejdřív si pečlivě projdi formulář. Ověř každé zaškrtávací políčko. Sepiš si, co jsi našel. Teprve pak přejdi ke skice a konfrontuj ji s tím, co už víš z formuláře."
💡 Tip pro praxi
Když modelu řeknete „pečlivě prozkoumej každé políčko", opravdu to udělá — a vypíše vám celou analýzu. Pokud to nechcete, formulujte instrukci volněji: „Projdi formulář a identifikuj relevantní informace."
5. Examples — ukažte, co chcete
Few-shot prompting je podle Anthropicu jeden z nejsilnějších nástrojů. Když narazíte na hraniční případ, kde model selhává, přidejte ho jako příklad do system promptu. U pojišťovny by to mohly být desítky až stovky historických nehod s ručním vyhodnocením — model se z nich naučí rozpoznávat vzory.
Příklady vkládejte do XML tagů (<examples>), ideálně s oddělením dat a očekávané odpovědi.
6. Conversation history
U automatizovaných systémů běžících na pozadí (jako je zpracování formulářů) se historie konverzace nepoužívá. Ale u chatbotů a asistentů, kde uživatel komunikuje v mnoha tazích, je historie zásadní a patří do system promptu.
7. Reminders — zopakujte to důležité
Na konci promptu zopakujte klíčové instrukce. Model má tendenci „zapomínat" na pravidla, která byla zmíněna na začátku. Připomeňte mu: „Pokud nemůžeš s jistotou určit, kdo nehodu zavinil, explicitně to řekni. Nevymýšlej si data, která ve formuláři nejsou."
8. Output formatting — donuťte model k strukturovanému výstupu
Pro produkční nasazení potřebujete parsovatelný výstup. Anthropic doporučuje:
- XML tagy: Zabalte finální verdikt do
<final_verdict>a parsujte jen tenhle blok - Prefill technika: Začněte odpověď za model — napište otevírací tag a nechte model doplnit obsah. Například:
〈final_verdict〉jako poslední znaky promptu - JSON / Structured Outputs: Pro striktní schémata použijte nativní structured outputs
9. Pre-filled responses
U starších verzí Clauda šlo modelu „napovědět" začátek odpovědi a donutit ho pokračovat v daném formátu. Novější modely (Claude 4.6+) už prefill na posledním asistentově tahu nepodporují — nahrazují ho Structured Outputs a přímými instrukcemi jako „Odpovídej bez preambule, rovnou do XML tagů."
10. Extended thinking
Claude 3.7 a 4.x podporují hybridní myšlení (extended / adaptive thinking) — model může „přemýšlet" v interním scratchpadu předtím, než odpoví. To není jen pro složité úlohy. Dá se to použít i jako ladicí nástroj: přečtete si, jak model o datech uvažoval, a zjistíte, kde dělá chyby. Tyhle poznatky pak zapracujete zpět do system promptu.
Co si z toho odnést pro vlastní prompty
Shrňme si praktické techniky, které fungují bez ohledu na to, jestli používáte Claude, GPT, nebo Gemini:
- Oddělte statické od dynamického. Co se nemění (struktura dokumentu, firemní pravidla) → system prompt. Co se mění (konkrétní vstup) → user prompt.
- Pořadí kroků je kritické. Uspořádejte instrukce tak, aby model zpracoval jasná data dřív než nejednoznačná.
- XML tagy fungují lépe než Markdown. Model je na ně trénovaný a lépe jim rozumí.
- Naučte model říkat „nevím". Explicitní instrukce proti halucinacím je u faktických úloh nutnost.
- Iterujte. Prompt engineering není akademická disciplína — je to řemeslo. Testujte, sledujte chyby, vylepšujte.
Celé školení i s kódem najdete na YouTube kanálu Anthropic a podrobnější dokumentaci v jejich oficiálním prompt engineering guide.
Musím používat XML tagy, nebo stačí obyčejný text?
U jednoduchých promptů si vystačíte s textem. XML tagy se vyplatí, když prompt kombinuje více typů informací — instrukce, příklady, vstupní data. Model je díky nim lépe rozliší a méně se plete. Navíc jsou XML tagy součástí trénovacích dat Clauda, takže jim rozumí instinktivně.
Jak poznám, že mám dát něco do system promptu a ne do user promptu?
Jednoduché pravidlo: pokud se informace mezi jednotlivými dotazy nemění, patří do system promptu. Pokud se mění s každým dotazem, patří do user promptu. System prompt navíc můžete cachovat, což šetří tokeny a peníze — u velkých objemů to dělá znatelný rozdíl.
Funguje tenhle framework i pro jiné modely než Claude?
Ano, drtivá většina technik je univerzální. Oddělení system/user promptu, chain-of-thought, few-shot examples, output formatting — to všechno funguje napříč GPT-5, Gemini 2.5 i open-source modely. Liší se jen konkrétní „vkus" modelu — například GPT lépe reaguje na Markdown, Claude preferuje XML.