Zpět na blog

Few-shot vs. zero-shot prompting: kdy použít který přístup

Praktický průvodce, jak vybrat správný způsob promptování pro váš úkol — s příklady k překopírování a jednoduchým rozhodovacím rámcem.

Few-shot vs. zero-shot prompting: kdy použít který přístup
Vložíte prompt do ChatGPT. Výsledek je… ujde. Ale viděli jste, jak ostatní dostávají výrazně lepší odpovědi tím, že do promptu přidají „příklady“. Měli byste to dělat taky? Kolik příkladů? A hraje to vůbec roli pro váš konkrétní úkol?
Tyhle otázky se objevují pořád dokola a terminologie tomu nepomáhá. „Zero-shot“, „few-shot“, „one-shot“ — zní to spíš jako pojmy z fotografie než jako praktická rada. Tenhle průvodce odbourá žargon a dá vám jasný rámec, kdy který přístup zvolit, plus kompletní prompty, které si můžete zkopírovat a otestovat.

Co vlastně zero-shot prompting znamená

Zero-shot prompting znamená, že modelu zadáte úkol, aniž byste mu ukázali jakýkoli příklad toho, co chcete. Popíšete, co potřebujete, a model si na základě svého trénování poradí sám.
Tady je zero-shot prompt na shrnutí porady:

Shrň následující zápis z porady do 3–5 odrážek pokrývajících klíčová rozhodnutí.

Zápis z porady:
{{meeting_notes}}
A je to. Žádné ukázky „dobrých“ shrnutí, žádné vzorové vstupy a výstupy. Spoléháte na to, že model ví, jak má shrnutí vypadat a co znamená „klíčová rozhodnutí“. U spousty úkolů to funguje překvapivě dobře.

Co vlastně few-shot prompting znamená

Few-shot prompting znamená, že do promptu přidáte 2–5 příkladů, které modelu ukážou vzor, jaký má dodržet. V podstatě říkáte „takhle to chci“, ještě než zadáte samotný úkol.
Tady je stejný úkol shrnutí porady, ale s příklady:

Shrň zápis z porady do 3–5 odrážek pokrývajících klíčová rozhodnutí.

Příklad 1:
Vstup: „Tým probíral cíle pro Q3. Sára navrhla zvýšit obchodní cíl o 15 %. Marek nesouhlasil, navrhoval reálnějších 10 % vzhledem k aktuálnímu pipeline. Tým hlasoval a shodl se na 12 %. Také se rozhodlo odložit redesign webu na Q4.“
Výstup:
- Schválen růst obchodního cíle o 12 % pro Q3 (kompromis mezi návrhy 15 % a 10 %)
- Redesign webu odložen na Q4

Příklad 2:
Vstup: „Porada k rozpočtu. Aktuální výdaje jsou o 8 % nad plánem. CFO doporučil seškrtat cestovní rozpočet o 50 % a na 60 dní zmrazit nábor. CEO obě opatření schválil s okamžitou platností.“
Výstup:
- Cestovní rozpočet seškrtán o 50 % (s okamžitou platností)
- Schváleno 60denní zastavení náboru
- Reakce na 8% překročení rozpočtu

A teď shrň tohle:
{{meeting_notes}}
Všimněte si rozdílu. Příklady modelu přesně ukazují, jaký formát chcete (odrážky s kontextem v závorce), jakou míru detailu zahrnout a jak naložit s více rozhodnutími. Model se učí vašim preferencím přímo v kontextu — bez jakéhokoli dotrénování.

Klíčové rozdíly v kostce

Takhle se oba přístupy srovnávají v tom, co bývá nejdůležitější:
  • Rychlost: Zero-shot je rychlejší. Méně tokenů znamená rychlejší odpověď.
  • Cena: Zero-shot je levnější. Platíte za tokeny a příklady se sčítají.
  • Pracnost přípravy: Zero-shot prakticky žádná. Few-shot vyžaduje najít nebo vytvořit dobré příklady.
  • Přesnost u jednoduchých úkolů: Zhruba stejná. Moderní modely si s běžnými požadavky poradí v obou případech.
  • Přesnost u složitých nebo specifických úkolů: Tady obvykle vyhrává few-shot. Když potřebujete konkrétní formát nebo oborovou terminologii, příklady udělají měřitelný rozdíl.
Kompromis je jasný: zero-shot je jednodušší a levnější, ale few-shot vám dává větší kontrolu nad výstupem. Otázka je, kdy se ta kontrola navíc vyplatí.

