
Rag'n'Roll
Remember to Forget
Warum persistentes Gedächtnis für Agenten eine eigene Architekturschicht erfordert und sich nicht über die Größe des Kontextfensters lösen lässt
Der Newsletter für technische Entscheider, Business-Strategen und KI-Interessierte.
Heute auf der Setlist: Warum persistentes Gedächtnis für Agenten eine eigene Architekturschicht erfordert und sich nicht über die Größe des Kontextfensters lösen lässt.
🎚️ Soundcheck
Aktuelle Modelle akzeptieren Kontexte von mehreren hunderttausend bis Millionen Token. Daraus wird häufig abgeleitet, dass ein Agent seine gesamte Historie im Kontext mitführen kann und eine separate Gedächtniskomponente überflüssig ist. Zwei empirisch gut belegte Effekte sprechen dagegen. Erstens sinkt die Abrufgenauigkeit mit wachsender Kontextlänge deutlich, bevor das nominelle Token-Limit erreicht ist. Chroma hat diesen Effekt unter dem Begriff Context Rot über 18 Modelle hinweg gemessen, mit durchgängiger Degradation bei steigender Eingabelänge. Zweitens verteilen Transformer-Modelle ihre Attention ungleich über die Position im Kontext. Inhalte am Anfang und Ende werden zuverlässig abgerufen, Inhalte in der Mitte signifikant schlechter, dokumentiert als Lost-in-the-Middle-Effekt (Liu et al.). Für den Betrieb heißt das: Eine Constraint, die vor zwanzig Zügen im Kontext stand, kann unterhalb der wirksamen Attention-Schwelle liegen, obwohl sie formal im Fenster ist. Die Konsequenz ist eine Architekturentscheidung, nämlich Gedächtnis als eigene Schicht außerhalb des Kontextfensters zu führen und den Kontext pro Lauf gezielt zu befüllen.
🎤 Main Set: Aufbau einer Memory-Schicht
Die Speicherarten nach CoALA
Das CoALA-Framework (Cognitive Architectures for Language Agents, Sumers et al., Princeton) überträgt die Gedächtnisarchitektur der Kognitionswissenschaft auf LLM-Agenten und unterscheidet vier Speicher. Das Working Memory entspricht dem Kontextfenster, es ist flüchtig und wird pro Entscheidungszyklus befüllt. Persistent sind drei Speicherarten: Das episodische Gedächtnis hält Ereignisse und Abläufe vergangener Sitzungen, also ausgeführte Tool-Aufrufe, getroffene Entscheidungen und deren Ergebnisse. Das semantische Gedächtnis hält deklarative Fakten und Relationen, etwa Nutzerpräferenzen, Entitätseigenschaften und Domänenwissen, und ist weitgehend atemporal, es repräsentiert den aktuell gültigen Stand. Das prozedurale Gedächtnis hält Regeln und Vorgehensweisen, teils implizit in den Modellgewichten, teils explizit als hinterlegte Richtlinien. Die Trennung ist funktional begründet: Die drei persistenten Arten unterscheiden sich in Update-Frequenz, Invalidierungslogik und Retrieval-Zugriff und lassen sich deshalb nicht sinnvoll in einer einzigen Struktur zusammenfassen.
Die Verarbeitungspipeline
Produktionssysteme wie Mem0, Letta (Nachfolger von MemGPT) oder Zep implementieren die Schicht als Pipeline mit drei Stufen. In der Extraktion identifiziert ein Modell aus dem laufenden Dialog atomare Fakten und Ereignisse und legt sie mit Metadaten ab, typischerweise Nutzer-, Session- und Agent-Identifikatoren sowie Zeitstempel. In der Konsolidierung werden neue Einträge gegen den Bestand abgeglichen. Die Operationen entsprechen einem ADD, UPDATE oder DELETE: Ein neuer Fakt wird aufgenommen, ein bestehender bei Widerspruch anhand der Zeitstempel ersetzt, ein ungültig gewordener entfernt oder mit Verfallsdatum markiert. Beim Retrieval werden zu Beginn eines Laufs relevante Einträge über eine Kombination aus semantischer Ähnlichkeit, Keyword- und Entity-Matching selektiert und in das Working Memory eingesetzt. Der Kontext enthält damit pro Lauf nur den relevanten Ausschnitt des Gedächtnisses, was sowohl die Abrufpräzision als auch die Tokenkosten kontrolliert. Letta organisiert diese Stufen nach dem Vorbild virtueller Speicherverwaltung mit einem abgestuften Speichermodell aus Hauptkontext, Recall-Speicher und Archiv, zwischen denen das Modell selbst per Funktionsaufrufen Inhalte verschiebt.
🥁 Track 2: Invalidierung als ungelöstes Kernproblem
Der technisch anspruchsvollste Teil der Pipeline ist nicht die Speicherung, sondern die Invalidierung. Der Memora-Benchmark evaluiert Langzeitgedächtnis über Konversationsverläufe von Wochen bis Monaten und führt dafür die Metrik Forgetting-Aware Memory Accuracy (FAMA) ein, die den Rückgriff auf obsolet gewordene Erinnerungen explizit bestraft. Die Evaluation über vier Modelle und sechs Memory-Systeme zeigt zwei wiederkehrende Fehlerbilder: die Weiterverwendung invalidierter Einträge und das Scheitern an der Rekonziliation, wenn sich ein Faktum über die Zeit mehrfach ändert. Retrieval-zentrierte Benchmarks messen diese Fehlerklasse nicht, weil sie nur die Auffindbarkeit gespeicherter Information prüfen, nicht deren Gültigkeit.
Die verfügbaren Gegenmechanismen sind bekannt, aber betriebsintensiv: Konsolidierungsläufe im Hintergrund, die Fragmente zusammenführen und Widersprüche über Zeitstempel auflösen, Verfallsregeln bis hin zu Decay-Funktionen nach dem Vorbild von Vergessenskurven (MemoryBank), und explizite Löschpfade. Strukturell ist das dieselbe Problemklasse wie die Pflege der Wissensschicht aus #003 und die fehlende Zeitdimension im Wissensgraphen aus #006: Ein Speicher, der Zustände der Welt beschreibt, benötigt eine definierte Antwort auf die Frage, welcher Eintrag zu welchem Zeitpunkt gilt.
🎯 Encore: Der eine Gedanke für Entscheider
Die Größe des Kontextfensters ist kein Ersatz für eine Gedächtnisarchitektur, weil sie weder die positionsabhängige Attention-Degradation noch die Gültigkeitsfrage adressiert und die Tokenkosten pro Lauf linear mitwachsen. Wer Agenten über Sitzungsgrenzen konsistent betreiben will, benötigt eine explizite Memory-Schicht mit definierter Extraktion, Konsolidierung, Retrieval-Logik und Invalidierung, und muss deren Betrieb einplanen wie den jeder anderen zustandsbehafteten Komponente.
Die Prüffrage für Entscheider: Über welchen Mechanismus stellt unser System fest, welche gespeicherte Information noch gilt, und was geschieht nachweisbar mit Einträgen, die nicht mehr gelten?
💿 B-Side
Anti-Pattern: Rohe Gesprächsverläufe als Gedächtnis behandeln, entweder durch fortlaufendes Anhängen an den Kontext oder als unverarbeiteten Verlaufsspeicher mit Ähnlichkeitssuche. Ohne Extraktion konkurriert relevante Information mit Rauschen um Attention, ohne Konsolidierung akkumulieren widersprüchliche Stände, und ohne Invalidierung beantwortet das System Anfragen auf Basis von Einträgen, deren Gültigkeit abgelaufen ist.
Weiterleiten erwünscht🤘
Diese Ausgabe hat dir gefallen?
Dann hol dir die nächste direkt ins Postfach. Kostenlos, jede Woche.
