Přeskočit na obsah

Prompting od základů · lekce 2 z 8 · 14 min čtení

Kontext, role a příklady

Jak modelu dát podklady místo spoléhání na jeho paměť, co role opravdu dělají, proč dvě tři ukázky řeknou víc než odstavec pokynů, jak oddělit pokyny od dat a jak velký úkol rozdělit na kroky.

Představ si dva kolegy, kteří mají připravit podklady k jednání s dodavatelem. První dostane jen jméno dodavatele. Druhý dostane smlouvu, poslední tři faktury, zápis z minulé schůzky a ukázku, jak loni vypadal podobný podklad. Oba jsou stejně schopní, a přesto je jasné, kdo odevzdá lepší práci. V minulé lekci jsme rozebrali, z čeho se skládá dobré zadání. Teď se podíváme na tři nejsilnější páky v něm: podklady, role a příklady. A na dvě techniky pro složitější úkoly: oddělení pokynů od dat a rozdělení práce na kroky.

Podklady porazí paměť

Když se modelu na něco zeptáš bez podkladů, odpovídá z toho, co si „zapamatoval“ při tréninku. Z prvního kurzu víš, co to znamená: znalosti mají datum, kdy končí, o tvé firmě model nejspíš neví nic, a u vzácných faktů vymýšlí věrohodné odhady. Paměť modelu je obecné vzdělání, ne archiv.

Když mu ale text vložíš přímo do konverzace, změní se úloha. Model už nemusí fakta lovit ze svých parametrů, stačí je najít v textu, který má před sebou v kontextovém okně. Hledat a přeformulovat v dodaném textu umí jazykové modely mnohem spolehlivěji než si pamatovat. Všichni tři velcí výrobci (Anthropic, OpenAI, Google) proto v příručkách doporučují dávat do promptu relevantní informace, místo aby se model spoléhal na to, co ví.

Co všechno se dá dodat:

  • Dokumenty: smlouva, směrnice, zápis z porady, nabídka, e-mailové vlákno.
  • Data: výpis z tabulky, ceník, přehled objednávek (o práci s daty víc v lekci Analýza dat a dokumentů).
  • Pozadí: dvě tři věty o firmě, o klientovi, o tom, co se stalo a co je cílem.
  • Vzory: předchozí verze dokumentu, který se povedl, nebo firemní šablona.

Jak s dlouhými podklady pracovat

U dlouhých dokumentů pomáhají tři zvyky, které doporučuje i dokumentace Anthropicu:

  1. Dokument nahoru, otázku dolů. Nejdřív vlož podklady, a pokyny a otázku napiš až pod ně. U dlouhých vstupů to podle výrobce zlepšuje kvalitu odpovědí.
  2. Nejdřív citace, pak odpověď. Požádej model, aby nejdřív doslovně vypsal pasáže, které se k otázce vztahují, a teprve z nich odvodil odpověď. Citaci si ověříš hledáním v dokumentu za pár vteřin.
  3. Dovol „v dokumentu to není“. Napiš výslovně: „Pokud odpověď v podkladech není, napiš to.“ Jinak model mezeru tiše zalepí obecnou znalostí.

Role: co dělají a co ne

„Jsi zkušený personalista“, „Chovej se jako přísný redaktor“. Role (persona) patří k nejrozšířenějším technikám. Co ale ve skutečnosti dělá?

Role(role, persona)
Popis toho, kým má model při odpovědi „být“: profese, perspektiva, styl. Role neodemyká žádné skryté znalosti. Posouvá pravděpodobnosti směrem k textu, jaký by v dané roli typicky vznikl: jiný slovník, jiná míra detailu, jiné priority.

Role tedy funguje jako rychlý způsob, jak naznačit publikum, tón a úhel pohledu. „Jsi redaktor, který připravuje text pro laiky“ v jedné větě řekne, že chceš krátké věty, žádný žargon a důraz na srozumitelnost. Anthropic i Google doporučují roli zadávat v systémovém promptu, protože nastaví chování pro celou konverzaci.

Co role nedělá: nepřidává znalosti a nezvyšuje přesnost. Jak jsme zmínili v minulé lekci, výzkumníci z Wharton School v roce 2025 zjistili, že role experta na odborných testech u většiny modelů přesnost nezlepšila. Pokud model něco neví, nebude to vědět ani jako „světový expert“. Jen to řekne sebevědoměji.

