Memory systems voor agents short term vs long term
Kortetermijngeheugen
Kortetermijngeheugen in AI-agenten verwijst naar de informatie die de agent tijdelijk vasthoudt tijdens het uitvoeren van een taak. Dit is vergelijkbaar met het werkgeheugen van een mens. In de context van grote taalmodellen wordt kortetermijngeheugen meestal geïmplementeerd via het contextvenster: de tekst die het model als invoer krijgt. Dit contextvenster bevat de recente gespreksgeschiedenis, tussenresultaten en de huidige toestand van de taak. Het contextvenster is echter beperkt in grootte (bijvoorbeeld 8.000 tot 128.000 tokens), wat betekent dat oudere informatie verloren gaat als het gesprek te lang wordt. Om dit te beheren gebruiken agenten technieken zoals het samenvatten van eerdere interacties, het verwijderen van irrelevante informatie, en het selecteren van de meest relevante context. Sommige architecturen gebruiken een sliding window: alleen de laatste N berichten worden bewaard. Andere gebruiken een samenvattingsmodule die periodiek een samenvatting maakt van het gesprek. Kortetermijngeheugen is essentieel voor coherentie: zonder het zou de agent niet weten wat hij eerder heeft gezegd of gedaan. Het is een van de grootste uitdagingen bij het bouwen van agenten voor langdurige taken.
Langetermijngeheugen
Langetermijngeheugen in AI-agenten verwijst naar informatie die bewaard blijft over meerdere sessies of taken. Dit kan feitenkennis zijn, gebruikersvoorkeuren, eerdere ervaringen of geleerde vaardigheden. Langetermijngeheugen wordt meestal geïmplementeerd met een externe database of vector store. Informatie wordt opgeslagen als embeddings en kan later worden opgehaald op basis van gelijkenis. Dit wordt retrieval-augmented generation (RAG) genoemd. Er zijn verschillende soorten langetermijngeheugen. Semantisch geheugen slaat feiten op, zoals 'de gebruiker woont in Amsterdam'. Episodisch geheugen slaat gebeurtenissen op, zoals 'op 5 januari hebben we een reis naar Parijs gepland'. Procedureel geheugen slaat vaardigheden en routines op, zoals 'hoe je een vlucht boekt'. Een agent kan deze geheugens combineren om contextueel relevante informatie op te halen. Langetermijngeheugen maakt agenten persoonlijker en capabeler: ze kunnen leren van eerdere interacties en zich aanpassen aan de gebruiker. Uitdagingen zijn het beheren van de grootte van het geheugen, het voorkomen van verouderde informatie, en het waarborgen van privacy. Ook is het ophalen van de juiste informatie niet triviaal: een verkeerde herinnering kan leiden tot fouten. Memory systems zijn een actief onderzoeksgebied en essentieel voor de volgende generatie AI-agenten.
Implementaties en uitdagingen
Er bestaan verschillende implementaties van memory systems. Vector databases zoals Pinecone, Weaviate en Chroma slaan embeddings op en ondersteunen similarity search. Relationele databases kunnen worden gebruikt voor gestructureerde herinneringen. Graph databases zijn geschikt voor het modelleren van relaties tussen herinneringen. Sommige systemen gebruiken een hiërarchische aanpak: recente herinneringen in het kortetermijngeheugen, belangrijkere herinneringen in het langetermijngeheugen. Het ophalen van herinneringen kan worden gestuurd door de huidige context, door expliciete queries, of door een aandachtmechanisme. Uitdagingen zijn er volop. Het contextvenster van taalmodellen is beperkt, dus niet alle herinneringen kunnen tegelijk worden geladen. Het ophalen van irrelevante herinneringen kan de agent afleiden. Verouderde informatie kan tot fouten leiden. Privacy en beveiliging zijn belangrijk: geheugen mag geen gevoelige informatie lekken. Ook is het moeilijk om te evalueren of een memory system goed werkt. Memory systems worden gebruikt in persoonlijke assistenten, klantenservice-agenten, educatieve systemen en robotica. Ze zijn een van de bouwstenen van continual learning en persoonlijke AI.