5.2 KiB
Session lifecycle — DRAFT (rozpracováno postupně, finální návod až po dohodě)
Body 1–5 (shoda zdrojů z researchu 10.9.)
Nový task = nová session; review ve fresh context; přenos mezi sessions artefakty; po 2 neúspěšných opravách restart; compact = pojistka, ne plán.
6. Vztahuje se „2 neúspěšné korekce → restart" i na plánování?
Ne na počet kol — na typ iterace. U plánování se 6 kol může znamenat dvě naprosto různé věci:
Konvergující iterace (zdravá):
- každé kolo uzavře nová rozhodnutí a staré námitky se nevracejí
- context roste o decision history — přesně to, co pro plánování chceme
- ukončit ji = zahodit nashromážděné rozhodnutí, ne ušetřit
Kruhová iterace — anchor loop (selhání):
- opakuji stejnou námitku, model kosmeticky přepracovává vlastní draft
- výstup nesleduje vstup; každá další korekce stejného typu nepřidává informaci
Signál je „stejná námitka podruhé", ne počet kol. Zdůvodnění:
- Počet kol nedokáže odlišit konvergenci od smyčky — 6 kol konvergující iterace je v pořádku, 3 kola smyčky jsou ztracený čas.
- Stejná námitka podruhé je důkaz, že výstup nesleduje vstup. Třetí korekce stejného typu nemá žádnou novou informační hodnotu — jen přidává tokeny mrtvých pokusů, kterými se model dál ukotví.
- V plánování chybí verifier. U kódu každý pokus narazí na realitu (build, testy) a force korekci kurzu; u plánu je jediným „faktem" text, který model sám napsal — reviduje se sám vůči sobě a kosmetika vypadá jako pokrok. Proto je anchoring u plánování silnější než u kódu, ne slabší.
Praktika pro plánování:
- Iterovat v souboru plánu, ne v chatu. Po každém kole se upraví soubor (plán, tabulka scénářů); chat je jen médium. Soubor je single source of truth — přežije kompakci i restart a nová session z něj může spustit implementaci bez rekonstrukce z historie. (Naše extenze — Anthropic jen říká „plan file → fresh session na implementaci"; iterovat přímo soubor plyne z mechaniky: soubor je imunní vůči context rot.)
- Námitka podruhé → stop → kostru navrhnu sám (tabulka scénářů, skeleton, rozhraní) a model ji doplňuje. Lesson z agent-to-human-tools.md: rozhraní navrhuje člověk, protože model je anchorovaný na svůj první draft a není schopen ho opustit.
- Plán hotov → implementace ve fresh session ze souboru plánu (Anthropic: „Once the spec is complete, start a fresh session to execute it.")
7. „Přenos mezi sessions = artefakty" — jak to dělat snadno
Artefakt není nová povinnost, ale věc, která v práci stejně existuje. Tři druhy:
| Artefakt | Kdy vzniká | Co nese | Životnost |
|---|---|---|---|
| Repo / kód / diff | pořád | kompletní stav implementace | trvalá |
| Spec / plan soubor | při plánování | zadání, constrainty, done-when | do konce úkolu |
| Handoff brief | při ukončování session | rozhodnutí, vyloučené cesty, další krok | jednorázová |
Repo je hlavní artefakt. Pro pokračování v kódu nepotřebuju vůbec nic přenášet: nová session si přečte kód. Historie chatu nenese hodnotu navíc — všechno, co v ní bylo smysluplného, je buď v kódu, nebo patří do briefu (rozhodnutí a vyloučené cesty nejsou v kódu vidět, proto brief existuje).
Handoff brief — kdo ho píše: model, ne já. Low-effort postup na hranici
session (před /clear, před ukončením práce):
- Jedna zpráva: „sepiš handoff: cíl, constrainty, padnutá rozhodnutí, vyloučené přístupy a proč, soubory které se týkají, další krok."
- Uložit do souboru (tmp/plán/noty), 30 s review.
/clear, nová session: „přečti ; úkol: ; hotovo když ."
Moje práce: jedna věta + 30 sekund review. (Anthropic o /clear říká „you write down what matters" — varianta s model-drafted briefem je naše zjednodušení; caveat: model píše brief s plným kontextem, tedy ve slabším stavu, proto to review. Zkrácená verze: klíčová rozhodnutí/vyloučené cesty si nadiktuju sám, model doplní stav souborů.)
Proč to není zbytečná práce:
- píše se jednou na hranici session, ne průběžně
- je to pár vět, ne dokumentační projekt
- po použití se brief zahodí; trvalé části odtékají do store, které stejně vedu — rozhodnutí → memory.md, opakující se chyba → CLAUDE.md/AGENTS.md (OpenAI: „when Codex makes the same mistake twice, update AGENTS.md")
Co se nedělá: nepřesouvat historii chatu („prosím pokračuj"), nepsat retrospektivy, neduplikovat do souborů, co už je v kódu/diffu.
Mapping na současné nástroje:
- nanobot project skill už to dělá: memory.md = decision log, state.md = handoff brief (activate = „přečti soubor a pokračuj")
- Claude Code: plan file v repu + CLAUDE.md pro trvalá pravidla
- Codex: AGENTS.md + skills
Otevřené otázky
- Kde přesně vede hranice „related task" — dokumentace k hotové feature? Anthropic: může zůstat (reread by byl dražší), ale jde o stejný úkol.