Kdy zero-shot funguje nejlépe

Zero-shot prompting září ve chvíli, kdy je úkol něčím, co model už ze svého trénování „zná“. Sem patří:
Otázky na obecné znalosti: Žádost o vysvětlení, definice nebo faktické informace. Model ví, jak má dobré vysvětlení vypadat.

Kreativní brainstorming: Generování nápadů, prvních verzí textů nebo různých variant. Tady chcete rozmanitost, ne striktní dodržování vzoru.

Standardní shrnutí: Zhuštění článků, e-mailů nebo dokumentů, když nepotřebujete konkrétní formát.

Překlad: Převod textu mezi jazyky, na kterých byl model trénován.

Jednoduchá klasifikace: Třídění do běžných kategorií (pozitivní/negativní, urgentní/neurgentní), když jsou kategorie samy o sobě jasné.
Dobré vodítko: pokud dokážete v běžné řeči popsat, co chcete, a člověk by to pochopil i bez příkladů, zero-shot pravděpodobně bude fungovat.
Vývojový diagram rozhodovacího procesu: začněte zero-shotem, vyhodnoťte výsledek a příklady přidávejte, jen když je to potřeba
Vývojový diagram rozhodovacího procesu: začněte zero-shotem, vyhodnoťte výsledek a příklady přidávejte, jen když je to potřeba

Kdy se few-shot vyplatí těch tokenů navíc

Few-shot prompting si zaslouží své místo tam, kde výstup musí dodržet vzory, které model neodvodí jen ze samotných instrukcí:
Vlastní formátování: Když potřebujete výstup v konkrétní struktuře — JSON s určitými poli, tabulky s přesně danými sloupci, odrážky v určitém stylu. Příklady ukážou formát líp, než ho dokáže popsat instrukce.

Vlastní klasifikační kategorie: Pokud třídíte zákaznické e-maily do kategorií jako „dotaz k fakturaci“, „požadavek na novou funkci“, „report chyby“ a „obecný dotaz“, příklady jednotlivých případů pomůžou modelu pochopit vaše definice.

Sladění tonality nebo brand voice: Chcete, aby AI psala stylem vašich existujících textů? Ukažte jí 2–3 ukázky toho stylu. Instrukce typu „piš profesionálně, ale přátelsky“ jsou mlhavé; příklady jsou konkrétní.

Oborová terminologie: Pokud váš obor používá žargon nebo zkratky, které jinde znamenají něco jiného, příklady modelu vysvětlí váš kontext.

Hraniční případy a nuance: Detekce sarkasmu, ironie nebo jemných rozdílů, které zero-shot často nezvládne. Výzkumy ukazují, že few-shot prompting výrazně zlepšuje zacházení se sentimentálními hraničními případy, jako je negace nebo sarkasmus.
Jedna studie zjistila, že u klasifikace sentimentu na Twitteru se few-shot prompting s pouhými 20–50 příklady přiblížil výkonu modelů dotrénovaných na 10 000+ příkladech. To je síla dobře zvolených ukázek.
Pokud zjistíte, že si stavíte knihovnu few-shot promptů pro různé úkoly, nástroj jako PromptNest vám je pomůže ukládat i s proměnnými typu {{meeting_notes}} — při kopírování jenom doplníte, co je potřeba, a hotový prompt máte připravený k vložení.

Postup „začni s nulou, přidej, když je třeba“

Tady je praktický postup, který šetří čas i tokeny:
Krok 1: Vyzkoušejte nejdřív zero-shot. Napište jasný prompt, který popisuje, co chcete. Buďte konkrétní, ale příklady zatím nepřidávejte.

Krok 2: Vyhodnoťte výstup. Dává vám to, co potřebujete? Pokud ano, máte hotovo. Pokud ne, určete si, co konkrétně neklape — formát? Tonalita? Chybí detaily? Nepochopil model úkol?

Krok 3: Přidejte cílené příklady. Vytvořte 2–3 příklady, které ukazují přesně to, co model dělal špatně. Pokud byl problém formát, ukažte správný formát. Pokud tonalita, ukažte správný tón.
Tenhle postup je důležitý proto, že nehádáte, jestli příklady potřebujete — reagujete na konkrétní nedostatky. Někdy stačí přidat „Postupuj krok za krokem“ do zero-shot promptu a problémy s uvažováním jsou pryč i bez příkladů. Výzkumy potvrzují, že zero-shot chain-of-thought u úloh na uvažování často překonává few-shot.

