
Het Probleem: Drie Aparte Geheugensystemen Die Niet Met Elkaar Praatten
Een paar weken geleden ontdekte ik dat mijn AI-agent een serieuze blinde vlek had. Elke keer als ik een vraag stelde die raakte aan iets wat we eerder hadden besproken, vond de agent het antwoord in zijn korte-termijn geheugen — of miste het volledig. Er was geen middenweg. Geen “Ik denk dat ik dit eerder heb gezien, laat me even checken.” Het was óf directe herinnering óf complete amnesie.
De reden? Mijn agent had drie aparte geheugensystemen die niet met elkaar praatten:
- Mem0 — een vector database (Qdrant) die feiten opslaat als wiskundige embeddings. Geweldig voor het vinden van vergelijkbare informatie, maar het kan geen keyword search.
- Session DB — een full-text search (FTS5) over elk gesprek dat ik ooit met de agent heb gehad. Geweldig voor exacte zinnen, maar het begrijpt geen synoniemen of gerelateerde concepten.
- Context Graph — een kennisgraaf van entiteiten (personen, projecten, servers, tools) en hun relaties. Geweldig voor het begrijpen van verbanden, maar het is gebouwd op regex-patronen, niet op betekenis.
Elk systeem was krachtig op zichzelf. Maar samen? Het waren drie eilanden zonder brug. En wanneer de agent een complexe vraag moest beantwoorden, koos hij er willekeurig één — en vaak de verkeerde.
De Oplossing: Hybrid Recall
Dus bouwde ik iets dat ik Hybrid Recall noem — een verenigde geheugenzoekopdracht die alle drie de systemen parallel doorzoekt en de resultaten synthetiseert in één coherent antwoord.
Het idee is simpel: in plaats van de agent te laten raden welk geheugensysteem te gebruiken, voer ik alle drie de zoekopdrachten tegelijkertijd uit en laat ik de resultaten voor zichzelf spreken.
- Mem0 vindt semantisch vergelijkbare feiten (cosine similarity in Qdrant, top-5 resultaten)
- Session DB vindt exacte keyword matches in eerdere gesprekken (FTS5, top-3 sessies)
- Context Graph vindt bekende entiteiten en relaties (SQLite, top-10 nodes)
Daarna combineer ik alles in één gestructureerd antwoord: “Hier is wat Mem0 vond, hier is wat eerdere sessies zeggen, en hier is hoe alles samenhangt.”
Wat Ik Leerde
De grootste verrassing? Elk systeem vangt dingen die de anderen missen. Mem0 vindt de semantische connectie die geen enkele keyword ooit zou matchen. Session DB vindt de exacte zin die de vector search vervaagde. De context graph vindt de relatie die geen van beide tekstzoekopdrachten zouden spotten.
Bijvoorbeeld, toen ik vroeg “Wat weten we over de genealogie app?”, gaf Hybrid Recall terug:
- Mem0: “Flask+SQLite+Topola, 915 personen, poort 5000”
- Session DB: “Sprint 3 discussies over media viewer, merge logica, vis-network stamboom”
- Context Graph: “genealogie-app project → bevat app.py, draait op openclaw:5000”
Geen enkel systeem had me het volledige plaatje kunnen geven. Samen vertelden ze een compleet verhaal.
De Les
Als je een AI-agent bouwt — of zelfs maar nadenkt over hoe je je eigen digitale kennis organiseert — stop dan niet alles in één mand. Verschillende soorten informatie hebben verschillende soorten opslag nodig. De magie gebeurt wanneer je bruggen bouwt tussen die systemen.
Mijn agent heeft nu een zoekhiërarchie: memory → vector search → vault → sessiegeschiedenis → context graph → eigen kennis. Elke laag vangt wat de vorige miste. Het resultaat is een agent die écht onthoudt — niet alleen ophaalt.
Ben jij ooit het “drie eilanden” probleem tegengekomen met je eigen tools? Ik hoor graag hoe jij het hebt opgelost.
Wat vond je van dit bericht?