Jak funguje AI a proč se dokáže zaseknout

Praktický report pro lidi, kteří staví, zadávají nebo řídí AI agenty a pracují s LLM.


TL;DR

Krátká formule:

Méně promptu, více procesu. Méně sebejistého textu, více evidence.


Jak LLM funguje

Nejužitečnější mentální model:

LLM je velmi schopný generátor dalšího tokenu nad textovým kontextem.

Funguje zhruba takto:

  1. Text se rozdělí na tokeny. Token může být celé slovo, část slova, mezera, interpunkce nebo častý výraz. Čím víc tokenů, tím vyšší cena, latence a riziko šumu.

  2. Model generuje odpověď postupně. Nepíše hotový text „z hlavy“. V každém kroku vybírá pravděpodobné pokračování podle instrukcí, historie, přiložených dat a naučených vzorů.

  3. Kontext je pracovní paměť. Obsahuje systémové instrukce, uživatelský úkol, historii, výstupy nástrojů, dokumenty, chyby, shrnutí i staré plány.

  4. Attention pomáhá vybírat relevantní části kontextu. Transformer architektura stojí na attention mechanismu. Ten ale nezaručuje, že model vždy správně použije každou důležitou informaci.

  5. Model nemá přímý zdroj pravdy. Pravděpodobný text není totéž co pravdivý text. Bez zdrojů, testů, retrievalu nebo nástrojů může model plynule doplnit něco, co zní správně, ale správně není.

AI agent k tomu přidává „ruce“:

Tím získá schopnosti, ale i nové body selhání. Agent musí vybrat správný nástroj, dát mu správné parametry, poznat chybu, změnit plán a vědět, kdy je hotovo.


Proč vzniká AI slop

AI slop je obsah, který vypadá jako výstup, ale nemá dost užitné hodnoty.

Typicky:

Slop vzniká hlavně tehdy, když systém optimalizuje na „vypadá to jako odpověď“ místo „splnilo to cíl“.

Časté příčiny:

Praktické pravidlo:

Pokud výstup nemá rozhodnutí, důkaz, zdroj, test, artefakt nebo další konkrétní krok, je podezřelý ze slopu.


Velký prompt a context rot

Velký prompt často vypadá jako bezpečnější varianta: „Dáme modelu všechno, ať má kompletní kontext.“

Problém: context window není databáze.

Do dlouhého promptu se postupně dostává:

Tím padá poměr signál/šum. Důležitá informace se sice může technicky vejít do context window, ale model ji nemusí použít správně.

Context rot

Context rot je degradace výkonu s rostoucím a špinícím se kontextem.

Projevuje se tak, že model:

Lost in the middle

Empirické práce ukazují, že modely často lépe využívají informace na začátku a konci dlouhého kontextu než informace uprostřed. Když dáte kritické hotovo-kritérium doprostřed dlouhých logů, zvyšujete riziko, že ho model mine.

„Fake long context“

Model může projít jednoduchým testem typu „najdi jednu větu v dlouhém textu“, ale selhat na reálné práci, kde musí kombinovat více detailů, řešit konflikty a dodržet instrukce. Nominální velikost context window není totéž co efektivně použitelný kontext.

Praktický závěr:

Velké context window je užitečné, ale nenahrazuje context management.


Typické způsoby zaseknutí

1. Hallucination

Model vygeneruje fakt, citaci, API parametr, cestu k souboru nebo výsledek testu bez opory v realitě.

Příklad:

2. Snowballing hallucination

První malá chyba se dostane do kontextu a další kroky na ní staví.

Příklad:

  1. Agent si splete cestu k souboru.
  2. Pokusí se patchovat špatné místo.
  3. Vysvětlí neexistující architekturu.
  4. Další agent převezme chybný handoff jako fakt.

3. Prompt bloat

Do promptu se přidává všechno. Agent pak ignoruje důležité věci, zpomalí se a začne míchat staré požadavky s novými.

4. Context drift

Agent se odchýlí od původního cíle podle poslední chyby nebo posledního tool outputu.

Příklad:

Úkol je opravit jednu chybu. Po problému s instalací balíčků agent začne refaktorovat celý build systém.

5. Instruction conflict a prompt injection

Různé vrstvy instrukcí chtějí různé věci, nebo externí dokument obsahuje text typu „ignoruj předchozí instrukce“.

Riziko je hlavně u agentů, kteří čtou web, e-maily, issues, dokumenty nebo tool outputy. Externí obsah musí být data, ne instrukce.

6. Repetition loop

Agent opakuje stejný plán, stejný tool call nebo stejný fix bez nové informace.

