Geheugensystemen in AI-assistenten
Werkend, gestructureerd en ophaalbaar geheugen voor assistenten.
Geheugen verandert assistenten van reactief naar persistent, maar het is ook waar veel systemen stil verlopen. Onderzoeken betoogen dat de splitsing tussen kortetermijn- en langetermijngeheugen niet langer voldoende is voor modern agentengeheugen; OpenAI en LangGraph SDK’s wijzen op een eenvoudigere stack — werkgeheugen, duurzame staat en ophaling.
Assistenten hebben werkgeheugen nodig voor de huidige uitvoering, duurzame staat voor stabiele feiten en voorkeuren, en ophaalgeheugen voor relevante ondersteunende context. Mijn iets eigenzinnige mening is dat gestructureerde staat onderbenut wordt, vectorophaling overbenut wordt, en dat de meeste geheugenproblemen voortkomen uit promotie- en injectiebeleid in plaats van de opslagkeuze.
Een ander belangrijk punt is dat geheugen niet automatisch lang context oplost. LoCoMo toont aan dat zeer langetermijn conversatieherinnering moeilijk blijft, en “Lost in the Middle” toont dat het simpelweg meer tokens aan het model geven de prestaties kan verlagen wanneer relevante informatie in het midden van de prompt belandt. Goede geheugensystemen zijn selectief, gelaagd en expliciet over prioriteit.
Deze gids bevindt zich in de AI-systemen geheugenhub als de cross-framework map voor de geheugenlaag binnen AI-assistentenarchitectuur.