Kolik příkladů vlastně potřebujete?

Výzkumy se shodují, že u většiny úkolů je sweet spot mezi 2 a 5 příklady. Co data ukazují:
- Největší skok v přesnosti přinášejí první 2–3 příklady - Po 4–5 příkladech výnos prudce klesá - Víc příkladů může výkon dokonce zhoršit tím, že přinese protichůdné vzory - Kvalita příkladů hraje větší roli než množství — tři skvělé příklady překonají deset průměrných
Důležité zjištění se týká i pořadí příkladů: studie ukazují, že posloupnost příkladů ovlivňuje výsledek a optimální seřazení může někdy rozhodovat mezi dobrým a špatným výkonem. Pokud váš few-shot prompt nefunguje dobře, zkuste nejdřív přeházet pořadí příkladů, než přidáte další.
Ilustrace karet s příklady přidávaných do promptu, s klesajícím přínosem po prvních několika
Ilustrace karet s příklady přidávaných do promptu, s klesajícím přínosem po prvních několika
U většiny případů začněte se 2 příklady. Pokud přesnost nestačí, přidejte třetí, který pokrývá jinou variantu. Víc než 4 budete potřebovat málokdy.

Chain-of-thought: zlatá střední cesta pro uvažování

Existuje i třetí možnost, která se obzvlášť hodí na matematiku, logiku a vícekrokové úlohy: chain-of-thought prompting. Místo abyste ukazovali příklady vstupu a výstupu, požádáte model, aby „postupoval krok za krokem“.
Zero-shot chain-of-thought vypadá takhle:

Obchod má 45 jablek. Ráno prodá 12 a dostane dodávku dalších 30. Odpoledne prodá ještě 18. Kolik jablek má při zavírání?

Pojďme to projít krok za krokem.
Ta jednoduchá věta — „Pojďme to projít krok za krokem“ — model přiměje, aby ukázal své uvažování, místo aby rovnou skočil k odpovědi. U složitějších úvah tohle často poráží zero-shot i few-shot.
Nedávný výzkum z arXivu zjistil, že u silných modelů jako GPT-4 a Claude zero-shot chain-of-thought v úlohách na uvažování opakovaně překonává few-shot prompting. Příklady model paradoxně můžou v úvahách spíš svazovat, než aby mu pomáhaly.
Chain-of-thought použijte, když:
  • Úkol vyžaduje několik logických kroků
  • Potřebujete, aby model vysvětlil své uvažování (užitečné pro odhalení chyb)
  • Jde o matematiku, programátorskou logiku nebo analytické úlohy
  • Chcete ověřit modelův postup, ne jen výslednou odpověď

Hotové prompty k překopírování

Podívejme se na všechny tři přístupy vedle sebe na reálných úkolech. Všechny prompty jsou otestované s GPT-4 a Claudem a hned použitelné.

Úkol 1: Klasifikace tonality e-mailu

Zero-shot verze:

Klasifikuj tonalitu tohoto zákaznického e-mailu jako: frustrovaný, spokojený, neutrální nebo urgentní.

E-mail:
{{email_text}}

Tonalita:
Few-shot verze (lepší pro hraniční případy):

Klasifikuj tonalitu zákaznického e-mailu jako: frustrovaný, spokojený, neutrální nebo urgentní.

E-mail: „Čekám na svoji objednávku už tři týdny. Tohle je směšné. Chci hned vrátit peníze.“
Tonalita: frustrovaný

E-mail: „Jen jsem chtěl poděkovat — produkt přišel dřív a funguje skvěle!“
Tonalita: spokojený

E-mail: „Dobrý den, můžete potvrdit, že byla moje objednávka odeslaná? Objednávka č. 12345.“
Tonalita: neutrální

E-mail: „Náš systém je dole a potřebujeme náhradní díl ještě DNES, jinak přijdeme o zakázku.“
Tonalita: urgentní

E-mail: {{email_text}}
Tonalita:
Few-shot verze pomůže modelu pochopit vaše konkrétní definice. „Urgentní“ vs. „frustrovaný“ může být sporné — příklady vaše hranice ujasní.

Úkol 2: Přepis popisu produktu

Zero-shot verze:

Přepiš tento popis produktu tak, aby byl poutavější a zaměřený na přínosy. Drž se pod 100 slov.

Originál: {{product_description}}

