Speichersysteme in KI-Assistenten

Arbeits-, Struktur- und Abrufgedächtnis für Assistenten.

Inhaltsverzeichnis

Speicher verwandelt Assistenten von reaktiv in persistent, ist aber auch der Ort, an dem viele Systeme stillschweigend veralten. Umfragen argumentieren, dass die Trennung zwischen kurzfristigem und langfristigem Speicher für moderne Agenten-Speicher nicht mehr ausreicht; OpenAI- und LangGraph-SDKs weisen auf einen einfacheren Stack hin – Arbeitsgedächtnis, dauerhafter Zustand und Abruf.

Assistenten benötigen ein Arbeitsgedächtnis für die aktuelle Ausführung, einen dauerhaften Zustand für stabile Fakten und Präferenzen sowie ein Abrufgedächtnis für relevante unterstützende Kontextinformationen. Meine leicht gefärbte Ansicht ist, dass strukturierter Zustand unterbelebt wird, vektorieller Abruf überbeansprucht wird und die meisten Speicherfehler aus der Policy zur Förderung und Injektion resultieren, nicht aus der Wahl des Speichers.

Ein weiterer wichtiger Punkt ist, dass Speicher nicht automatisch lange Kontexte löst. LoCoMo zeigt, dass sehr langfristiges konversationelles Erinnern weiterhin schwierig ist, und „Lost in the Middle“ zeigt, dass das bloße Hinzufügen mehr Token zum Modell die Leistung beeinträchtigen kann, wenn relevante Informationen in der Mitte des Prompts landen. Gute Speichersysteme sind selektiv, geschichtet und explizit bezüglich der Priorisierung.

Dieser Leitfaden befindet sich im AI Systems Memory Hub als übergreifende Framework-Karte für die Speicherschicht innerhalb der AI Assistant Architecture.

Abstraktes Speichersystem für einen KI-Assistenten als geschichtete Notizbücher, Vektorpunkte und strukturierte Karten

Wie man über Assistentenspeicher denkt

Assistentenspeicher ist nicht dasselbe Problem wie PKM (Personal Knowledge Management), Wikis oder eigenständige RAG-Pipelines — PKM vs RAG vs Wiki vs Memory Systems vergleicht diese Paradigmen auf der Ebene der Wissensarchitektur. Dieser Leitfaden bleibt eine Ebene tiefer, bei den Laufzeitverträgen, die Assistenten tatsächlich implementieren.

Der klarste Weg, über Speicher nachzudenken, ist nicht als „Chat-Verlauf“, sondern als eine Reihe von Speicherungsverträgen mit unterschiedlichen Aufgaben. Ein Speicher bewahrt den aktiven Thread. Ein anderer Speicher behält den dauerhaften Benutzerzustand. Ein weiterer unterstützt die semantische Suche über Dokumente oder vergangene Interaktionen. OpenAIs Speicherleitfaden für Personalisierung macht dies explizit, indem er globalen und Sitzungs-speicher trennt, während LangGraph die persistierende Thread-Ebene von langfristigen Speichern über mehrere Gespräche hinweg trennt.

Speicher ist wichtig, weil Produktionsassistenten Arbeit wiederholen, Ziele erneut besuchen und über Tage oder Wochen hinweg operieren. Generative Agents haben das Muster popularisiert, Erfahrungen zu speichern, darüber nachzudenken und sie dynamisch für zukünftige Planung abzurufen. MemGPT hat dies weiter vorangetrieben, indem es Speicher als Stufen modellierte und den Austausch zwischen schnellen und langsamen Speichern ermöglichte. Neuere Systeme wie A-MEM und Mem0 konzentrieren sich auf Verknüpfung, Konsolidierung und Bereitstellungseffizienz, nicht nur auf das Abrufvolumen.

Speicherarten

Produktionsassistenten benötigen typischerweise drei zusammenarbeitende Schichten. Die FAQ oben nennt sie; die untenstehenden Abschnitte erklären, wie jede in echten Systemen funktioniert.

Kurzfristiger Speicher

Kurzfristiger Speicher ist der Arbeitskontext des aktuellen Gesprächs oder der aktuellen Ausführung. OpenAI-Sitzungen fügen automatisch den Gesprächsverlauf vor jeder Ausführung hinzu und neue Elemente nach jeder Ausführung. LangGraph implementiert dieselbe Idee als thread-basierte Persistenz durch einen Checkpointer. Diese Schicht bewahrt die lokale Kohärenz, ist aber auch das erste, was explodiert, wenn Tool-Ergebnisse, Dateilesungen oder lange Chats aufhäufen.

Langfristiger Abrufspeicher