Mnohem užitečnější než titul je popsat, co má role dělat:

  • Slabé: „Jsi nejlepší právník.“
  • Lepší: „Přečti smlouvu očima právníka, který zastupuje nás jako odběratele. Hledej ustanovení, která nás znevýhodňují, a ke každému napiš proč.“

Druhá verze nese skutečnou informaci: na čí straně stojíš, co hledáš a jak má vypadat výstup. A protože model rád přitakává (pamatuješ na podlézavost), role kritického oponenta je jeden z nejpraktičtějších způsobů, jak z něj dostat upřímnou zpětnou vazbu místo chvály.

Příklady: ukaž, nepopisuj

Některé věci se popisují těžko. Jak přesně má znít popis produktu na vašem e-shopu? Jak stručné má být shrnutí tiketu? Můžeš napsat odstavec pokynů, nebo modelu prostě ukázat dvě tři hotové ukázky.

Few-shot prompting(few-shot prompting)
Technika, kdy do promptu vložíš několik ukázek ve tvaru „vstup → požadovaný výstup“ a model pak stejným způsobem zpracuje nový vstup. „Shot“ je jedna ukázka. Bez ukázek se mluví o zero-shot, s jednou o one-shot.

Proč to funguje tak dobře, víš z prvního kurzu: model je mistr v pokračování vzorců. Když vidí třikrát po sobě stejnou strukturu, nejpravděpodobnější pokračování je počtvrté stejná struktura. Anthropic označuje příklady za jeden z nejspolehlivějších způsobů, jak řídit formát, tón a strukturu odpovědi, a doporučuje jich dát tři až pět. Google ve svém návodu doporučuje příklady do promptů dávat prakticky vždy.

Třídění zpětné vazby od zákazníků
Roztřiď zpětnou vazbu zákazníků. Ke každé napiš kategorii
(Doprava / Produkt / Zákaznický servis / Cena / Jiné), náladu
(pozitivní / neutrální / negativní) a jednu větu, co s tím udělat.

<priklady>
Zpětná vazba: „Balík přišel o tři dny později, než slibovala stránka.“
Kategorie: Doprava | Nálada: negativní
Co udělat: Ověřit u dopravce, proč nesedí odhad doručení na webu.

Zpětná vazba: „Paní na telefonu mi skvěle poradila s výběrem velikosti.“
Kategorie: Zákaznický servis | Nálada: pozitivní
Co udělat: Předat pochvalu týmu podpory.

Zpětná vazba: „Bunda je fajn, ale za tu cenu bych čekal lepší zip.“
Kategorie: Produkt | Nálada: neutrální
Co udělat: Předat nákupu jako podnět ke kvalitě zipů.
</priklady>

Teď zpracuj tyto:
1. „Objednával jsem v pondělí, ve středu bylo doma. Super.“
2. „Proč je doprava dražší než minulý měsíc?“

Co se stane: model dodrží přesně stejný tvar řádků, stejné kategorie i stejnou délku věty „Co udělat“. Všimni si, že ukázky se liší: tři různé kategorie, tři různé nálady. Kdyby byly všechny tři negativní a o dopravě, model by mohl „usoudit“, že většina zpětné vazby je negativní.

Když příklady řídí až moc

Příklady jsou silné, a proto i zrádné. Model z nich nepřebírá jen to, co chceš, ale všechno, co mají společné. Typické chyby:

  • Kopírování obsahu. Ukážeš popis modré bundy a model začne „modrou“ nebo „bundu“ cpát i do popisu kalhot.
  • Kopírování délky. Všechny ukázky mají dvě věty? Dostaneš dvě věty i tam, kde by bylo potřeba pět.
  • Jednostrannost. Ukázky pokrývají jen běžné případy, a na neobvyklý vstup model reaguje, jako by byl běžný.
  • Přetrénování na ukázky. Google upozorňuje, že při příliš mnoha příkladech se model může začít jen „učit nazpaměť“ (anglicky overfit) a hůř zobecňuje.

Recept na to dávají příručky stejný: ukázky ať jsou relevantní (podobné skutečné úloze), rozmanité (pokrývají i okrajové případy) a jasně oddělené od pokynů. Formát ukázek drž jednotný, protože model kopíruje i jejich drobné nesrovnalosti.

