Die Asymmetrie, die die Staffelung rentabel macht
Wenn du eine Sache an deinem Design des Agentenspeichers änderst, dann diese: Hör auf, Speicherkosten und Aufmerksamkeitskosten so zu behandeln, als wären sie dasselbe.
Ich bin dem in 19 Systemen tief auf den Grund gegangen, und die Erkenntnis, die immer wieder auftaucht, ist, dass diejenigen, die Speicher gut verwalten, nicht unbedingt die mit der ausgeklügeltsten Abfrage sind. Es sind diejenigen, die herausgefunden haben, welche Erinnerungen überhaupt in den Prompt gehören. Das ist ein anderes Problem, und es hat eine andere Lösung.
Speicher ist billig. Aufmerksamkeit ist teuer. Ein 128k-Kontextmodell, das 110k mittelmäßigen Kontext liest, ist empirisch gesehen kein besserer Agent als dasselbe Modell, das 8k sorgfältig ausgewählten Kontext liest. Die Forschung dazu ist konsistent: Die Abfragequalität nimmt ab, wenn der Kontext mit Rauschen gefüllt wird, und der Abbau ist nicht linear. Das Modell ignoriert das irrelevante Material nicht einfach. Es verarbeitet es, und die Verarbeitung verdrängt das Signal.
Speicher hat diese Eigenschaft nicht. Eine Tatsache, die in einer Datenbank liegt, kostet nichts, sie zu behalten. Die Kosten entstehen erst, wenn du sie abrufst und in den Prompt lädst. Das bedeutet, die Frage ist nicht »Soll ich das speichern?«, sondern »Soll ich das abrufen, und wenn ja, wann?«
Diese Neuformulierung ist der Ursprung der Staffelung. Verschiedene Speicherelemente haben unterschiedliche Zugriffsmuster. Einige Dinge braucht ein Agent jede Runde: den Namen des Benutzers, sein aktuelles Projekt, seine angegebenen Präferenzen. Einige Dinge braucht er oft, aber nicht immer: aktuelle Entscheidungen, offene Fragen, episodische Fakten aus den letzten Sitzungen. Einige Dinge sollte er finden können, wenn nötig, aber niemals jede Runde belasten: Besprechungsnotizen von vor drei Monaten, abgeschlossene Aufgaben, rohe Transkripte, einmaliges Referenzmaterial.
Ein flacher Speicher behandelt alle drei Kategorien gleich. Heiße Elemente zahlen die Suchkosten der kalten Elemente. Kalte Elemente blähen den Prompt mit Rauschen auf. Es gibt keinen Mechanismus für Elemente, um aufzusteigen, wenn sie relevanter werden, und keinen Mechanismus für Elemente, um auszuscheiden, wenn sie weniger relevant werden. Die Analogie zum Betriebssystem ist exakt: CPUs haben L1, L2, L3, RAM, SSD und Festplatte, nicht weil Bytes unterschiedlich sind, sondern weil die Zugriffshäufigkeit um Größenordnungen variiert. Sieben der 19 Systeme, die ich durchgegangen bin, hatten bereits vor meiner Untersuchung explizite Staffelung eingebaut. Zwei davon sind es wert, im Detail verstanden zu werden.
MemoryOS als Referenzimplementierung
MemoryOS ist die klarste Implementierung von gestaffeltem Speicher in den 19 Systemen. Drei Ebenen, jede mit einer eigenen Datenform, einem eigenen Latenz-Budget und einer eigenen Rolle.
Die Kurzzeit-Ebene ist ein Python-Deque mit einer maximalen Länge von 10 QA-Paaren. Keine Embeddings, kein Suchindex, keine Hitze-Verfolgung. Es ist reines Gesprächsrohmaterial, die letzten zehn Austausche, verfügbar mit Mikrosekunden-Latenz. Wenn das Deque voll ist, fließt das älteste Paar in die mittlere Ebene ab.
Die mittlere Ebene enthält bis zu 2000 Sitzungen. Jede Sitzung trägt eine Zusammenfassung, ein Embedding, einen Satz von Schlüsselwörtern und Hitze-Zähler. Die Ebene wird mit Faiss indiziert und über Kosinus-Ähnlichkeit durchsucht. Wenn die Ebene ihre Kapazität erreicht, werden die kältesten Sitzungen verworfen. Wenn eine Sitzung heiß genug wird, wird sie in die langfristige Ebene hochgestuft.
Die langfristige Ebene ist ein 90-dimensionales Psychologie- und Ausrichtungsschema, zwei Wissensbasis-Deques, eines für Benutzerfakten und eines für Assistentenfakten, jedes auf 100 Einträge begrenzt. Dies ist die persistente Schicht, die über Sitzungen hinweg überlebt und das dauerhafte Modell des Benutzers trägt.
Die Hitzeformel, die die Höherstufung regelt, sind zwölf Zeilen Python. Drei Signale: Besuchshäufigkeit, ein LFU-Analogon; Interaktionstiefe, ein Proxy für thematisches Engagement; und Aktualitätsverfall, exponentiell mit einer Halbwertszeit von 24 Stunden. Ein Segment überschreitet die Höherstufungsschwelle bei 5,0. Nach der Höherstufung werden die Besuchs- und Interaktionszähler auf Null zurückgesetzt, und die Hitze fällt auf etwa 1,0 zurück.
Die Designentscheidung, die leicht übersehen wird: Hitze steuert die Höherstufung, nicht die Abfrage. Der Abrufer ist rein semantisch, Kosinus-Ähnlichkeit über die Embeddings der mittleren Ebene. Hitze ist ein Hintergrundsignal, das entscheidet, ob ein Segment in die langfristige Ebene aufsteigen sollte. Die beiden Belange sind entkoppelt, und diese Entkopplung ist wichtiger als die Formel selbst.
Was MemoryOS auf dem Tisch liegen lässt, ist erwähnenswert. Die Koeffizienten sind fest auf 1,0 codiert, es gibt keinen Mechanismus, um Gewichte aus tatsächlichen Nutzungsmustern zu lernen. Es gibt keine Herabstufungspfade; sobald etwas die langfristige Ebene erreicht, bleibt es. Und die Formel optimiert auf Häufigkeit statt auf Wichtigkeit. Eine kritische, aber seltene Tatsache – der Name eines Partners, eine medizinische Bedingung, eine harte Einschränkung – könnte die Höherstufungsschwelle nie überschreiten, wenn sie nur einmal auftaucht. Sobald die mittlere Ebene das Segment verwirft, ist die Tatsache weg.
Die theoriebasierten Ebenen von Hindsight
Hindsight gelangt von einem völlig anderen Ausgangspunkt zur gleichen Drei-Ebenen-Struktur. Während MemoryOS auf Betriebssystem-Cache-Theorie zurückgreift, stützt sich Hindsight auf die Kognitionswissenschaft.
Die drei Ebenen sind Welt, Erfahrung und Beobachtungen. Welt enthält objektive Behauptungen über das Universum, Grundwahrheiten, immer an, langlebig. Erfahrung enthält Handlungen aus der Ich-Perspektive des Systems selbst, die episodische Aufzeichnung. Beobachtungen enthalten konsolidierte Überzeugungen, die aus Welt- und Erfahrungsfakten abgeleitet wurden, mit Quellspeicher-IDs, einer Zählung der Beweise und einem Verlaufsfeld, das verfolgt, wie sich die Überzeugung entwickelt hat.
Alle drei Ebenen leben in derselben Datenbanktabelle, unterschieden durch einen Fakten-Typ-Diskriminator. Pro Fakten-Typ werden partielle HNSW-Indizes erstellt. Das Schema ist einheitlich; die Zugriffsmuster sind es nicht.
Die Höherstufung in Hindsight erfolgt nicht zählergesteuert. Es handelt sich um eine gebündelte, LLM-gesteuerte Konsolidierung. Wenn eine neue Tatsache geschrieben wird, wird sie in eine asynchrone Operationstabelle eingereiht. Ein Hintergrundarbeiter holt die neuen Fakten zusammen mit vorhandenen überlappenden Beobachtungen ab, erstellt einen Batch-Prompt und bittet das Modell um Erstellungen, Aktualisierungen und Löschungen. Quellspeicher werden mit einem Konsolidierungszeitstempel versehen, um eine erneute Verarbeitung zu verhindern. Jede neue Tatsache, unabhängig davon, wie oft darauf zugegriffen wurde, wird für eine Höherstufung in die Beobachtungsebene in Betracht gezogen.
Das ist der Hauptunterschied zu MemoryOS. Indem Hindsight die Höherstufung in höhere Ebenen an die Konsolidierung und nicht an die Hitze koppelt, vermeidet Hindsight den blinden Fleck für kritische, aber seltene Fakten. Ein einziger Konsolidierungsdurchlauf berücksichtigt jede neue Tatsache. Die Häufigkeit ist irrelevant dafür, ob etwas aufsteigt.
Einfach gesagt: Zwei Systeme, unterschiedliche Grundprinzipien, unterschiedliche Implementierungssprachen, unterschiedliche Zielanwendungen, und beide landen bei drei Ebenen mit Rohmaterial unten, einer Arbeitsschicht in der Mitte und einer synthetisierten persistenten Schicht oben. Beide verwenden asynchrone Höherstufung. Beide führen die Herkunft auf niedrigere Ebenen zurück. So sieht konvergente Evolution in der Softwarearchitektur aus, und es ist das stärkste Signal, das ich kenne, dass ein Muster tragfähig ist.
Die genreabhängige Staffelung von @supermemory
supermemory arbeitet in der Form des verwalteten API-Deployments, was die Implementierung ändert, ohne die Architektur zu verändern. Die drei Ebenen sind statisches Profil, dynamisches Profil und Dokumenten- und Chunk-Speicher.
Das statische Profil enthält stabile langfristige Fakten, die heiße Ebene. Es wird als statisches Array vom Profil-Endpunkt zurückgegeben, am Edge zwischengespeichert, mit einem Latenz-Budget von etwa 50 ms. Das dynamische Profil enthält aktuellen und episodischen Kontext, die warme Ebene. Viele Einträge tragen ein forgetAfter-Feld, das eine TTL setzt. Der Dokumenten- und Chunk-Speicher ist die kalte Ebene, die bei Bedarf über Such-Endpunkte abgefragt wird.
Die Ebenenzuweisung erfolgt zum Zeitpunkt des Schreibens. Ein Extraktions-LLM klassifiziert jeden eingehenden Speicher mit einem isStatic-Boolean und optional einem forgetAfter-Wert. Die Klassifizierung wird durch einen geschlossenen Extraktions-Prompt erzwungen, der für alle Verbraucher einheitlich ist.
Die Form des verwalteten API-Deployments ermöglicht drei Dinge, die ein In-Prozess-Designer nicht direkt kopieren kann, aber verstehen sollte. Daten der kalten Ebene können auf günstigerer Hardware liegen, Objektspeicher für Rohbytes, ein standardmäßiger relationaler Speicher für Metadaten und Chunks, während das heiße Profil separat am Edge zwischengespeichert wird. Die heiße Ebene bekommt ihren eigenen Endpunkt mit eigener SLA, getrennt vom Suchpfad. Und der Extraktions-Prompt ist zentralisiert, was bedeutet, dass die Ebenenzuweisung konsistent ist, wie es eine Pro-Agent-Klassifizierung selten ist.
Die Kompromisse sind real. Eine entfernte heiße Ebene ist nur schnell, wenn das Netzwerk schnell ist. Der Agent kann die Ebenenklassifizierung der Engine nicht überschreiben. Der Extraktions-Prompt ist eine Blackbox. Aber das Architekturmuster – heiße Ebene als eigener Endpunkt, kalte Ebene auf günstigerer Hardware, Ebenenzuweisung zum Zeitpunkt des Schreibens – ist es wert, kopiert zu werden, selbst wenn die Deployment-Form nicht die gleiche ist.
Höherstufung vs. feste Typologie
mem9 ist der Kontrastfall, der verdeutlicht, was Staffelung nicht ist.
mem9 hat eine Spalte für den Speichertyp mit drei Werten: pinned, insight und digest. Pinned-Erinnerungen werden durch explizite Content-Write-Pfade zugewiesen, manuell erstellt und vor LLM-Abgleich geschützt. Insights werden bei jedem LLM-extrahierte Schreibvorgang zugewiesen, sind veränderbar, versionierbar und ersetzbar. Beide nehmen an demselben hybriden Abruf mit derselben RRF-Bewertung teil. Das Typfeld ist ein Schreibschutz-Flag, kein Abruffilter und kein Ebenensignal.
Das ist Typologie, keine Staffelung. Die Unterscheidung ist wichtig, weil die beiden leicht verwechselt werden können. Typologie beschreibt Governance: Wer kann diesen Speicher unter welchen Bedingungen ändern? Staffelung beschreibt Zugriffsmuster: Wie häufig wird dieser Speicher benötigt, und welche Speicherrepräsentation dient dieser Häufigkeit am besten? Ein System kann beides haben. supermemorys isStatic ist ein Ebenensignal, während ein separates isInference-Flag eher einer Governance-Klasse entspricht. Aber die Vermischung führt in der Praxis zu der größten Unklarheit.
Wenn du dabei ertappst, ein Typfeld zu deinen Speicherzeilen hinzuzufügen, solltest du dich fragen, ob das Feld ein Zugriffsmuster oder eine Governance-Klasse beschreibt. Wenn es ein Zugriffsmuster ist, baust du Staffelung. Wenn es eine Governance-Klasse ist, baust du Typologie. Beide sind nützlich. Sie sind nicht dasselbe.
Was der flache Speicher kostet
Vier konkrete Dinge ergeben sich aus dem Betrieb eines flachen Speichers.
Der heiße Pfad zahlt die Suchkosten des kalten Pfads. Jede Abfrage durchsucht denselben Index über dieselben Elemente. Der Agent, der den Namen des Benutzers nachschlägt, zahlt die gleichen Suchkosten wie der Agent, der eine Besprechungsnotiz von vor sechs Monaten sucht. In kleinem Maßstab ist das unsichtbar. Im großen Maßstab ist es ein Latenzproblem.
Der kalte Pfad bläht den Prompt mit Rauschen auf. Der Abruf liefert semantisch nahe Elemente, darunter bestehenden Kontext, überholte Fakten und Material, das sachlich korrekt, aber für die aktuelle Runde irrelevant ist. Das Modell verarbeitet alles. Das Signal-Rausch-Verhältnis im Kontextfenster verschlechtert sich, wenn der Speicher wächst.
Es gibt keinen Mechanismus für das Aufsteigen von Elementen. Speicher ist nicht statisch. Eine flüchtige episodische Tatsache aus der Anfangszeit einer Beziehung kann im Laufe der Zeit zu einem dauerhaften Signal über die Vorlieben oder Einschränkungen des Benutzers werden. Ein flacher Speicher bietet keine Mittel, um diesen Übergang zu bemerken. Das Element bleibt in derselben Repräsentation, in der es geschrieben wurde, unabhängig davon, wie sich seine Relevanz geändert hat.
Es gibt keinen Mechanismus für das Ausscheiden von Elementen. Herabstufung ist keine Löschung. Ein flacher Speicher, der veraltetes Material entfernen möchte, muss es löschen. Ein gestaffelter Speicher kann es in eine kältere Repräsentation verschieben, immer noch auffindbar, ohne den heißen Pfad zu belasten. Der flache Speicher erzwingt eine binäre Wahl, die der gestaffelte Speicher nicht erzwingt.
Das Ergebnis
18 der 19 Systeme implementieren Staffelung, deuten darauf hin oder haben explizite Empfehlungen dafür. Die Ausnahme ist mem9, das eine Typologieschicht zur Lösung eines anderen Problems hat und von einer darauf aufbauenden Staffelung profitieren würde.
Wenn du einen Agentenspeicher von Grund auf neu baust, ist die von den 19 Systemen aufgezeigte Vorgehensweise diese. Identifiziere, was der Agent jede Runde braucht – das ist deine heiße Ebene. Identifiziere, was er oft, aber nicht immer braucht – das ist deine warme Ebene. Identifiziere, was er bei Bedarf finden, aber nie jede Runde belasten sollte – das ist deine kalte Ebene. Wähle einen Höherstufungsmechanismus: hitzebasiert wie MemoryOS, LLM-bewertet wie Hindsight oder Extraktionszeit-Klassifizierung wie supermemory. Wähle einen Herabstufungsmechanismus: Zeitverfall, TTL oder Frischekategorien. Halte Höherstufung und Abfragebewertung zunächst getrennt – die Entkopplung ist einfacher hinzuzufügen als zu entwirren. Verfolge die Herkunft von oberen zu unteren Ebenen zurück, damit du immer beantworten kannst, woher eine synthetisierte Überzeugung stammt.
Die 19 Systeme sind sich in vielem nicht einig. Hier sind sie es: Ein einzelner flacher Speicher ist die falsche Standardeinstellung für jedes nicht-triviale Agentenspeichersystem.
Speicher ist billig. Aufmerksamkeit ist teuer. Baue das System, das den Unterschied ausnutzt.
Wenn dir dieser Artikel gefallen hat, teile ihn bitte.