Langfristiger Abrufspeicher speichert Elemente, die bei Relevanz abgerufen werden, anstatt bei jeder Runde erneut abgespielt zu werden. Das überschneidet sich mit RAG als Abruftechnik, ist aber nicht die ganze Geschichte des Assistentenspeichers — Wikis und PKM-Korpora füttern oft den Index, während strukturierter Zustand und Sitzungs-speicher anderswo leben, wie der PKM/RAG/Wiki/Speicher-Vergleich oben klar macht. In klassischem RAG kombiniert das Modell parametrischen Speicher mit nicht-parametrischem Speicher wie einem dichten Vektorindex. Self-RAG verbessert die naive Retrievalmethode, indem es den Abruf bedarfsgerecht statt fest für jede Anfrage macht. In praktischen Assistentensystemen ist dies normalerweise der Vektorspeicher oder die durchsuchbare Transkript-Schicht.

Strukturierter Speicher

Strukturierter Speicher speichert dauerhafte Fakten, Präferenzen oder Einschränkungen in expliziten Feldern mit Priorisierungsregeln. OpenAIs Personalisierungskochbuch ist hier ungewöhnlich klar. Globaler und Sitzungs-speicher haben unterschiedliche Rollen, die neueste Benutzeranweisung gewinnt, Sitzungs-speicher kann globalen Speicher für die aktuelle Aufgabe überschreiben, und Speicher, der mit der aktuellen Benutzerabsicht kollidiert, sollte Klarstellung auslösen, statt stillschweigend zu gehorchen. Deshalb ist strukturierter Zustand oft besser als Abruf für stabile Präferenzen, Richtlinien oder dauerhafte Einschränkungen.

Abrufmechanik

Ein typischer Abrufablauf hat fünf Schritte: Erfassen, Codieren, Suchen, Neuklassifizieren oder Filtern, dann Injizieren. Pinecone, Weaviate, Qdrant, Redis und Milvus dokumentieren alle Varianten dieses Musters. Einige unterstützen nur dichte Vektoren, andere unterstützen hybride Suche, die semantische und lexikalische Suche kombiniert, und einige bieten Metadatenfilter oder Namespaces für Tenancy- und Scope-Steuerung. Der Ingenieurpunkt ist direkt. Die Abrufqualität hängt genauso stark von Filterung, Chunking und Ranking-Strategie ab wie vom Embedding-Modell selbst.

Hybride Suche ist normalerweise der vernünftige Standard, wenn Abfragen Bedeutung und exakte Begriffe mischen. Weaviate dokumentiert hybride Suche mit einem alpha-Parameter, der Vektor- und Schlüsselwortkomponenten ausbalanciert, Qdrant unterstützt hybride und mehrstufige Abfragen über seine Query API und Score-Fusion-Methoden, und Milvus beschreibt dichte, sparse und hybride Retrievalmethoden im selben System. Das ist für Assistenten wichtig, weil Benutzer oft nach angenähertem Sinn und exakten Identifikatoren, Dateinamen, Revisionsnummern oder Produktcodes fragen. Wenn die lexikalische Seite in Postgres oder Elasticsearch lebt, statt innerhalb der Vektordatenbank, hilft PostgreSQL Full Text Search vs Elasticsearch Ihnen zu wählen, wo Schlüsselwortsuche in der Produktion laufen sollte.

Ein weiterer gefärbter Punkt: Abruf sollte keine Policy entscheiden. Er sollte Kandidaten liefern. Der Assistent braucht immer noch strukturierte Regeln für Priorisierung, Privatsphäre, Aktualität und Konfliktlösung. OpenAIs zustandsbasierter Speicherbeispiel macht dies explizit, und es ist ein viel gesünderes Muster, als vorzutäuschen, Ähnlichkeitssuche allein kann widersprüchlichen Benutzerzustand auflösen.

Häufige Probleme

Das häufigste Versagen ist veralteter oder widersprüchlicher Speicher. OpenAIs Langzeitspeicher-Kochbuch nennt Speicherkonsolidierung die sensibelste und fehleranfälligste Stufe, und listet Kontextvergiftung, Speicherloss, duplizierte Erinnerungen und Konfliktbehandlung als Hauptbedenken auf. Das ist korrekt, und dort scheitern viele Assistenten stillschweigend. Sie erinnern sich zu viel, zu früh und ohne Regel zum Vergessen.

Das zweite Versagen ist Kontextüberladung. LangGraph warnt, dass lange Gespräche das LLM-Kontextfenster überschreiten können, und empfiehlt Kürzung, Löschung, Zusammenfassung oder Checkpoint-Management. OpenClaw beschneidet similarly alte Tool-Ausgaben aus dem Arbeitsspeicherkontext, während er das vollständige On-Disk-Transkript bewahrt. Dies sind keine optionalen Optimierungen. Sie sind erforderlich, wenn Ihr Assistent liest, sucht oder etwas Nicht-Triviales ausführt.

