nanobot: 2026-09-10 12:40:57
This commit is contained in:
@@ -112,8 +112,8 @@
|
|||||||
"originMetadata": {}
|
"originMetadata": {}
|
||||||
},
|
},
|
||||||
"state": {
|
"state": {
|
||||||
"nextRunAtMs": 1789036580440,
|
"nextRunAtMs": 1789038380441,
|
||||||
"lastRunAtMs": 1789034780440,
|
"lastRunAtMs": 1789036580441,
|
||||||
"lastStatus": "ok",
|
"lastStatus": "ok",
|
||||||
"lastError": null,
|
"lastError": null,
|
||||||
"runHistory": [
|
"runHistory": [
|
||||||
@@ -122,11 +122,17 @@
|
|||||||
"status": "ok",
|
"status": "ok",
|
||||||
"durationMs": 0,
|
"durationMs": 0,
|
||||||
"error": null
|
"error": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"runAtMs": 1789036580441,
|
||||||
|
"status": "ok",
|
||||||
|
"durationMs": 0,
|
||||||
|
"error": null
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"createdAtMs": 1789032980437,
|
"createdAtMs": 1789032980437,
|
||||||
"updatedAtMs": 1789034780440,
|
"updatedAtMs": 1789036580441,
|
||||||
"deleteAfterRun": false
|
"deleteAfterRun": false
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
98
projects/ai/artifacts/session-lifecycle-draft.md
Normal file
98
projects/ai/artifacts/session-lifecycle-draft.md
Normal file
@@ -0,0 +1,98 @@
|
|||||||
|
# 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í:
|
||||||
|
|
||||||
|
1. 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.
|
||||||
|
2. 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í.
|
||||||
|
3. 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í:**
|
||||||
|
|
||||||
|
1. 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.)*
|
||||||
|
2. 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.
|
||||||
|
3. 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):
|
||||||
|
|
||||||
|
1. Jedna zpráva: „sepiš handoff: cíl, constrainty, padnutá rozhodnutí,
|
||||||
|
vyloučené přístupy a proč, soubory které se týkají, další krok."
|
||||||
|
2. Uložit do souboru (tmp/plán/noty), 30 s review.
|
||||||
|
3. `/clear`, nová session: „přečti <soubor>; úkol: <X>; hotovo když <Y>."
|
||||||
|
|
||||||
|
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.
|
||||||
@@ -33,3 +33,10 @@ Souvisí s požadavkem na „čistý refaktor": ověření, že se chování zve
|
|||||||
Špatný zdroj: techbytes.app „complete engineer's guide" = AI slop (generická marketingová vata bez reálného obsahu). Lesson: sekundární „complete guide [2026]" weby ignorovat.
|
Špatný zdroj: techbytes.app „complete engineer's guide" = AI slop (generická marketingová vata bez reálného obsahu). Lesson: sekundární „complete guide [2026]" weby ignorovat.
|
||||||
|
|
||||||
Shoda napříč zdroji: nová session při novém úkolu, review ve fresh context, po chybové smyčce restart s lepším promptem, přenos mezi sessions = artefakty (spec, AGENTS.md, NOTES.md), ne historie chatu. Návod teprve budeme skládat.
|
Shoda napříč zdroji: nová session při novém úkolu, review ve fresh context, po chybové smyčce restart s lepším promptem, přenos mezi sessions = artefakty (spec, AGENTS.md, NOTES.md), ne historie chatu. Návod teprve budeme skládat.
|
||||||
|
- 2026-09-10: Draft návodu session-lifecycle (draft, ne finál) — odpovědi na otázky uživatele:
|
||||||
|
|
||||||
|
1. Plánování vs pravidlo „2 neúspěšné korekce": signál není počet kol, ale stejná námitka podruhé. Konvergující iterace (nová rozhodnutí, staré námitky se nevrací) je zdravá — decision history je přesně to, co plánování potřebuje. Anchor loop: opakuju stejnou námitku, model kosmeticky přepracovává vlastní draft. Důvod, proč anchoring u plánování silnější než u kódu: chybí externí verifier — jediným faktem je modelův vlastní text, reviduje sám sebe, kosmetika vypadá jako pokrok. Praktika: iterovat v souboru plánu ne v chatu (náš dodatek k Anthropic „spec → fresh session implementace"); stejná námitka 2× → stop → kostru navrhuje člověk (lesson z agent-to-human-tools).
|
||||||
|
|
||||||
|
2. „Přenos = artefakty" konkretizace: 3 druhy — repo/diff (hlavní, nese celý stav implementace, nic přenášet nemusím), spec/plan soubor (při plánování), handoff brief (jen na hranici session: rozhodnutí + vyloučené cesty — to nejsou vidět v kódu). Brief píše MODEL na jednu žádost, já jen 30s review — moje práce jedna věta. Trvalé části odtékají do store, které stejně vedu (rozhodnutí → memory.md, opakovaná chyba → CLAUDE.md/AGENTS.md). Nepřenášet: historii chatu, retrospektivy, duplicity kódu.
|
||||||
|
|
||||||
|
Draft uložen: projects/ai/artifacts/session-lifecycle-draft.md. Otevřená otázka: hranice „related task" (dokumentace k hotové feature — Anthropic nechává intuici).
|
||||||
|
|||||||
Reference in New Issue
Block a user