Trvalý kontext: systémový prompt, vlastní instrukce a projekty

Pokud každý den píšeš podobné věci, je zbytečné pokaždé znovu vysvětlovat, kdo jsi a jak chceš odpovědi. Z lekce Jak se model trénuje víš, že aplikace před každou konverzací posílá modelu systémový prompt. Většina chatovacích nástrojů ti dnes nabízí, jak si do něj přidat vlastní text:

  • Vlastní instrukce (custom instructions, personalizace): pár odstavců o tobě a o tom, jak chceš odpovědi, které se přidají do každé konverzace.
  • Projekty (případně podobné funkce pod jiným názvem): pracovní prostor s vlastními instrukcemi a nahranými dokumenty, sdílený napříč konverzacemi k jednomu tématu.

Konkrétní funkce se liší podle nástroje a rychle se mění. Přehled najdeš v lekci Když nestačí chat. Princip je ale vždy stejný: je to text, který se přidá do kontextu. Model se ho naučil držet, ale nemění se tím jeho znalosti ani paměť.

Odděl pokyny od dat

Jakmile do promptu vkládáš delší text, vzniká problém: kde končí tvoje zadání a kde začíná vložený materiál? Pokud vložíš e-mail od klienta, ve kterém stojí „Pošlete mi to prosím do pátku“, má to model brát jako pokyn pro sebe, nebo jako obsah e-mailu, který má shrnout?

Řešením je viditelně oddělit jednotlivé části. Dají se k tomu použít nadpisy, oddělovače, nebo značky ve stylu XML (XML-like tags), tedy názvy v ostrých závorkách, které obalují část textu. Doporučují to Anthropic, OpenAI i Google.

Prompt s oddělenými částmi
<kontext>
Jsem obchodní zástupce firmy, která dodává kancelářský nábytek.
Klient je naším zákazníkem tři roky.
</kontext>

<email_od_klienta>
Dobrý den, posílám objednávku na 12 židlí. Pošlete mi to prosím
do pátku a připište mi slevu jako minule.
</email_od_klienta>

<pokyny>
1. Shrň jednou větou, co klient chce.
2. Vypiš, co musím ověřit, než odpovím (sklad, sleva, termín).
3. Navrhni krátkou odpověď. Slevu neslibuj, napiš, že ji ověřím.
</pokyny>

Názvy značek si vymýšlíš sám, nic speciálního neznamenají. Jde jen o to, aby bylo jednoznačné, co je co. Model díky nim spolehlivěji pozná, že „pošlete mi to do pátku“ je obsah e-mailu, ne úkol.

Velký úkol rozděl na kroky

Když po modelu chceš v jednom promptu „přečti těchhle pět dokumentů, najdi rozpory, navrhni řešení a napiš z toho e-mail vedení“, často dostaneš něco, co dělá všechno trochu. Lidé to dělají jinak: nejdřív si přečtou a poznamenají, pak analyzují, pak píšou. S modelem to funguje stejně.

Řetězení promptů(prompt chaining)
Rozdělení složitého úkolu na několik navazujících promptů, kde výstup jednoho kroku slouží jako vstup dalšího. Každý krok je jednodušší a jeho výsledek můžeš zkontrolovat dřív, než se na něm začne stavět.

Ukázka rozdělení úkolu z odstavce výše:

  1. „Z každého dokumentu vypiš hlavní tvrzení o termínech a cenách, s citací.“ (Zkontroluješ citace.)
  2. „Porovnej tvrzení a vypiš rozpory v tabulce: dokument, tvrzení, s čím je v rozporu.“ (Zkontroluješ, jestli rozpory dávají smysl.)
  3. „Ke každému rozporu navrhni dvě možná řešení s výhodami a nevýhodami.“
  4. „Z bodu 3 napiš e-mail vedení: max. 200 slov, nejdřív doporučení, pak zdůvodnění.“

Největší výhoda není v tom, že je model chytřejší. Je v tom, že chybu chytíš brzy. Když je chybná citace v kroku 1, opravíš ji tam, a ne až v hotovém e-mailu. Google ve svém návodu popisuje stejný postup a Anthropic jako nejběžnější vzor uvádí „návrh → kontrola podle kritérií → vylepšení“.

„Přemýšlej krok za krokem“ a modely, které přemýšlejí samy

