Lekce 02.9: Úsilí a hloubka uvažování (Effort)
🧠 Mentální model & teoretický rozbor
Tradiční jazykové modely odpovídají okamžitě: první token výstupu začnou generovat milisekundy po přijetí požadavku. U jednoduchých textů je to skvělé, ale u složitých algoritmů a systémového designu to vedlo k unáhleným, chybným architektonickým rozhodnutím. Nová generace modelů (jako Claude 3.7 Sonnet s Extended Thinking) zavádí koncept uvažovacího úsilí (Reasoning Effort):
PŘÍCHOD POŽADAVKU │ ▼┌─────────────────────────────────────────────────────────────┐│ SKRYTÝ MYŠLENKOVÝ ŘETĚZEC (Thinking Tokens) ││ • Model formuluje hypotézy a okamžitě je sám vyvrací. ││ • Simuluje běh kódu a hledá skryté edge-cases. ││ • Kontroluje zpětnou kompatibilitu s ostatními moduly. ││ • Trvání: 5 až 60 sekund podle nastaveného budgetu úsilí. │└──────────────────────────────┬──────────────────────────────┘ │ ▼FINÁLNÍ GENERACE KÓDU A VOLÁNÍ NÁSTROJŮ (Chirurgická přesnost)Tyto interní myšlenkové tokeny jsou účtovány standardní sazbou, ale dramaticky zvyšují pravděpodobnost, že model vyřeší složitý úkol na první pokus bez nutnosti dalších 5 opravných kol.
🏢 Realistický scénář z praxe
Vývojář potřebuje migrovat kritický finanční algoritmus z rekurzivního výpočtu na iterativní zpracování s BigInt kvůli riziku přetečení zásobníku (stack overflow):
- Bez Thinking (standardní režim): Model vygeneruje kód za 3 sekundy, ale zapomene na ošetření záporných exponentů a vytvoří nekonečnou smyčku pro nulu.
- S Thinking (vysoké úsilí): Model stráví 30 sekund analýzou matematických limitů, sám si v myšlenkách otestuje hodnoty
-1, 0, 1, 2^53 - 1a vygeneruje robustní produkční kód včetně ošetření všech hraničních stavů.
💻 Konkrétní ukázky kódu & promptů
Konfigurace Thinking Budgetu v Claude Code:
V Claude Code můžete ovlivnit hloubku uvažování nastavením konfiguračních proměnných nebo explicitní výzvou v promptu:
# Zapnutí extended thinking režimu při spuštění CLIclaude --thinking-budget 16000Prompt pro aktivaci hlubokého uvažování nad architekturou:
Úkol: Navrhni refaktoring stavového managementu v src/context/AuthContext.tsx do Zustand store.
Instrukce pro uvažování:- Proveď hlubokou analýzu všech komponent, které tento kontext konzumují.- Zmapuj potenciální zbytečné re-rendery.- Navrhni selektory tak, aby se komponenty přerenderovaly POUZE při změně konkrétního sledovaného pole.- Než začneš psát kód, sepiš rozbor rizik a migrační strategii.⚠️ Analýza selhání & Anti-patterns
Chyba: Plýtvání Thinking budgetem na banality
Nastavit maximální uvažovací budget na triviální úkoly (přidání CSS třídy, změna textu tlačítka, spuštění formátovače):
- Zbytečně zvyšuje latenci (čekáte 20 vteřin na změnu jednoho slova).
- Zbytečně utrácí peníze za thinking tokeny.
- Pravidlo: Přepínejte na vysoké úsilí pouze při architektonických úkolech, refaktoringu a ladění zákeřných bugů.
🛠️ Inženýrský postup krok za krokem (Playbook)
- Běžný vývoj: Používejte standardní rychlý režim bez dlouhého přemýšlení.
- Eskalace při záseku: Pokud test selže dvakrát za sebou a agent neví proč:
- Vyzvěte agenta: „Zastav se, zanalyzuj problém do hloubky v myšlenkovém řetězci a zkontroluj asynchronní časování událostí.“
- Kontrola myšlenkového postupu: V rozhraní můžete často rozkliknout myšlenkový proces modelu a zjistit, jakým způsobem k řešení dospěl.
🧪 Praktické cvičení (Hands-on Lab)
Úkol:
Vyzkoušejte rozdíl v kvalitě řešení s uvažováním a bez něj.
Kroky:
- Zadejte Claude Code složitou logickou hádanku nebo komplexní SQL rekurzivní dotaz (např. generování hierarchického stromu kategorií s neomezenou hloubkou) v rychlém režimu.
- Zadejte
/clear. - Zadejte stejnou úlohu s výzvou: „Důkladně promysli všechny okrajové stavy stromové struktury (cyklické reference, osiřelé uzly) před generováním SQL.“
- Porovnejte kvalitu a robustnost obou řešení.