Série: Jak jsem si postavil druhý mozek · díl 3
Druhý mozek z prvního dílu je wiki, kterou za mě udržuje AI. Hned druhý den jsem k ní přidal něco, s čím se dá mluvit: AI poradce. Tenhle díl je o tom, jak jsou postavení, a hlavně o tom, co si pamatují. Role se napíšou za odpoledne. Paměť jsem ladil půl roku.
Šest stránek, šest rolí
Osmého dubna jsem si do wiki založil pět poradců: životního kouče, finančního a daňového poradce, kouče pro zdraví, obchodního kouče a učitele meditace. O pět dní později přibyl šestý, expert na sociální sítě.
Každý poradce je obyčejná stránka v Markdownu. Popisuje roli, metodu, povahu a hlavně hranice vůči ostatním pěti. Životní kouč například drží celek a ostatní řeší „co" a „jak"; do daní nemluví, ale smí se zeptat, proč se nějakému tématu vyhýbám. Stránka také říká, co má poradce po každém rozhovoru zapsat.
Mluvím s nimi přes Claude Code otevřený ve složce wiki. Agent si přečte pravidla wiki, stránku poradce a jeho paměť, a pak je tím poradcem. Žádná zvláštní aplikace, žádná databáze: soubory, které můžu otevřít a přečíst.
Poradce je text, který si můžete přečíst. Když se chová divně, otevřete jeho stránku a zjistíte proč.
Co se pokazilo
Pět deníků, které o sobě nevěděly
Pět z šesti poradců si v prvních dnech založilo vlastní deník rozhovorů. Fungovalo to, dokud témata nepřekračovala hranice. Jenže skoro všechna překračují: obchodní rozhodnutí má dopad na čas, čas na zdraví. Kouč, který čte jen svůj deník, neví, co jsem včera řešil s jiným.
Čtvrtého června jsem pět deníků sloučil do jednoho proudu, 73 záznamů od nejnovějšího. A oddělil jsem dvě věci, které jsem do té doby míchal:
- Proud — co se stalo. Jeden sdílený deník pro všech šest, jen se do něj připisuje.
- Stav — co platí teď. Sdílený profil s tím, co by měl vědět každý poradce, a pro každého poradce jedna vlastní stránka s tím, co potřebuje jen on. Ty se přepisují.
Poradce čte sdílený profil, začátek proudu a svou stránku. Nikdy stránku jiného poradce. Tak vidí, co se děje jinde, a nezaplatí za to celou hloubku cizích oborů.
Číslo sezení, které nic neříká
Záznamy byly označené „Session 16". Při revizi v červenci se ukázalo, že čísla začala jako počítadlo každého poradce zvlášť a teprve později se z nich stalo sdílené. Asi dvacet čísel se opakovalo u různých koučů. Odkaz na „sezení 16" se nedal rozluštit.
Přešel jsem na datum. Ještě týž den se ukázalo, že když s jedním poradcem mluvím dopoledne z telefonu a odpoledne z klávesnice, dostanou oba rozhovory stejné ID. Takže datum a čas začátku rozhovoru. Začátku, ne zápisu: zápis může proběhnout o hodiny později a nedělní večer by se zapsal do pondělí.
V srpnu pak agent v jednom dlouhém večeru orazítkoval třináct záznamů tak, že k jednomu přečtenému času jen přičítal. Šest z nich přistálo na dni, který ještě nenastal. Pravidlo od té doby zní: když se chystáte napsat ID a od posledního jste nečetli hodiny, přečtěte je.
Stav, ze kterého se stal deník
Stránky se stavem měly být krátké. Dvě z nich narostly na 81 a 53 nadpisů, většina s datem. Byly to deníky v převleku a finanční sezení kvůli nim četlo asi 107 000 tokenů, než se dostalo k mé otázce.
Oprava: každá stránka se stavem začíná krátkou tabulí, která říká, kde věci stojí teď. Sezení čte tabuli, podrobnosti otevře, když je potřebuje. Čtení kleslo zhruba na 12 000 tokenů.
Jenže tabule rostla znovu, jinak. Jedna za dvanáct dní narostla z 2 926 na 13 208 tokenů, aniž by z ní zmizel jediný řádek. Každý nový řádek byl pravdivý, a proto si ničeho nikdo nevšiml.
Řádek na tabuli se přepisuje, nepřidává. Nové téma si nový řádek zaslouží jen výjimečně.
Hlídá to rozpočet na čtení: sdílený profil, tabule poradce a začátek proudu dohromady pod 30 000 tokenů. Původně jsem ho nastavil na 18 000, ale tlačil k tomu zkracovat stránky, které jsem chtěl mít bohatší. Rozpočet má odhalit stránku, ze které se stává deník, ne omezovat, jak dobře mě poradce zná.
Rozhodnutí, které jsem neudělal
Při jednom „zkrácení na stav" agent z varování, že téma dlouho stojí, udělal větu, že jsem ho vědomě odložil. Takové rozhodnutí jsem nikdy neudělal. Druhý den jsem to opravil.
Od té doby platí tvrdé pravidlo: žádný řádek nesmí přisoudit mi rozhodnutí, citát ani preferenci bez data a odkazu na záznam, odkud to je. Když agent nemůže ukázat na řádek, nenaučil se to.
Každý rozhovor si vyrobil zápis
Postup po rozhovoru říkal „aktualizuj svou stránku, pokud se změnil stav". Nijak ale neříkal, že rozhovor může skončit bez aktualizace. Takže skončil s aktualizací vždycky. Jedna dobrá odpověď na jednoduchou otázku se zapsala jako sekce o 37 řádcích.
Test od té doby: přečetlo by si to budoucí sezení a jednalo by jinak? Ne „stál rozhovor za to" — to stojí každý. Když neprojde nic, záznam v proudu je celý zápis.
Co jsem pochopil
Paměť poradce není jedna věc. Je to proud událostí, který se jen přidává, a stav, který se přepisuje. Když je smícháte, máte buď deník, který nikdo nedočte, nebo shrnutí, které ztratilo, odkud co ví.
A druhá věc: pravidla nestačí napsat, musí je něco kontrolovat. Rozpočet na čtení, pořadí záznamů i velikost stránek se stavem dnes měří automatická kontrola wiki. Než vznikla, objevil jsem každé z těch selhání sám, a pozdě.
Paměť ale může i růst tam, kde nepřekáží. Každý poradce má na své stránce oddělenou část s příběhem, jak mě poznával. Agent ji při běžném sezení nečte, takže nestojí nic, dokud ji nepotřebuje.
Jak začít
- Napište každému poradci stránku: roli, metodu, povahu a hranice vůči ostatním.
- Oddělte proud od stavu hned první den. Jeden sdílený deník, do kterého se jen připisuje; krátké stránky se stavem, které se přepisují.
- Rozhodněte, co kdo čte: sdílený profil, začátek deníku a vlastní stránka. Ne cizí.
- Označujte rozhovory časem jejich začátku, ne pořadovým číslem.
- Dejte čtení rozpočet v tokenech a měřte ho automaticky.
- Nepřipouštějte tvrzení o sobě bez data a zdroje.
Příště: jak jsem z poradců sestavil radu.