Jamals wens: een assistent die echt onthoudt, vooruitdenkt, weet wat je wilt, en iets van een jaar geleden meteen weet. Dit rapport: wat de wereld (Reddit, dev-blogs, frameworks) hierover weet, een eerlijke audit van wat ík nu héb, en een concreet upgrade-plan.
Goede-nieuws-conclusie vooraf: mijn huidige opzet is al precies de architectuur die Anthropic én ervaren ontwikkelaars aanraden. We hoeven geen zwaar framework te installeren. De winst zit in slimmer onthouden (kwaliteit + ordening), niet in meer techniek.
| Framework | Wat het is | Voor ons |
|---|---|---|
| Mem0 | Geheugenlaag, LLM extraheert + de-dupliceert feiten | Goed idee om te jatten (de UPDATE/DELETE-logica), niet de tool zelf |
| Letta (MemGPT) | Agent beheert eigen geheugen als een OS (RAM/schijf) | Overkill — Claude Code ÍS al m'n runtime |
| Zep | Temporele kennisgraaf (wat was waar wanneer) | Beste voor tijd-gevoelige feiten, maar zware ops (Neo4j) — niet voor 1 gebruiker |
| Cognee | Lokale kennisgraaf (SQLite, geen servers) | Pas interessant als we multi-hop nodig hebben ("welke klant verwees X die Y kocht") |
| Plain RAG (vector-DB) | Inbedden + semantisch zoeken | De basis — maar zonder updates → "geheugen-bloat" |
| Claude Code files + hooks | Markdown + just-in-time ophalen | Precies wat Anthropic aanraadt — en wat ik al gebruik |
Anthropic's eigen advies (context-engineering): file-based geheugen + just-in-time ophalen (laad niet alles vooraf, hou lichte verwijzingen en haal op runtime op) + gestructureerde notities + compaction + sub-agents. Niet een vector-store.
Mijn stack = (a) markdown memory-bestanden die elke sessie auto-laden, (b) Mnemosyne (gedeelde semantische recall met Conductor/Jay), (c) een auto-recall-hook op élk bericht, (d) PreCompact-snapshot, (e) dagelijkse last-session + vault. Dit is exact het aanbevolen patroon. Ik ben dus geen framework "kwijt".
Maar — dit zijn mijn echte zwakke plekken (waarom ik niet altijd iets van "een jaar geleden" meteen weet):
1. Slimmer SCHRIJVEN naar Mnemosyne (grootste winst). Vóór opslaan: eerst recall van buren → laat model beslissen ADD / UPDATE / DELETE / NOOP (jat Mem0's logica). Zo vervang ik oude feiten i.p.v. stapelen. Directe winst op "onthoud een feit van een jaar geleden — correct, ook als het veranderd is."
2. Tijd-stempel op elk geheugen (created_at + optioneel superseded_by). Recall geeft dan het meest recente, niet-verouderde feit. ~80% van Zep's waarde, bijna gratis. Belangrijk voor een salon (prijzen/personeel/beslissingen veranderen).
3. Episodisch vs semantisch splitsen + MEMORY.md lean (<200 regels, alleen pointers). Blijvende feiten (salon/sites/klanten/beslissingen) → Mnemosyne + topic-bestanden, op aanvraag. Dag-logs/handoffs → gedateerde bestanden, niet elke sessie laden. Plus een check dat elke verwijzing ook echt bestaat (tegen "memory blindness").
4. CLAUDE.md afslanken. Procedurele "als X → doe Y" naar skills + path-scoped rules (laden alleen wanneer relevant). CLAUDE.md = alleen altijd-ware feiten + pointers. Verbetert dat ik regels écht volg.
5. Streng cureren bij opslaan (kwaliteitspoort, geen auto-dump). Onderscheid "nieuw feit" vs "opgehaalde herinnering" om de hallucinatie-loop te breken.
6. (Later) lokale kennisgraaf (Cognee) — alléén als we multi-hop nodig hebben. Tot dan premature.
Wat we NIET doen: niet migreren naar Letta/Zep/Neo4j (overkill + ops-last voor 1 gebruiker). De goedkope tijd-stempel (#2) vangt het meeste van Zep's waarde.
Eén zin: ik heb al de juiste architectuur; we maken Sjakie slimmer door beter te schríjven (de-dup + vervangen + tijd-besef) en de altijd-aan context lean te houden — niet door een zwaarder systeem te installeren.
Bronnen: Anthropic "Effective context engineering"; Claude Code memory-docs + memory-cookbook; Mem0-paper + de 97,8%-rommel-audit (GitHub #4573); HN "Are we close to figuring out agent memory"; Zep/Graphiti-paper; Letta memory-blocks; Cognee; diverse dev-blogs (volledige URL-lijst beschikbaar op verzoek).