Chain-of-Thought Prompting: Ako naučiť AI myslieť nahlas
Chain-of-Thought (CoT) prompting je technika, pri ktorej model pred záverečnou odpoveďou vygeneruje sériu medzikrokov uvažovania — namiesto toho, aby odpovedal priamo. Táto zdanlivo jednoduchá zmena zásadne zlepšila výkon jazykových modelov na logických, matematických a viackrokových úlohách a stala sa základom moderných reasoning modelov.
1. Čo je Chain-of-Thought a odkiaľ pochádza
V roku 2022 publikovali výskumníci z Google Brain prelomovú štúdiu (Wei et al., „Chain-of-Thought Prompting Elicits Reasoning in Large Language Models"), ktorá ukázala, že jazykové modely riešia zložité problémy výrazne lepšie, ak sú vedené k tomu, aby „premýšľali nahlas" — zapisovali postup riešenia, nie len výsledok.
Princíp je jednoduchý:
- Štandardný prompt:
Otázka: Ak má Jana 3 jablká a dostane 5 ďalších, koľko má celkom? Odpoveď: - CoT prompt:
Otázka: ... Uvažujme krok za krokom: Jana má 3 jablká. Dostane 5 ďalších. 3 + 5 = 8. Odpoveď: 8
Model, ktorý vidí tento vzor, začne generovať podobné uvažovacie reťazce sám — a robí pritom menej chýb. Kľúčové zistenie: CoT prináša výrazný prínos len pri modeloch s dostatočnou veľkosťou (typicky 70B+ parametrov). Na malých modeloch efekt slabne alebo mizne úplne — ide o emergentné správanie, nie zabudovanú vlastnosť.
2. Varianty a evolúcia techniky
Chain-of-Thought sa rýchlo rozvetvil do viacerých podtechník, z ktorých každá rieši iný scenár:
Few-shot CoT — do promptu vložíte niekoľko príkladov s celým postupom uvažovania. Model napodobňuje vzor. Spoľahlivé, ale vyžaduje ručnú prípravu príkladov pre danú doménu.
Zero-shot CoT — jednoduchšia verzia: stačí pripojiť vetu „Uvažujme krok za krokom" (alebo anglicky „Let's think step by step"). Kokozo et al. (2022) ukázali, že táto jediná fráza dokáže dramaticky zlepšiť výsledky bez akýchkoľvek príkladov — čo z nej robí najrýchlejšiu CoT techniku.
Self-consistency — model generuje CoT odpoveď viackrát (napr. 10×) s určitou teplotou, potom sa hlasovaním vyberie najpočetnejšia odpoveď. Funguje na princípe: ak viacero nezávislých reťazcov uvažovania vedie k rovnakému záveru, je pravdepodobnosť správnosti vyššia.
Tree-of-Thought (ToT) — rozšírenie CoT, kde model nesleduje jeden lineárny reťazec, ale strom možných ciest uvažovania. Na každom uzle hodnotí, či má pokračovať, alebo sa vrátiť — podobne ako prehľadávanie s spätným sledovaním v algoritmoch.
Auto-CoT — automatické generovanie CoT príkladov pomocou samotného modelu, bez ručnej anotácie. Model sa sám seba pýta a odpovedá, čím škáluje prípravu tréningových dát.
3. Porovnanie hlavných variantov
| Varianta | Vstupná náročnosť | Tokeny navyše | Najvhodnejšie použitie |
|---|---|---|---|
| Zero-shot CoT | Minimálna (jedna veta) | Stredné | Rýchle testovanie, jednoduché viacdielne úlohy |
| Few-shot CoT | Stredná (ručné príklady) | Vyššie | Spoľahlivé riešenie zložitých problémov v konkrétnej doméne |
| Self-consistency | Nízka + výpočet | 5–10× viac | Kritické rozhodnutia, matematika, keď záleží na správnosti |
| Tree-of-Thought | Vysoká (orchestrácia) | Veľmi vysoké | Plánovanie, strategické úlohy, hry |
| Auto-CoT | Automatická | Stredné | Škálovanie bez manuálnej práce, tvorba tréningových dát |
4. Praktické použitie a príklady
CoT prompting sa osvedčil najmä v týchto oblastiach:
Matematika a logika Aritmetické slovné úlohy, dokazovanie, kombinatorické problémy — oblasti, kde priama odpoveď modelov dlho zlyhávala. Po zavedení CoT sa úspešnosť na GSM8K benchmarku (matematické slovné úlohy pre základnú školu) zvýšila z okolo 18 % na takmer 58 % pri PaLM 540B.
Multi-step reasoning Úlohy vyžadujúce prepojenie viacerých faktov — napríklad reťazové porovnávanie alebo usporiadanie entít — kde model bez medzikrokov stráca kontext a robí chyby v závislých krokoch.
Ladenie kódu Model pri debuggingu krok za krokom prechádza logikou programu, identifikuje, kde premenná dostáva nesprávnu hodnotu, a navrhuje opravu s odôvodnením.
Lekárske rozhodovanie Diferenciálna diagnostika: model uvažuje o symptómoch postupne — čo zodpovedá, čo vylučuje — namiesto okamžitej diagnózy. Výsledok je auditovateľný a lekár môže skontrolovať každý krok.
Ukážka zero-shot CoT v praxi:
Máme 3 skupiny cestujúcich: 12, 8 a 15 osôb.
Každá skupina potrebuje autobus s kapacitou 10 miest.
Koľko autobusov celkom treba?
Uvažuj krok za krokom.
Model správne odpovedá: skupiny potrebujú 2, 1 a 2 autobusy = 5 celkom. Bez CoT inštrukcie modely nižšej triedy odpovedajú priamo „3" (počet skupín) alebo robia chybu v zaokrúhľovaní.
5. Limity, riziká a súčasný stav
Halucinované uvažovanie Model môže generovať na pohľad koherentný reťazec krokov, ktorý vedie k nesprávnemu záveru. Formálne korektný postup s vecnou chybou je nebezpečnejší ako priama nesprávna odpoveď — pôsobí dôveryhodne a je ťažšie ho odhaliť.
Závislosť od veľkosti modelu Na malých modeloch (7B a menej) CoT nepomáha alebo dokonca škodí — model generuje irelevantné kroky, ktoré zavádzajú. Technika funguje len tam, kde model má dostatočnú kapacitu na konzistentné viacdielne uvažovanie.
Náklady na tokeny CoT generuje niekoľkonásobne viac tokenov ako priama odpoveď. Pri high-volume aplikáciách to zvyšuje latenciu aj náklady. Self-consistency je 5–10× drahšia oproti jednoduchému zero-shot CoT.
Internalizácia v reasoning modeloch Modely ako OpenAI o3, Claude s extended thinking alebo Gemini Thinking generujú CoT interne — tzv. scratchpad — bez toho, aby ho programátor musel explicitne vynucovať v prompte. CoT prompting sa tak posúva od manuálnej techniky k zabudovanej schopnosti. Napriek tomu zostáva relevantný pri nastavovaní formátu výstupu a hĺbky uvažovania.
Falošná dôvera v reťazec Štúdie ukázali, že CoT reťazec nie vždy odráža skutočný výpočtový postup modelu — môže ísť o post-hoc racionalizáciu. Model „vymyslí" krok, ktorý zodpovedá finálnej odpovedi, pričom táto odpoveď mohla vzniknúť inak. Reťazec uvažovania je teda skôr vysvetlenie ako záznam myslenia.
Zhrnutie: Chain-of-Thought prompting zmenil, ako jazykové modely riešia komplexné problémy — prinútil ich zapisovať postup a nielen výsledok. Dnes je CoT základom reasoning modelov a každý, kto pracuje s LLM na náročných analytických alebo viacdielnych úlohách, by mal vedieť, kedy a ako ho použiť.