Ráno, kdy agent nepoznal sám sebe
Každé ráno otevřu Claude Code a sednu si naproti kolegovi, který si nepamatuje jediný den, co jsme spolu odpracovali.
Včera jsme tři hodiny ladili, proč ten retry patří do service vrstvy a ne do controlleru. Probrali jsme to ze všech stran, došli k rozhodnutí, zapsali pár preferencí, jak strukturovat error handling. Dneska ráno se mě agent ptá, jestli bych ten retry nedal radši do controlleru.
Není to chyba, je to design. Každá session Claude Code startuje s čistým kontextovým oknem. Včerejší rozhodnutí, odladěné preference, „a proč takhle a ne jinak" – pryč. Kontinuitu napříč sessions nedrží žádná magie, drží ji dva soubory: CLAUDE.md, který píšu já, a auto-memory, kterou si agent píše sám. A přesto mám každé ráno pocit, že začínám od nuly.
Paměti mám dost, chybí mi reflexe
Auto-memory existuje a v praxi mi sedí líp, než jsem čekal. Je to adresář markdownů v ~/.claude/projects/<project>/memory/, index MEMORY.md plus tematické soubory. Na začátku session se načte jen index – řádově prvních dvě stě řádků, kolem 25 KB – a detaily si agent dotáhne, až je potřebuje. Čisté texty: můžu si je přečíst, přepsat, grepnout. Žádná černá skříňka.
Agent navíc neukládá všechno. Sám se rozhoduje, co stojí za zapamatování. Přesně tohle chci.
A přesto mi něco chybí. Když si to přeberu, ten problém není nedostatek paměti. Zápis „dneska jsme udělali tohle a tamto" není totéž co destilace „a tohle z toho plyne pro zítřek". Mám deník událostí. Chci závěry.
Každé shrnutí ubírá signál
Když se session blíží limitu kontextu, nastupuje auto-kompakce: nejdřív se mažou staré tool-outputy – ty podle komunitních rozborů fungování Claude Code tvoří klidně 60 až 80 % kontextu – a pak se zbytek konverzace shrne. Zní to rozumně, dokud nezjistíš, co přesně mizí: konkrétní cesty k souborům, společně vydřená rozhodnutí, stav rozdělané práce.
A není to jen o jedné kompakci. Představ si, že dnešní session už během dne prošla kompakcí, takže je sama o sobě shrnutím. Když z ní večer vytáhnu denní zápis, shrnuju shrnutí. A zítra se z toho zápisu zase shrne další – druhý den už pracuju se shrnutím shrnutí. To je tichá pošta: každé kolo lossy summarizace ubere kus signálu, až po pár dnech zbyde rozmazaná vzpomínka na něco, co bylo kdysi přesné. Studie Chroma o context rot to potvrzuje z druhé strany – kvalita výstupu klesá s rostoucí délkou kontextu, a to u všech 18 testovaných frontier modelů.
Padá tím intuice, že stačí zapisovat víc. Shrnutí je komprese všeho. Reflexe je výběr: co bylo důležité, co se opakovalo, co má smysl zachovat do dalšího dne. Víc poznámek z tebe nedělá chytřejšího agenta – občas přesně naopak.
Tohle už někdo promyslel
Večerní reflexní smyčka není sci-fi, akademici ji popsali už v roce 2023.
Vezmi si přesně ten ranní problém – agent se ptá na retry, který jsme včera vyřešili. Reflexion (Shinn et al., NeurIPS 2023) řeší právě tohle: agent si verbálně zreflektuje zpětnou vazbu a uloží ji do episodic memory bufferu, takže příště čte, co mu minule nešlo. Žádný fine-tuning, žádné přetrénování vah – všechno přes text.
Generative Agents (Park et al., 2023) šli dál. Memory stream, retrieval podle recency, importance a relevance, a hlavně rekurzivní syntéza pozorování do reflexí, takzvaný reflection tree. Agent z drobných pozorování skládá závěry vyšší úrovně – přesně ten krok od „co se stalo" k „co z toho platí".
Sleep-time compute od lidí kolem Letta/MemGPT jde ještě jinam: oddělený agent v klidu, mimo provoz, konsoliduje paměť. Deduplikuje, přepisuje, prořezává. Z „raw context" dělá „learned context". Přesně ten krok, který mně v denní praxi chybí.
Co kdyby měl agent svůj večer
Co teď přijde, jsem nezkusil – beru to jako myšlenkový experiment, ne návod. Promýšlím nahlas: co kdybych agentovi ten večer dal?
Představ si, že na konci dne se agent ohlédne. Ne aby všechno shrnul – aby vybral. Projde konverzaci, rozhodnutí, poznámky, co během dne nasbíral. Zeptá se sám sebe: které rozhodnutí jsem zpochybnil a pak se k němu vrátil? Co tu zítra budu chtít vědět, aniž bych se ptal?
A tu hrstku závěrů strukturovaně zapíše do vrstvy, která se každý den zpřesňuje. Ne deník „co se stalo", ale destilát „co z toho platí". Místo aby k paměti přidával, přepisoval by ji. Ráno by pak nezačínal čtením všeho – začínal by tím, co včerejší já uznalo za podstatné.
Představuju si to takhle: hook Stop nebo SessionEnd na konci práce spustí samostatnou reflexní session. Ta dostane denní konverzaci a zadání „nepiš deník, vyber tři až pět závěrů a slučuj je s tím, co už v paměti je". Výstup přepíše tematický soubor v auto-memory, ne aby ho nastavil. Místo hooku by to klidně zvládl cloudový cron přes /schedule nebo /loop – ale mechanismus je vedlejší. Co chybí, je ten záměr: oddělit reflexi od shrnutí.
Past archivu bordelu
A teď poctivá námitka, ať to nevyzní moc přímočaře. Naivní „zapisuj všechno" by skončilo hůř než nic.
Znáš to ze Zettelkastenu jako collector's fallacy: mít poznámky není znalost. Znalost vzniká až zpracováním – přepsáním, propojením, destilací. Hromada zápisků je jen hromada. A u agenta to má ještě jeden zub navíc: protichůdná pravidla. Když máš v paměti „dej retry do service" i „dej retry do controlleru", výběr se stane arbitrární a agent ztratí oporu. CLAUDE.md má svůj důvod, proč se podle doporučení z dokumentace drží pod dvěma sty řádky – delší soubory podle ní snižují adherenci. Čím víc toho do kontextu nasypeš, tím hůř se v tom agent řídí.
Takže ten večerní krok nesmí být „přidej dnešek na hromadu". Musí to být konsolidace. Zapomínat chytře. Slučovat duplicity, zahazovat, co se nepotvrdilo, přepisovat staré závěry novými. Chytřejší agent nevzniká z většího archivu, ale z lepšího prořezávání.
Zatím jen představa
Je to zatím jen představa, kterou promýšlím. Ale neopouští mě.
Ráno, kdy ani já, ani agent nezačínáme od nuly. Kdy si naproti mně sedne kolega, který si večer vybral, co z včerejška stojí za dnešek, a začne tam, kde jsme přestali.
Otázka pro tebe: kdyby tvůj agent měl svůj večer, byl by tvůj workflow ráno lepší?
