Lekce 05.9: Paměťový systém agentů: Antigravity & Claude Code (Agent Memory & Persistence)
🧠 Mentální model & teoretický rozbor
Jednou z největších výzev agentního kódování je kontinuita poznatků mezi sezeními. Když ukončíte sezení, kontext v paměti zanikne. Jak zajistit, aby si agent pamatoval specifika vašeho projektu a vaše opravy?
Moderní CLI harnessy k tomu přistupují dvěma způsoby:
PŘÍSTUPY K DLOUHODOBÉ PAMĚTI AGENTA:┌──────────────────────────────────────┬──────────────────────────────────────┐│ ANTIGRAVITY (Deterministická paměť) │ CLAUDE CODE (Automatická paměť) │├──────────────────────────────────────┼──────────────────────────────────────┤│ • Sezení se logují do strukturovaných│ • Model autonomně zapisuje poznatky ││ transkriptů (brain/transcript.jsonl│ do interního souboru MEMORY.md. ││ • Příkaz /learn: Když agenta opravíte│ • Automaticky načítá poznatky na ││ nebo odladíte setup, perzistuje to │ začátku každého nového sezení. ││ do konfigurace a pravidel projektu.│ • Riziko: Tichá akumulace neplatných ││ • MCP Memory servery pro entity. │ hypotéz a zastaralých mocků. │└──────────────────────────────────────┴──────────────────────────────────────┘Dvousečná zbraň automatické paměti:
- Výhoda: Nemusíte agentovi při každém novém spuštění opakovat základní zvyklosti repozitáře (např. „používáme pnpm a Vitest“).
- Inženýrské riziko: Nekontrolovaná paměť akumuluje chybné hypotézy, zahozené prototypy a lokální hacky. Agent pak může selhávat v produkčních úkolech, protože se řídí zastaralou poznámkou z minulého týdne.
🏢 Realistický scénář z praxe
Před týdnem vývojář zkoušel experiment s dočasným mockováním Stripe plateb:
Dočasně do projektu přidal mockovací utilitu mockStripePayment.
Agent si do automatické paměti zapsal: „Při testování plateb vždy použij mockStripePayment.“
O týden později se vývojář pokouší napsat skutečný integrační test na ostré Stripe API.
Agent mu v každém kroku vnucuje starý mock, protože ho má zapsaný ve své trvalé paměti!
💻 Konkrétní ukázky kódu & promptů
A) V Antigravity: Záměrné učení přes /learn a transkripty
Pokud v Antigravity agenta opravíte (např. „V Next.js 15 App Routeru jsou parametry v PageProps Promise, musíš použít await params“), nechcete, aby to zapomněl, ale ani nechcete nekontrolovaný balast.
Zadáte příkaz /learn:
# V Antigravity po úspěšné opravě:/learn Zapamatuj si, že v Next.js 15 jsou route params asynchronní a vyžadují await paramsAgent analyzuje provedenou opravu a navrhne její uložení do odpovídajícího konfiguračního souboru (AGENTS.md nebo pravidla v ~/.gemini/config/rules/), kde je tato znalost revidovatelná a verzovaná.
B) V Claude Code: Správa souboru MEMORY.md
Claude Code udržuje automatický soubor MEMORY.md (typicky v ~/.claude/projects/.../memory/):
# Auto-generated Memory for Project Storefront- Uživatel preferuje pnpm místo npm.- Databázové testy vyžadují spuštěný Docker kontejner `docker compose up -d postgres`.- V projektu se nepoužívá Axios, ale nativní fetch.Pokud se paměť zanese neplatnými fakty, vyzvěte Claude Code k hygieně:
Zkontroluj svou projektovou paměť. Smaž z ní jakékoliv záznamy týkající se dočasného mockování stripe a ponech pouze pravidla pro pnpm a integrační testy.⚠️ Analýza selhání & Anti-patterns
Chyba: Spoléhání na skrytou paměť místo verzovaných instrukcí
Pokud klíčové architektonické rozhodnutí necháte pouze v automatické paměti jednoho vývojáře:
- Nikdo jiný v týmu toto pravidlo nemá. CI runner ho nemá.
- Inženýrský zlatý standard: Vše, co je stabilní a platí pro tým, patří do verzovaného
AGENTS.md(neboCLAUDE.md) v Gitu!
🛠️ Inženýrský postup krok za krokem (Playbook)
- Pravidlo 80/20: Znalosti o buildování, architektuře a testech patří do verzovaného
AGENTS.md/CLAUDE.md. - Když agenta opravíte: Využijte
/learnv Antigravity nebo ručně promítněte opravený princip do instrukcí. - Pravidelná hygiena: Jednou měsíčně zkontrolujte stav dlouhodobé paměti a promažte zastaralé zápisy.
🧪 Praktické cvičení (Hands-on Lab)
Úkol:
Ověřte a vyčistěte dlouhodobou paměť vašeho agenta.
Kroky:
- Spusťte
agy(neboclaude). - Zeptejte se agenta:
Jaké máš uloženy dlouhodobé poznámky o tomto projektu nebo mých preferencích?
- Zhodnoťte, které záznamy jsou stále platné a které jsou již zastaralé.
- Aktualizujte nebo vymažte neplatné body, aby nezkreslovaly budoucí sezení.