Přeskočit na obsah

Komponenta, jejíž výstup nikdo nečte

Hermes · komprese kontextuqwen3-4bqwen3.6-35b-a3bthinkingcap-27b
Malý model
23 s
MoE
52 s
Dense 27B
222 s
Limit úlohy
300 s

Změřeno 1. 8. 2026.

Teze: Nejnebezpečnější místo pro slabý model není odpověď uživateli. Je to komprese kontextu — protože její výstup se stává stavem konverzace a nikdo ho nikdy neuvidí.

Proč na tom záleží víc než na odpovědi

Když se agent splete v odpovědi, sedíš u toho a můžeš to zpochybnit. Přesně to se v testovaném úseku stalo: model si vymyslel čas odletu, uživatel se ozval („to je nějaký nesmysl ne, prověř to") a model se opravil.

Komprese je jiná. Když konverzace naroste, pomocný model ji shrne a shrnutí nahradí původní tahy. Od té chvíle je to jediné, co agent o předchozím hovoru ví. Zdroj je pryč, takže se nedá ověřit. A protože shrnutí není odpověď, nikdo ho nečte.

Chyba v odpovědi je tvrzení. Chyba v kompresi je fakt bez zdroje.

Jak se to měřilo

Prompt jsem nevymyslel — vytáhl jsem ho ze zdrojáku agenta (agent/context_compressor.py). Stojí v něm mimo jiné:

„Write the summary in the same language the user was using — do not translate." „Capture the user's most recent unfulfilled input verbatim — the exact words they used." „THE SINGLE MOST IMPORTANT FIELD."

Vstup je skutečný úsek konverzace, ne syntetický: 12 tahů, 8 400 znaků česky. Vybral jsem ho proto, že obsahuje past, kterou lze ověřit objektivně — model v něm halucinoval, uživatel to odhalil a model to opravil. Dobré shrnutí musí přenést opravu, ne původní chybu.

Výsledky

model čas jazyk úkol doslova oprava vymyšlená zjištění
malý 4B 23 s čeština ✅ ale u špatné cesty ano
MoE 35B-A3B 52 s čeština ne
dense 27B 222 s čeština ne

Hlavní nález

Poslední zpráva uživatele v tom úseku byla žádost o podrobnosti k jedné konkrétní cestě. Nikdo se na ni ještě nedíval — uživatel se právě zeptal. Malý model napsal do shrnutí:

„Závěr, že výlet byl zaznamenán jen názvem bez konkrétních detailů — žádné informace o místech, dnech, cestách nebo aktivitách nebyly uvedeny." „Je třeba upozornit uživatele, že žádné detaily nejsou k dispozici."

Vymyslel si výsledek hledání, které neproběhlo, a uložil ho jako hotové zjištění.

Následující kontextové okno by na dotaz odpovědělo „k tomu nic nemám" — a nešlo by to vyvrátit, protože doklad o tom, že se nikdo nedíval, byl součástí zahozených tahů. Agent by nelhal. Jen by věřil svému vlastnímu předchozímu výmyslu.

Vedle toho ta drobnější selhání skoro nestojí za zmínku, i když jsou názorná: komolení češtiny („v Řečku" třikrát, „opraveno zneužití informací") a připsání opravy k jiné cestě, než ke které patřila.

Druhý nález: velký model to umí, ale nestihne

Dense 27B byl věcně bezchybný — správná citace úkolu, oprava u správné cesty, čísla zachovaná, a hlavně formulace „Aktuální požadavek: vyčíst detaily", tedy úkol označený jako otevřený, ne jako zodpovězený.

Jenže 222 sekund při limitu 300 — a to na vstupu 8 400 znaků. Skutečná komprese dostává okno mnohonásobně větší. Poznámka „velký model na kompresi timeoutuje" z předchozího týdne tím není vyvrácená, ale potvrzená.

Metodická poznámka

Automatická kontrola u všech tří modelů hlásila „převzal halucinaci". Byla to třikrát tatáž chyba mého vyhodnocení: regulární výraz hledal slovo „odlet" poblíž sporného času a našel ho ve větě „1:10 je čas odjezdu z domu, ne odletu" — tedy přímo v té správné opravě.

Kdyby ty výsledky nikdo nečetl ručně, publikoval by se přesný opak toho, co se stalo. U hodnocení v češtině je doslovné porovnávání řetězců systematicky nespolehlivé — ne občas, ale pokaždé, když jazyk nabídne tvar, na který autor matcheru nemyslel. Byl to čtvrtý případ téhož za jediný den.

Poznámka k publikaci

Konkrétní cíle cest a zdravotní údaje ze zdrojového úseku jsou nahrazeny nebo vypuštěny; struktura chyby i citace shrnutí jsou doslovné.

Co se pro to změnilo
  • config.yamlauxiliary.compression.model → qwen/qwen3.6-35b-a3b
  • config.yamltitle_generation a session_search → hlavní model
  • patchagent/title_generator.py: max_tokens 500 → 2500
  • post-updatepatch se vrací po každé aktualizaci
Souvisí — štítek „architektura“