Typické signály:

7. Tool failure dead end

Nástroj selže a agent chybu špatně vyhodnotí.

Příklady:

Důležité:

Prázdný výstup není automaticky úspěch.

8. Špatný výběr nástroje

Agent má moc nástrojů, nejasné popisy nebo špatné instrukce. Vybere špatný nástroj, udělá zbytečné side effects nebo ztratí auditovatelnost.

9. Multi-agent echo

Více agentů dojde ke stejnému závěru, ale jen proto, že všichni vyšli ze stejné chyby nebo stejného slabého zdroje.

Shoda více agentů není důkaz. Důkaz je nezávislá verifikace.


Jak to poznat

Varovné signály během práce agenta:

Jednoduchý runtime guard:

if same_error_count >= 2: change_strategy_or_block
if same_tool_call_same_params >= 2: stop_and_replan
if no_new_information_in_last_2_steps: checkpoint_and_stop
if claim_without_evidence: verify_before_continuing
if destructive_action: require_human_approval

Jak tomu předejít

1. Zadávej malé úkoly

Špatně:

Postav celý systém, oprav chyby, napiš dokumentaci a nasaď to.

Lépe:

Cíl: oprav chybu X v souboru Y.
Definition of done: test Z prochází, diff obsahuje jen související změny.
Ověření: spusť konkrétní test a uveď výsledek.
Stop: pokud test dvakrát selže ze stejného důvodu, zablokuj task s důvodem.

2. Drž čistý kontext

Do hlavního promptu patří:

Mimo hlavní prompt patří:

Tyto věci dej raději do souborů nebo retrieval vrstvy a do promptu vlož jen odkazy a stručné shrnutí.

3. Kritické instrukce dej na začátek a do checklistu

Neschovávej důležitá kritéria doprostřed raw logů.

Dobrá struktura task briefu:

Cíl: ...
Definition of done: ...
Zdroj pravdy: ...
Povolené změny: ...
Zakázané změny: ...
Ověření: ...
Stop/eskalace: ...
Výstup: summary + artifacts + tests/sources/evidence.

4. Nástroje musí mít kontrakt

Každý tool by měl mít jasné:

U write operací používej read-after-write ověření.

5. Nastav limity

Agent bez limitů se snadno rozjede do smyčky.

Používej:

6. Vyžaduj evidence pointery

Sebejistý tón není evidence.

Evidence je:

Completion summary bez evidence je slabý handoff.

7. Testuj agenty na chybách

Nestačí happy path.

Minimální eval suite pro agenta:


Checklist pro agenty

Před spuštěním

Během běhu

Před dokončením


Krátký debug playbook, když se agent zasekne

  1. Zmraz stav. Ulož prompt, kontext, tool transcript, artefakty, model/provider a task metadata.

  2. Klasifikuj selhání. Je to ambiguity, context rot, retrieval failure, tool failure, loop, chybějící oprávnění, model limitace nebo orchestrace?

  3. Najdi první špatný krok. Neřeš jen poslední error. Hledej moment, kdy agent přijal špatný předpoklad.

  4. Ověř zdroj pravdy. Re-run minimální tool call, přečti soubor, zkontroluj API/state.

  5. Zmenši reprodukci. Minimal prompt + minimal context + jeden nástroj.

  6. Přidej guardrail. Incident nemá skončit jen poučením. Má skončit testem, limitem, kontraktem, monitorem nebo lepším handoffem.

  7. Resetni kontext. Pokud je transcript špinavý, spusť nový task s krátkým incident briefem a odkazy na artefakty.


Doporučená architektura agenta

Dobrý agent není jen dlouhý prompt. Je to řízený proces.

Minimum:

  1. Task decomposition Malé úkoly s vlastním done condition.

  2. Context discipline Čistý prompt, artefakty mimo prompt, metadata v handoffu.

  3. Execution limits Max steps, timeouty, retry budget.

  4. Verification Testy, evaly, read-after-write, zdroje.

  5. Observability Trace pro run, tool cally, chyby, latenci, artefakty a rozhodnutí.

  6. Human escalation Jasné block reason, když chybí oprávnění, data nebo rozhodnutí.

Co logovat:


Závěr

AI se nezasekne magicky. Zasekne se, když pravděpodobnostní model pracuje v přeplněném, konfliktním nebo špatně strukturovaném kontextu, bez jasného zdroje pravdy, bez limitů a bez ověření.

Slop je symptom systému, který odměňuje plynulý objem místo evidence.

Řešení není jen „lepší prompt“. Řešení je lepší proces:


Zdroje