Přepsaná verze:
Few-shot verze (lepší pro konzistenci brand voice):

Přepiš popisy produktů tak, aby byly poutavé a zaměřené na přínosy. Drž se tohohle stylu:

Originál: „Lahev na vodu z nerezové oceli. Objem 700 ml. Udrží nápoje studené 24 hodin.“
Přepsaná verze: „Buďte hydratovaní celý den s naší elegantní 700ml nerezovou lahví. Ranní káva zůstane horká po celou cestu do práce. Odpolední voda zůstane ledová i v posilovně. Jedna lahev, nekonečné možnosti.“

Originál: „Bezdrátová sluchátka. Výdrž 8 hodin. Aktivní potlačení hluku.“
Přepsaná verze: „Osm hodin oblíbených podcastů, bez přerušení. Naše bezdrátová sluchátka odfiltrují ruch, abyste se mohli soustředit na to, co je důležité — ať už je to hluboká práce, playlist na trénink nebo dlouho odkládaná audiokniha.“

Originál: {{product_description}}
Přepsaná verze:
Few-shot verze učí konkrétní copywriterský styl — důraz na přínosy, konverzační tón, konkrétní situace použití. Zero-shot vám dá nějaký přepis, ale nutně ne váš hlas.

Úkol 3: Strukturování bug reportu

Zero-shot verze:

Převeď tento bug report do strukturovaného formátu s poli: Shrnutí, Postup k reprodukci, Očekávané chování a Skutečné chování.

Bug report: {{bug_report}}
Few-shot verze (lepší pro konzistentní formát):

Převeď bug reporty do strukturovaného formátu.

Vstup: „Aplikace spadne, když se pokusím nahrát PDF. Byl jsem v dashboardu, klikl jsem na nahrát, vybral 5MB PDF a aplikace se prostě zavřela. Měla by se zobrazit v mých nahraných souborech, ale místo toho celá aplikace umře.“

Výstup:
**Shrnutí:** Aplikace padá při nahrávání PDF souborů
**Postup k reprodukci:**
1. Přejít do dashboardu
2. Kliknout na tlačítko nahrát
3. Vybrat PDF soubor (testováno s 5MB souborem)
**Očekávané:** Soubor se objeví v sekci nahraných souborů
**Skutečné:** Aplikace neočekávaně padá / se zavírá

---

Vstup: {{bug_report}}

Výstup:
U technické dokumentace záleží na konzistenci. Few-shot verze zajistí, že každý bug report dodrží stejnou strukturu se stejnou mírou detailu.

Rychlý rozhodovací rámec

Když koukáte na nový úkol, projděte si těchhle pár otázek:
1. Je úkol přímočarý a dobře vymezený? → Začněte zero-shotem 2. Potřebujete konkrétní formát, který by model nemusel uhodnout? → Použijte few-shot 3. Vyžaduje úkol vícekrokové uvažování? → Vyzkoušejte nejdřív zero-shot chain-of-thought 4. Potřebujete jednotnou brand voice nebo oborovou terminologii? → Použijte few-shot s příklady v tom správném stylu 5. Dal vám zero-shot 80 % toho, co potřebujete? → Nechte to být. Dokonalost nestojí za trojnásobek tokenů.
Cílem není použít tu nejvychytanější techniku — cílem jsou dobré výsledky efektivně. Zero-shot je výchozí volba. Složitější přístupy nasaďte, jen když ty jednodušší nestačí.

Jak to převést do praxe

Nejlepší způsob, jak si tohle zažít, je experimentovat. Vezměte úkol, který děláte pravidelně — shrnování reportů, psaní e-mailů, kategorizaci zpětné vazby — a vyzkoušejte oba přístupy. Všímejte si, kde zero-shot zaostává. A kde few-shot opravdu udělá rozdíl.
Jakmile najdete prompty, které fungují, uložte si je někam, kde je opravdu zase najdete. Pokud si stavíte sbírku promptů s příklady a proměnnými, PromptNest je nativní macOS aplikace ($19.99 jednorázově na Mac App Store, žádné předplatné, žádný účet, běží lokálně), která je drží přehledně, prohledatelně a po ruce přes klávesovou zkratku z jakékoli aplikace. Konec věčnému lovení v rozházených poznámkách za tím dokonalým few-shot promptem, který jste napsali před třemi týdny.
Začněte jednoduše. Komplikace přidávejte, až je potřeba. Co funguje, si uložte. To je celá strategie.