Hoe je moet denken over assistentengeheugen
Assistentengeheugen is niet hetzelfde probleem als PKM, wikis of standalone RAG-pipelines — PKM vs RAG vs Wiki vs Geheugensystemen brengt die paradigma’s op het niveau van kennisarchitectuur in kaart. Deze gids blijft één laag lager, in de runtimecontracten die assistenten daadwerkelijk implementeren.
De schoonste manier om naar geheugen te kijken is niet als “chatgeschiedenis”, maar als een set opslagcontracten met verschillende taken. Eén opslag behoudt de actieve thread. Een andere opslag behoudt duurzame gebruikersstaat. Een andere ondersteunt semantische zoektocht over documenten of eerdere interacties. OpenAI’s geheugenrichtlijnen voor personalisatie maken dit expliciet door globaal en sessiegeheugen te scheiden, terwijl LangGraph thread-level persistentie scheidt van langetermijnopslag over conversaties heen.
Geheugen is belangrijk omdat productieassistenten werk herhalen, doelen bezoeken en opereren over dagen of weken heen. Generative Agents populariseerden het patroon van het opslaan van ervaringen, daarover nadenken en ze dynamisch ophalen voor toekomstige planning. MemGPT duwde dat verder door geheugen te modelleren als lagen en beweging tussen snelle en trage opslag. Recentere systemen zoals A-MEM en Mem0 focussen op koppeling, consolidatie en deployment-efficiëntie in plaats van alleen herinneringsvolume.
Types van geheugen
Productieassistenten hebben typisch drie samenwerkende lagen nodig. De FAQ hierboven noemt ze; de secties hieronder leggen uit hoe elk zich in echte systemen gedraagt.
Kortetermijngeheugen
Kortetermijngeheugen is de werkcontext van de huidige conversatie of uitvoering. OpenAI-sessies voegen automatisch conversatiegeschiedenis toe voor elke uitvoering en voegen nieuwe items toe na elke uitvoering. LangGraph implementeert hetzelfde idee als thread-level persistentie via een checkpointer. Deze laag behoudt lokale coherentie, maar het is ook het eerste dat explodeert wanneer toolresultaten, bestandlezingen of lange chats opstapelen.
Langetermijn ophaalgeheugen
Langetermijn ophaalgeheugen slaat items op die worden opgehaald wanneer relevant in plaats van elke beurt opnieuw af te spelen. Dit overlapt met RAG als ophalingstechniek, maar het is niet het hele verhaal van assistentengeheugen — wikis en PKM-corpora voeden vaak de index terwijl gestructureerde staat en sessiegeheugen elders leven, zoals de PKM/RAG/wiki/geheugenvergelijking hierboven duidelijk maakt. In klassieke RAG combineert het model parametrisch geheugen met niet-parametrisch geheugen zoals een dichte vectorindex. Self-RAG verbetert naïeve ophaling door ophaling op aanvraag te maken in plaats van vast voor elke request. In praktische assistentsystemen is dit meestal de vectorstore of doorzoekbare transcriptlaag.
Gestruktureerd geheugen
Gestructureerd geheugen slaat duurzame feiten, voorkeuren of beperkingen op in explicite velden met prioriteitsregels. OpenAI’s personalisatiecookbook is hier ongewoon duidelijk over. Globaal en sessiegeheugen hebben verschillende rollen, de laatste gebruikersinstructie wint, sessiegeheugen kan globaal geheugen overschrijven voor de huidige taak, en geheugen dat conflicteert met de huidige gebruikersintentie moet verduidelijking triggeren in plaats van stil gehoorzaamheid. Dit is waarom gestructureerde staat vaak beter is dan ophaling voor stabiele voorkeuren, beleidsregels of staande beperkingen.
Ophalingsmechanica
Een typische ophalingsflow heeft vijf stappen: vastleggen, coderen, zoeken, reranken of filteren, dan injecteren. Pinecone, Weaviate, Qdrant, Redis en Milvus documenteren alle varianten van dit patroon. Sommige ondersteunen alleen dichte vectoren, anderen ondersteunen hybride ophaling die semantische en lexicaal zoektocht combineert, en sommige blootstellen metadatafilters of namespaces voor tenancy en scope-beheer. Het engineeringpunt is straightforward. Ophalingskwaliteit hangt net zo af van filtering, chunking en rankingstrategie als van het embeddmodel zelf.
Hybride ophaling is meestal de zinvolle standaard wanneer queries betekenis en exacte termen mengen. Weaviate documenteert hybride zoektocht met een alpha parameter die vector- en keywordcomponenten balanceert, Qdrant ondersteunt hybride en meerstapsqueries via zijn Query API en score-fusiemethoden, en Milvus beschrijft dichte, sparse en hybride ophaling in hetzelfde systeem. Dat doet er toe voor assistenten omdat gebruikers vaak vragen om zowel benaderende betekenis als exacte identificatoren, bestandsnamen, revisienummers of productcodes. Wanneer de lexicaal kant in Postgres of Elasticsearch leeft in plaats van in de vectordatabase, helpt PostgreSQL full text search vs Elasticsearch je te kiezen waar keywordsearch in productie moet draaien.
Nog een eigenzinnig punt: ophaling moet geen beleid bepalen. Het moet kandidaten leveren. De assistent heeft nog steeds gestructureerde regels nodig voor prioriteit, privacy, recentie en conflictresolutie. OpenAI’s state-based geheugenvoorbeeld maakt dit expliciet, en het is een veel gezonder patroon dan doen alsof similariteitsoektocht alleen tegenstrijdige gebruikersstaat kan oplossen.
Veelvoorkomende problemen
Het meest voorkomende falen is verouderd of tegenstrijdig geheugen. OpenAI’s langetermijngeheugencookbook noemt geheugenconsolidatie de meest gevoelige en foutgevoelige fase, met contextvergiftiging, geheugenverlies, dubbele herinneringen en conflicthantering als kernzorgpunten. Dat is correct, en het is waar veel assistenten stil falen. Ze onthouden te veel, te vroeg, en zonder een regel voor vergeten.
Het tweede falen is contextoverload. LangGraph waarschuwt dat lange conversaties de LLM-contextvenster kunnen overschrijden en beveelt trimming, verwijdering, samenvatting of checkpointbeheer aan. OpenClaw snoept oude tooloutputs uit het geheugencontext terwijl het de volledige on-disk transcript behoudt. Dit zijn geen optionele optimalisaties. Ze zijn vereist als je assistent iets niet-triviaals leest, zoekt of uitvoert.
Het derde falen is aannemen dat lange context gelijk is aan betrouwbare herinnering. LoCoMo toont dat langetermijn conversatiegeheugen nog steeds moeilijk is, en “Lost in the Middle” toont positiegevoeligheid binnen lange prompts. Als geheugen belangrijk is, vertrouw niet op brute-force prompt stuffing. Gebruik compactie, ophaling en expliciete staat.
Afwegingen
De vectordatabase-laag is waar veel assistententeams vroege platformkeuzes maken. De vergelijking hieronder focust op gedocumenteerde productkarakteristieken die belangrijk zijn voor assistentengeheugenontwerp.
| Systeem | Wat opvalt | Beste match |
|---|---|---|
| Pinecone | Gemanagede vectordatabase met geïntegreerde embedding, reranking, metadatafilters, namespaces en ondersteuning voor dichte, sparse en BM25-stijl full-text in één schema | Teams die gemanagede ophaling willen met minimale infra |
| Weaviate | Open-source vectordatabase die objecten en vectoren opslaat, met semantische en hybride zoektocht en sterke RAG-positionering | Teams die open-source flexibiliteit willen met hybride ophaling |
| Qdrant | AI-native vectorzoektocht met filtering, hybride en meerstapsqueries, plus een embedded offline-capable Edge mode | Teams die zoektochtcontrole, edge deployment of sterke filtering willen |
| pgvector | Vector similariteitsoektocht binnen Postgres, met exacte en benaderde zoektocht plus ACID, JOINs en recovery features | Teams die al gestandaardiseerd zijn op Postgres en relationele data |
| Milvus | Cloud-native vectordatabase met gescheiden opslag en compute, plus dichte, sparse en hybride ophaling | Groot-schaalse ophalingworkloads en gedistribueerde deployments |
Zodra je een backend kiest, is het opereren ervan een data-infrastructuur probleem — Postgres met pgvector voor sessiemetadata en vectoren op één stack, of Neo4j wanneer ophaalgeheugen grafiekvormig is in plaats van vlakke chunks.
Het latentie- en kostenpatroon hieronder is een ontwerpsynthese gebaseerd op de operationele modellen beschreven in OpenAI-sessies en compactierichtlijnen, LangGraph geheugenbeheer, OpenAI state-based geheugen, en het gedocumenteerde ophalingsgedrag van Redis en vectorstores. Het is intentioneel kwalitatief, omdat echte nummers afhangen van corpusgrootte, embeddmodel, netwerkplaatsing en caching.
| Geheugentactiek | Lezen latentie | Schrijven latentie | Token kostendruk | Infra kosten | Wanneer het de moeite waard is |
|---|---|---|---|---|---|
| Ruwe sessiegeschiedenis | Laagst | Laagst | Hoogst | Laagst | Simpele multi-turn chat en korte runs |
| Samenvatting of compactiegeheugen | Laag tot medium | Medium, omdat samenvatting zelf een modelstap is | Medium tot laag | Laag tot medium | Lange lopende runs waar de actieve run moet doorgaan |
| Gestructureerd profiel en staat | Laag | Medium | Laag | Laag | Duurzame voorkeuren, regels en staande beperkingen |
| Vector of hybride ophaling | Medium | Medium | Laag tot medium | Medium | Grote corpora, doorzoekbare geschiedenis, document gronding |
| Volledige replay van alles | Hoog en steeds onstabiel | Laag | Hoogst | Laag infra, hoog model spend | Bijna nooit, behalve voor kleine corpora en debugging |
Implementatievoorbeelden
OpenAI’s huidige stack geeft twee nuttige referentiepatronen. Het eerste is Sessies voor kortetermijn continuïteit over runs heen. Het tweede is state-based langetermijngeheugen, waar gestructureerde profielvelden en globale geheugennotities worden geïjecteerd bij sessiestart, sessienotities worden gedistilleerd tijdens de run, en een consolidatiestap alleen duurzame items promoot naar globaal geheugen. Die injecteer → redeneren → distilleren → consolideren loop is een van de duidelijkste publieke geheugenpatronen die momenteel beschikbaar zijn.
LangGraph biedt een vergelijkbare maar framework-agnostische splitsing. Checkpointers hanteren kortetermijn threadgeheugen en stores hanteren langetermijn zoektocht over conversaties heen. De store kan worden doorzocht binnen nodes bij runtime, wat het een goed ontwerppatroon maakt voor assistenten die expliciete orkestratie nodig hebben in plaats van verborgen framework magie.
Hermes is een nuttig publiek voorbeeld van gelaagd geheugen in het wild. Het ingebouwde geheugen gebruikt MEMORY.md, USER.md en SQLite FTS5 sessiezoektocht, terwijl externe provider plugins grafiekgeheugen, semantische ophaling, automatische feitextractie en gebruikersmodellering toevoegen. De volledige mechanica zijn gedocumenteerd in Hermes Agent Memory System, en de acht plugbare backends worden vergeleken in Agent memory providers vergeleken.
OpenClaw biedt een andere benadering, met sessiesnooping, optioneel actief geheugen dat voor de hoofdantwoord loopt, en een opt-in Dreaming systeem voor achtergrondgeheugenconsolidatie. Die voorbeelden zijn het waard om aandacht te geven aan omdat ze geheugen behandelen als een operationeel subsysteem, niet alleen als een ophalingstruc. Voor hoe OpenClaw in kaart brengt op de bredere vijf-lagen assistentstack, zie de OpenClaw systeemoverzicht.
Onderzoeksprototypes wijzen in dezelfde richting. MemGPT gebruikt hiërarchische geheugenlagen en controleflow voor contextbeheer, A-MEM gebruikt dynamische indexering en koppeling geïnspireerd door Zettelkasten, en Mem0 rapporteert betere nauwkeurigheid met veel lagere p95 latentie en tokencost dan full-context baselines op LoCoMo. Je hoeft deze systemen niet geheel te kopiëren, maar hun gedeelde les is duidelijk. Geheugenkwaliteit komt van selectie en organisatie, niet van alles voor altijd opslaan.
Wanneer geheugen helpt versus schaadt
Geheugen helpt wanneer de assistent herhaaldelijk stabiele voorkeuren, duurzame beperkingen, herbruikbare workflowlessen of grote externe corpora tegenkomt die niet in een prompt passen. OpenAI’s betrouwbare agents gids maakt de onderscheiding goed. Compactie helpt de huidige lange lopende run doorgaan, terwijl geheugen helpt toekomstige runs workflowlessen hergebruiken. Dat is het juiste mentale model voor de meeste bedrijfsassistenten.
Geheugen schaadt wanneer de taak one-shot is, de gebruikersstaat vaak verandert, de ophalingindex ruisig is, of het systeem conflicten niet kan verzoenen. OpenAI’s reisgeheugenvoorbeeld waarschuwt dat sessiegeheugen niet automatisch globaal geheugen moet worden, en het stelt expliciet dat geheugen geen beveiligingsgrens is. Als je assistent elke herinnerde string als waarheid behandelt, heb je een verwarringengine gebouwd, geen geheugensysteem.
Een selectief geheugensysteem
De eenvoudigste robuuste geheugenloop is selectief en gestaged. Laad duurzame staat, haal ondersteunende context op, antwoord, vat alleen kandidaatgeheugens vast, en consolideer later. Zowel OpenAI’s state-based patroon als recente geheugenpapers bewegen in deze richting.

Zonder tracing en evals zijn geheugenveranderingen moeilijk te debuggen. Wanneer je nieuwe feiten promoot of ophalingsbeleid verandert, paar die veranderingen met de observability patronen in Observability voor LLM Systemen zodat je kunt zien welke laag wat heeft geïjecteerd.
Samenvatting
De praktische geheugenstack voor assistenten is niet “gebruik gewoon een vector DB”. Het is werkgeheugen voor de live run, gestructureerde staat voor duurzame waarheid, ophaalgeheugen voor ondersteunende bewijslast, en een conservatief consolidatiebeleid dat zo bewust verget als het onthoudt. Recente onderzoeken en huidige SDK-richtlijnen wijzen beide in die richting.
Voor de volledige assistentstack rondom deze laag, begin met AI-assistentenarchitectuur. Voor Hermes-specifiek begrensde geheugen en providerplugins, volg Hermes Agent Memory System en Agent memory providers vergeleken.