Das dritte Versagen ist die Annahme, dass langer Kontext gleich zuverlässigem Erinnern ist. LoCoMo zeigt, dass langfristiges konversationelles Erinnern immer noch schwierig ist, und „Lost in the Middle“ zeigt Positionsempfindlichkeit innerhalb langer Prompts. Wenn Speicher wichtig ist, verlassen Sie sich nicht auf rohe Prompt-Stuffing. Nutzen Sie Komprimierung, Abruf und expliziten Zustand.

Abwägungen

Die Vektordatenbank-Schicht ist, wo viele Assistententeams frühe Plattformwetten machen. Der untenstehende Vergleich konzentriert sich auf dokumentierte Produktmerkmale, die für die Assistentenspeicher-Designs wichtig sind.

System Was auffällt Beste Passform
Pinecone Verwaltete Vektordatenbank mit integriertem Embedding, Neuklassifizierung, Metadatenfiltern, Namespaces und Unterstützung für dichte, sparse und BM25-artige Volltextsuche in einem Schema Teams, die verwalteten Abruf mit minimaler Infrastruktur wollen
Weaviate Open-Source-Vektordatenbank, die Objekte und Vektoren speichert, mit semantischer und hybrider Suche und starker RAG-Positionierung Teams, die Open-Source-Flexibilität mit hybrider Retrievalmethode wollen
Qdrant KI-native Vektorsuche mit Filterung, hybriden und mehrstufigen Abfragen, plus einem eingebetteten offline-fähigen Edge-Modus Teams, die Suchkontrolle, Edge-Bereitstellung oder starke Filterung wollen
pgvector Vektorsimilaritätssuche innerhalb von Postgres, mit exakter und approximierender Suche plus ACID, JOINs und Wiederherstellungsfeatures Teams, die bereits auf Postgres und relationale Daten standardisiert haben
Milvus Cloud-native Vektordatenbank mit disaggregierter Speicherung und Berechnung, plus dichte, sparse und hybride Retrievalmethode Großskalige Abrufworkloads und verteilte Bereitstellungen

Sobald Sie ein Backend wählen, ist der Betrieb ein Data Infrastructure Problem — Postgres mit pgvector für Sitzungs-Metadaten und Vektoren auf einem Stack, oder Neo4j wenn Abrufspeicher graphenförmig statt flach ist.

Das Latenz- und Kostenmuster unten ist ein Design-Synthese basierend auf den Operationsmodellen beschrieben in OpenAI Sessions und Komprimierungsleitfaden, LangGraph-Speicher-Management, OpenAI zustandsbasierter Speicher und dem dokumentierten Abrufverhalten von Redis und Vektorspeichern. Es ist absichtlich qualitativ, weil reale Zahlen von Korpusgröße, Embedding-Modell, Netzwerkplatzierung und Caching abhängen.

Speichertaktik Lese-Latenz Schreib-Latenz Token-Kosten-Druck Infra-Kosten Wann es sich lohnt
Roher Sitzungsverlauf Niedrigste Niedrigste Höchste Niedrigste Einfacher Multi-Turn-Chat und kurze Runs
Zusammenfassung oder Komprimierungsspeicher Niedrig bis mittel Mittel, weil Zusammenfassung selbst ein Modell-Schritt ist Mittel bis niedrig Niedrig bis mittel Langlaufende Work, wo der aktive Run weiterlaufen muss
Strukturierter Profil- und Zustandsspeicher Niedrig Mittel Niedrig Niedrig Dauerhafte Präferenzen, Regeln und stehende Einschränkungen
Vektor- oder hybride Retrievalmethode Mittel Mittel Niedrig bis mittel Mittel Große Korpora, durchsuchbare Historie, Dokument-Grundierung
Vollständiges Wiedergeben von allem Hoch und zunehmend instabil Niedrig Höchste Niedrige Infra, hohe Modell-Ausgaben Fast nie, außer bei winzigen Korpora und Debugging

Implementierungsbeispiele

OpenAIs aktueller Stack gibt zwei nützliche Referenzmuster. Das erste ist Sessions für kurzfristige Kontinuität über Runs hinweg. Das zweite ist zustandsbasierter Langzeitspeicher, wo strukturierte Profilfelder und globale Speicher-Notizen bei Sitzungsstart injiziert werden, Sitzungs-Notizen während des Runs destilliert werden, und ein Konsolidierungsschritt nur dauerhafte Elemente in globalen Speicher fördert. Dieser injizieren → reason → destillieren → konsolidieren Loop ist eines der klarsten öffentlichen Speicher-Muster, die derzeit verfügbar sind.