Příbuzná technika je požádat model, aby nejdřív rozepsal postup, a teprve pak odpověděl. Výzkumníci z Googlu v roce 2022 ukázali, že když model v ukázkách vidí rozepsaný postup řešení, zlepší se v úlohách s výpočty a logikou. Odtud pochází známé „přemýšlej krok za krokem“ (chain of thought). Dává to smysl i z pohledu mechanismu: každý napsaný mezikrok se stane součástí kontextu a další tokeny se o něj mohou opřít. Model „myslí“ psaním.

Mezitím ale přišly takzvané uvažující modely.

Uvažující model(reasoning model)
Jazykový model doladěný tak, aby před finální odpovědí sám vygeneroval delší vnitřní „přemýšlení“ (mezikroky, ověřování, zvažování možností). V aplikacích se to obvykle zobrazuje jako „přemýšlí…“, často s možností nahlédnout do shrnutí úvah.

U nich je situace jiná. OpenAI v doporučeních pro své uvažující modely píše, že pokyn „přemýšlej krok za krokem“ nemusí pomoct a někdy může i uškodit, protože model uvažuje sám. Anthropic u nejnovějších modelů rovněž radí spoléhat na vestavěné přemýšlení místo ručního vyžadování úvah. Prakticky:

  • U běžného (rychlého) modelu u úloh s výpočty, logikou a rozhodováním pořád pomáhá požádat o rozepsání postupu.
  • U uvažujícího modelu nebo v režimu přemýšlení napiš raději jasně cíl a kritéria a postup nech na něm. Pokud chceš vidět, jak došel k výsledku, požádej o stručné zdůvodnění na konci.

Ať tak či tak, rozepsaný postup je i nástroj pro tebe: chybu v mezikroku najdeš snáz než v hotovém závěru. Jen pamatuj, že ani hezky vypadající úvaha není důkaz správnosti.

Do hloubkyProč psaní mezikroků pomáhá: výpočet se odehrává v tokenech

Jazykový model při generování každého tokenu provede stejně velký výpočet, ať jde o slovo „a“, nebo o výsledek složitého příkladu. Pokud má odpověď na složitou otázku napsat hned jako první token, musí celý „výpočet“ zvládnout v jednom kroku, a to často nejde.

Když místo toho nejdřív píše mezikroky, každý mezikrok je nový text v kontextu. Další tokeny se už nemusí dopočítat „z hlavy“, mohou se opřít o to, co je napsané. Je to podobné jako počítat složitější příklad na papíře místo zpaměti.

Uvažující modely tenhle princip dotáhly: při dolaďování se učily, že dlouhé a pečlivé uvažování před odpovědí vede k lepším výsledkům, a dělají to samy. Platí se za to časem a tokeny (a tedy i penězi), proto se u jednoduchých úloh často vyplatí rychlejší model. Výběru správného nástroje se věnuje lekce Přehled nástrojů.

Jedna výhrada: není jisté, do jaké míry napsaná úvaha věrně odráží to, co se v modelu skutečně „děje“. Výzkum Anthropicu z roku 2025 ukázal, že uvažující modely ve svých úvahách často nezmíní informaci, která jejich odpověď ve skutečnosti ovlivnila. Ber ji jako užitečné vodítko, ne jako spolehlivé vysvětlení.

Co si odnést

  • Podklady porazí paměť: dokument, data nebo pozadí vložené do promptu výrazně snižují halucinace a dělají odpověď konkrétní. U dlouhých textů dej dokument nahoru, otázku dolů a chtěj citace.
  • Role mění tón, slovník a úhel pohledu, ne znalosti ani přesnost. Místo titulu popiš, co má role dělat a na čí straně stojí.
  • Několik rozmanitých ukázek (few-shot, Anthropic doporučuje tři až pět) řídí formát a styl spolehlivěji než dlouhé pokyny, ale model z nich kopíruje všechno, co mají společné.
  • Trvalý kontext (vlastní instrukce, projekty) je jen text přidaný do kontextu: hodí se pro to, co platí vždy.
  • Odděl pokyny od vloženého textu nadpisy nebo značkami. Vložený text může obsahovat pokyny, a oddělení to zmírní, ale nezaručí.
  • Velký úkol rozděl na kroky a kontroluj mezivýsledky. U běžných modelů pomáhá chtít rozepsaný postup, uvažující modely přemýšlejí samy.

Zdroje a další čtení