Tree of Thoughts: Keď AI rozmýšľa v rozvetveniach
Tree of Thoughts (ToT) je technika promptovania, ktorá umožňuje veľkým jazykovým modelom systematicky skúmať viacero myšlienkových vetiev naraz — namiesto jednej lineárnej odpovede model vyhodnocuje rôzne cesty riešenia a vracia sa späť, keď narazí na slepú uličku.
1. Problém lineárneho myslenia
Štandardné jazykové modely generujú text token po tokene, zľava doprava. Aj pokročilé techniky ako Chain-of-Thought (CoT) sú v jadre lineárne — model uvažuje po krokoch, ale vždy jednou cestou. Ak spraví chybu v treťom kroku, pokračuje ďalej na základe chybného predpokladu a nikdy sa nevráti.
Pre jednoduché otázky to stačí. Pre zložitejšie problémy — matematické úlohy s viacerými krokmi, strategické plánovanie, tvorivé písanie s kauzálnymi závislosťami — to nestačí. Človek pri riešení ťažkého problému skúša viacero prístupov, ohodnocuje ich a vracia sa, keď jeden nefunguje. ToT prináša práve túto schopnosť.
Techniku navrhli výskumníci Shunyu Yao a kol. v roku 2023 v práci Tree of Thoughts: Deliberate Problem Solving with Large Language Models. Odvtedy sa stala základom pre mnohé agentic frameworky a plánovacie systémy.
2. Ako Tree of Thoughts funguje
ToT rozkladá riešenie problému do štyroch komponentov:
Myšlienky (Thoughts) Každý krok uvažovania je samostatná „myšlienka" — môže to byť veta, odsek, výraz alebo čiastkový výsledok. Myšlienky sú dostatočne granulárne, aby sa dali hodnotiť samostatne.
Generovanie kandidátov V každom kroku model vygeneruje viacero kandidátnych myšlienok (napr. 3–5 alternatív). Každá reprezentuje iný smer uvažovania. Toto je kľúčový rozdiel oproti CoT — namiesto jednej cesty vzniká strom možností.
Hodnotenie (Evaluation) Model alebo externý evaluátor ohodnotí každú kandidátnu myšlienku: je sľubná? Vedie k správnemu riešeniu? Skóre môže byť binárne (áno/nie) alebo ordinálne (1–10). Môže byť výsledkom promptu ako „ohodnoť, či tento krok vedie k správnej odpovedi" alebo hlasovacím mechanizmom medzi viacerými volaniami modelu.
Prehľadávanie (Search) Na základe hodnotení algoritmus vyberie, ktoré vetvy rozvíjať ďalej. Dve hlavné stratégie:
- BFS (Breadth-First Search): rozvíja všetky sľubné vetvy na danej hĺbke pred tým, než ide hlbšie
- DFS (Depth-First Search): ide po jednej vetve do hĺbky, vracia sa pri neúspechu
Výsledkom je strom, nie reťazec — model môže explorovať, hodnotiť a backtrack.
3. Porovnanie: štandardné metódy vs. ToT
| Metóda | Cesty uvažovania | Backtracking | Hodnotenie krokov | Relatívne náklady |
|---|---|---|---|---|
| Štandardné prompty | 1 | Nie | Nie | Nízke |
| Chain-of-Thought | 1 (lineárna) | Nie | Nie | Stredné |
| Self-Consistency | Viac (paralelne) | Nie | Hlasovanie o výsledku | Stredné |
| Tree of Thoughts | Strom (iteratívne) | Áno | Áno (per krok) | Vysoké |
| Graph of Thoughts | Graf | Áno | Áno | Veľmi vysoké |
Self-Consistency je v mnohom bratrancom ToT — generuje viacero CoT ciest a hlasuje o výsledku. Avšak nekrokuje hodnotenie: buď všetky cesty dospejú na koniec, alebo nič. ToT hodnotí každú čiastkovú myšlienku samostatne a odrezáva slepé uličky skôr, čím šetrí výpočtové zdroje v neskorších fázach stromu.
4. Praktické použitie a implementácia
ToT sa prejavuje najvýraznejšie pri úlohách s explicitnou štruktúrou riešenia:
Matematické problémy Klasická ukážka z pôvodnej práce: hra 24 (z čísel 4, 6, 6, 14 dostať výsledok 24 pomocou základných operácií). Štandardný CoT zlyháva v mnohých prípadoch, pretože pri nesprávnej kombinácii operácií pokračuje ďalej. ToT sa vráti a skúsi iný smer.
Kreatívne písanie Pre dlhší príbeh s kauzálnymi závislosťami (postava A musí urobiť X pred tým, než postava B môže urobiť Y) ToT umožňuje plánovať dopredu a opravovať nekonzistencie pred tým, než sa prepíšu do finálneho textu.
Kódovanie a debugovanie Pri návrhu algoritmov môže model v každom kroku testovať hypotézu a rozhodnúť sa pre efektívnejší prístup na základe hodnotenia pred ďalším rozvetvením.
Implementácia v praxi Väčšina produkčných implementácií ToT dnes funguje cez frameworky ako LangGraph alebo vlastný orchestrátor. Základný vzor:
# Pseudokód ToT cyklu
thoughts = generate_thoughts(state, n=3) # 3 kandidáti
scores = [evaluate_thought(t) for t in thoughts] # ohodnoť každý
best = select_top_k(thoughts, scores, k=2) # vyber top-2
for t in best:
children = generate_thoughts(t, n=3) # rekurzia
...
Každé volanie generate_thoughts a evaluate_thought je samostatné LLM volanie — preto sú náklady výrazne vyššie ako pri CoT.
5. Limity a kedy ToT nepoužiť
Náklady a latencia ToT môže vyžadovať desiatky až stovky LLM volaní na jeden problém. Pre interaktívne chatboty je sekundy alebo desiatky sekúnd na odpoveď neprijateľná latencia. ToT je vhodný pre dávkové spracovanie alebo offline plánovanie, kde presnosť ospravedlňuje cenu.
Kvalita hodnotiacej funkcie Ak je evaluátor iba ďalší prompt toho istého modelu, existuje riziko, že model bude hodnotiť vlastné chyby rovnako zle, ako ich robí. Kvalitný ToT potrebuje buď externý ground-truth oracle, alebo viacero nezávislých hodnotení z rôznych uhlov.
Jednoduché úlohy Pre faktické otázky, preklady alebo krátke zhrnutia je overhead ToT zbytočný — CoT alebo dokonca priamy prompt dáva rovnaký výsledok za zlomok ceny. Nasadzovanie ToT na triviálne problémy je klasická over-engineering chyba.
Kde ToT ustupuje agentickým frameworkom Moderné agentic systémy (LangGraph, AutoGen, Agentic RAG) v skutočnosti implementujú princípy ToT na vyššej úrovni — avšak s reálnymi nástrojmi ako kód, databázy a vyhľadávanie, namiesto čistého textu. V roku 2026 sa ToT ako čistá technika najčastejšie objavuje embedovaná v agentických slučkách, nie ako samostatný promptovací vzor. Čistá ToT implementácia dáva zmysel najmä tam, kde nemáme prístup k externým nástrojom, ale problém má dostatočnú štruktúru na to, aby sa dal stromovo rozložiť.
Zhrnutie: Tree of Thoughts prekonáva lineárne obmedzenia Chain-of-Thought tým, že systematicky generuje, hodnotí a prehľadáva viacero myšlienkových vetiev — za cenu vyšších nákladov a latencie je to silný nástroj pre problémy, kde jedna chyba v strede celé riešenie vykoľají.