LangGraph bietet eine ähnliche, aber framework-agnostische Trennung. Checkpointer handhaben kurzfristigen Thread-Speicher und Stores handhaben langfristige Suche über Gespräche hinweg. Der Store kann innerhalb von Knoten zur Laufzeit gesucht werden, was ihn zu einem guten Referenzdesign für Assistenten macht, die explizite Orchestrierung statt versteckter Framework-Magie benötigen.

Hermes ist ein nützliches öffentliches Beispiel für geschichteten Speicher in der Wildnis. Sein eingebauter Speicher verwendet MEMORY.md, USER.md und SQLite FTS5-Sitzungssuche, während externe Provider-Plugins Graph-Speicher, semantische Retrievalmethode, automatische Faktextraktion und Benutzermodellierung hinzufügen. Die vollständige Mechanik ist in Hermes Agent Memory System dokumentiert, und die acht einsteckbaren Backends werden in Agent memory providers compared verglichen.

OpenClaw bietet einen anderen Ansatz, mit Sitzungsbeschnitt, optionalem aktivem Speicher, der vor der Hauptantwort läuft, und einem opt-in Dreaming-System für Hintergrund-Speicherkonsolidierung. Diese Beispiele sind wertvoll, weil sie Speicher als operationales Subsystem behandeln, nicht nur als Retrieval-Trick. Für wie OpenClaw auf den breiteren fünf-Schichten-Assistenten-Stack abgebildet wird, siehe die OpenClaw system overview.

Forschungsprototypen zeigen in dieselbe Richtung. MemGPT verwendet hierarchische Speicherstufen und Kontrollfluss für Kontextmanagement, A-MEM verwendet dynamische Indexierung und Verknüpfung inspiriert von Zettelkasten, und Mem0 berichtet bessere Genauigkeit mit viel niedrigerer p95-Latenz und Token-Kosten als Vollkontext-Baselines auf LoCoMo. Sie müssen diese Systeme nicht vollständig kopieren, aber ihre gemeinsame Lektion ist klar. Speicherqualität kommt von Auswahl und Organisation, nicht vom ewigen Speichern von allem.

Wann Speicher hilft versus schadet

Speicher hilft, wenn der Assistent wiederholt stabile Präferenzen, dauerhafte Einschränkungen, wiederverwendbare Workflow-Lektionen oder große externe Korpora begegnet, die nicht in einen Prompt passen. OpenAIs zuverlässige Agenten-Leitfaden macht die Unterscheidung gut. Komprimierung hilft dem aktuellen Langlauf-Run weiter, während Speicher zukünftigen Runs hilft, Workflow-Lektionen wiederzuverwenden. Das ist das richtige mentale Modell für die meisten Geschäftsassistenten.

Speicher schadet, wenn die Aufgabe Einmalig ist, der Benutzerzustand oft wechselt, der Retrieval-Index verrauscht ist, oder das System Konflikte nicht auflösen kann. OpenAIs Reise-Speicher-Beispiel warnt, dass Sitzungs-speicher nicht automatisch globaler Speicher werden sollte, und es stellt explizit fest, dass Speicher keine Sicherheitsgrenze ist. Wenn Ihr Assistent jede erinnerte Zeichenkette als Wahrheit behandelt, haben Sie einen Verwirrungs-Motor gebaut, kein Speichersystem.

Ein selektiver Speicher-Loop

Der einfachste robuste Speicher-Loop ist selektiv und gestaffelt. Laden Sie dauerhaften Zustand, rufen Sie unterstützenden Kontext ab, antworten Sie, erfassen Sie nur Kandidaten-Speicher, dann konsolidieren Sie später. Sowohl OpenAIs zustandsbasiertes Muster als auch jüngste Speicher-Papiere bewegen sich in diese Richtung.

agent-memory-sequence-diagram

Ohne Tracing und Evals sind Speicher-Änderungen schwer zu debuggen. Wenn Sie neue Fakten fördern oder Retrieval-Policy ändern, paaren Sie diese Änderungen mit den Observability-Mustern in Observability for LLM Systems so dass Sie sehen können, welche Schicht was injiziert hat.

Take-Away

Der praktische Speicher-Stack für Assistenten ist nicht „nutze einfach eine Vektor-DB“. Es ist Arbeitsgedächtnis für den Live-Run, strukturierter Zustand für dauerhafte Wahrheit, Abruf-Speicher für unterstützende Beweise und eine konservative Konsolidierungs-Policy, die so bewusst vergisst, wie sie sich erinnert. Jüngste Forschung und aktuelle SDK-Leitfaden zeigen beide in diese Richtung.

Für den vollständigen Assistenten-Stack um diese Schicht, beginnen Sie mit AI Assistant Architecture. Für Hermes-spezifischen begrenzten Speicher und Provider-Plugins, folgen Sie Hermes Agent Memory System und Agent memory providers compared.

Abonnieren

Neue Beiträge zu Systemen, Infrastruktur und KI-Engineering.