Přeskočit na obsah

Lekce 02.9: Úsilí a hloubka uvažování (Effort)

⏱️ 3 min čtení Lekce 02.9

🧠 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 - 1 a 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:

Terminál
# Zapnutí extended thinking režimu při spuštění CLI
claude --thinking-budget 16000

Prompt 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)

  1. Běžný vývoj: Používejte standardní rychlý režim bez dlouhého přemýšlení.
  2. 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í.“
  3. 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:

  1. 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.
  2. Zadejte /clear.
  3. 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.“
  4. Porovnejte kvalitu a robustnost obou řešení.