Aktualisiert am 31. Oktober 2026. Testzahl auf den Stand von v0.6.1 gebracht; die Beschreibung der Schichten bleibt am Code von v0.5.1 geprüft.
Berichtigt am 11. Oktober 2026. Frühere Fassungen dieses Artikels nannten die Schichten 6 und 7 „Prospective“ und „Long-Term“, beschrieben Schlaf-Replay und Hebb'sches Lernen als etwas, das ZenBrain von selbst tut, und ließen Langzeit-Erinnerungen mit der Zeit verblassen. Gemessen am Code von v0.5.1 sind die Schichten 6 und 7 Core Memory und Cross-Context Memory, Replay und Hebb'sches Lernen sind Bibliotheksfunktionen, die der Koordinator nicht aufruft, und nur das Arbeitsgedächtnis verfällt. Die englische Fassung trug außerdem den Satz, keines von vier genannten Systemen implementiere Schlaf-Konsolidierung; er ist zurückgezogen, Letta Code tut es unter dem Namen „dreaming“. Diese Fassung folgt dem Code; Maßstab ist die README-Tabelle What runs on its own, and what you call yourself.
TL;DR
- ZenBrain ordnet Agenten-Gedächtnis in sieben Schichten, vom Arbeitsgedächtnis bis zum kontextübergreifenden Gedächtnis, statt in einem flachen Vektor-Store. Jede Schicht hält eine andere Art von Erinnerung und wird auf ihre eigene Weise gespeichert und durchsucht.
- Der MemoryCoordinator in
@zensation/coreleitet, was Sie speichern, an eine Schicht weiter, durchsucht beim Abruf vier Schichten, befördert emotional gewichtete Episoden zu Fakten und gibt jedem Fakt einen Wiederholungsplan nach FSRS-Art. - Schlaf-Replay, Hebb'sches Lernen und Bayes'sche Konfidenz sind Funktionen in
@zensation/algorithms. Der Koordinator ruft sie nicht auf; Sie binden sie dort ein, wo Sie sie brauchen. - Quelloffen unter Apache 2.0, in TypeScript geschrieben. Die Bibliothek macht keine eigenen Netzwerkaufrufe; das Gedächtnis liegt in SQLite oder PostgreSQL, das Sie selbst betreiben.
Welche Fragen ein flacher Speicher offenlässt
Viele Agenten-Gedächtnisse beginnen als flacher Vektor-Store: Text einbetten, Vektor speichern, nach Kosinus-Ähnlichkeit abrufen. Das genügt, um ähnliche Sätze zu finden. Es sagt nicht, welche Erinnerung die laufende Aufgabe ist und welche Hintergrund, ob ein Satz festhält, was geschehen ist, oder was gilt, und welche wenigen Fakten in jedes Gespräch gehören.
Die kognitive Psychologie trennt diese Arten von Gedächtnis. Baddeley (1974) beschrieb das Arbeitsgedächtnis als kleinen, aktiven Speicher; Tulving (1972) trennte das episodische Gedächtnis, was geschehen ist, vom semantischen, was man weiß; das prozedurale Gedächtnis ist Wissen, wie etwas geht, nicht Wissen, dass etwas so ist. ZenBrain nimmt diese Trennung als Entwurfsmodell. Der Rest dieses Artikels beschreibt, was der Code damit tut.
Die sieben Schichten
Schicht 1: Working Memory (Arbeitsgedächtnis)
Zweck: der Fokus der laufenden Aufgabe.
Das Arbeitsgedächtnis hat standardmäßig sieben Plätze, nach Baddeleys Modell und der Spanne „7 ± 2“. Kommt ein neuer Eintrag und sind alle Plätze belegt, fällt der am wenigsten relevante heraus. Die Relevanz nimmt mit dem Alter exponentiell ab, und Plätze unter einem Mindestwert verschwinden. Diese Schicht lebt im Arbeitsspeicher des Prozesses und braucht keinen Speicher-Adapter. Alles, was Sie über den Koordinator speichern, landet zusätzlich hier, damit es sofort greifbar ist.
Schicht 2: Short-Term / Session Memory (Sitzungsgedächtnis)
Zweck: der Kontext eines Gesprächs.
Das Kurzzeitgedächtnis hält die Wortwechsel der laufenden Sitzung in einem gleitenden Fenster, standardmäßig 50. Eine neue Sitzung leert es. Der Koordinator liefert es als Liste von Nachrichten.
Schicht 3: Episodic Memory (episodisches Gedächtnis)
Zweck: konkrete Erlebnisse: „Letzten Dienstag, als wir über die neue API gesprochen haben …“
Jede Episode wird mit Zeitpunkt, Kontext und emotionalem Gewicht gespeichert. Abrufbar ist sie nach Aktualität, nach Kontext und nach Ähnlichkeit zu einer Anfrage: per Vektorähnlichkeit, wenn ein Embedding-Anbieter auf PostgreSQL mit pgvector läuft, sonst lexikalisch.
Schicht 4: Long-Term Semantic Memory (semantisches Langzeitgedächtnis)
Zweck: Fakten: „PostgreSQL unterstützt pgvector für Embeddings.“
Fakten tragen einen Konfidenzwert, eine Quelle und einen Wiederholungsplan nach FSRS-Art. Hier landen Episoden, wenn die Konsolidierung sie zu allgemeinem Wissen verdichtet.
Schicht 5: Procedural Memory (prozedurales Gedächtnis)
Zweck: wie man etwas tut.
Eine Prozedur speichert ihren Auslöser, ihre Schritte, die benutzten Werkzeuge, das erwartete Ergebnis und eine Erfolgsquote. Jede Rückmeldung aktualisiert die Erfolgsquote als laufenden Mittelwert. Mit einem Embedding-Anbieter ordnet der Abruf Prozeduren nach Ähnlichkeit zur Anfrage; ohne ihn ordnet er sie lexikalisch und gewichtet jede mit ihrer Erfolgsquote.
Schicht 6: Core Memory (Kerngedächtnis)
Zweck: wenige angeheftete Fakten, die in jedes Gespräch gehören.
Das Kerngedächtnis folgt dem Muster von Letta (ehemals MemGPT): angeheftete, bearbeitbare Blöcke, die nie verfallen. Standardmäßig nimmt jeder Abruf alle Kernblöcke in seine Kandidaten auf, wie ein Profil, und sie konkurrieren mit den übrigen Treffern um limit; mit core: 'matching' kommen nur die Blöcke zurück, die ein Wort mit der Anfrage teilen. Inhalte mit einer Konfidenz über 0,9 leitet der Koordinator hierher.
Schicht 7: Cross-Context Memory (kontextübergreifendes Gedächtnis)
Zweck: Wissen über Bereiche wie Arbeit, Privates und Lernen hinweg verbinden.
Diese Schicht soll dieselbe Entität in verschiedenen Kontexten über Namensähnlichkeit finden und Zusammenführungen vorschlagen. In v0.5.1 ist sie ein Baustein, keine verdrahtete Schicht: Der Abruf nutzt sie nicht, und der Vergleich hält die Kontexte noch nicht auseinander.
Was von selbst läuft und was Sie selbst aufrufen
Innerhalb von store() und consolidate() tut der Koordinator vier Dinge von selbst. Er leitet weiter: Schritt-für-Schritt-Inhalte werden zur Prozedur, Inhalte mit einem emotionalen Gewicht über 0,5 zur Episode, Inhalte mit einer Konfidenz über 0,9 zum Kernblock, alles andere zum Fakt. Bei automatischer Weiterleitung bestimmt er das emotionale Gewicht eines Inhalts; Episoden behalten es. Er gibt jedem neuen Fakt einen Plan nach FSRS-Art. Und er lässt das Arbeitsgedächtnis verfallen.
Alles Weitere ist eine Bibliothek getesteter Funktionen in @zensation/algorithms: zwanzig Module, zehn grundlegende und zehn weiterführende. Mehrere Mechanismen, die dieser Artikel nennt, leben nur dort, und die folgenden Abschnitte sagen, welche.
Konsolidierung, im Koordinator und in der Bibliothek
In der Neurowissenschaft heißt Schlaf-Konsolidierung der Vorgang, bei dem der Hippocampus jüngste Erlebnisse in Ruhephasen erneut abspielt, wichtige Erinnerungen stärkt und schwache Verbindungen abbaut (Stickgold & Walker, 2013). Zwei Teile von ZenBrain tragen die Idee.
Im Koordinator sieht sich consolidate() die 100 jüngsten Episoden an. Jede mit einem emotionalen Gewicht über 0,5, die noch nicht befördert wurde, wird zum semantischen Fakt, verdichtet von einem Sprachmodell, wenn Sie eines einrichten, sonst wörtlich. Die Episode wird markiert, damit ein späterer Durchlauf sie in Ruhe lässt, und im selben Durchlauf verfällt das Arbeitsgedächtnis. Aus dem Langzeitgedächtnis wird nichts gelöscht.
In der Bibliothek simuliert das Modul zur Schlaf-Konsolidierung das Replay: selectForReplay() bevorzugt emotionale und kürzlich abgerufene Erinnerungen, simulateReplay() erhöht ihre Stabilität, und pruneWeakConnections() entfernt schwache Hebb'sche Kanten. Der Koordinator führt dieses Replay nicht aus. Sie rufen es auf Erinnerungen auf, die Sie selbst verwalten.
Konsolidierung im Leerlauf verfolgen inzwischen auch andere, etwa Letta Code unter dem Namen „dreaming“.
Verteilte Wiederholung nach FSRS-Art
FSRS, der Free Spaced Repetition Scheduler, kennt man aus Karteikarten-Software wie Anki. Er berechnet die nächste Wiederholung aus der Stabilität einer Erinnerung, ihrer Schwierigkeit und der verstrichenen Zeit und drückt die vorhergesagte Abrufwahrscheinlichkeit als Abrufbarkeit zwischen 0 und 1 aus.
In @zensation/core bekommt jeder Fakt beim Speichern einen Plan nach FSRS-Art: Er folgt der Form der Updates von FSRS, nicht dessen angepassten Parametern. getReviewQueue() listet die fälligen Fakten; meldet Ihre Anwendung eine Wiederholung mit recordReview(), setzt der Scheduler die nächste. Der Abruf ordnet Ergebnisse nicht nach Abrufbarkeit.
Hebb'sches Lernen
„Neurons that fire together wire together“ (Hebb, 1949). Die Bibliothek stärkt die Kante zwischen zwei Erinnerungen jedes Mal, wenn beide gemeinsam aktiviert werden, lässt ungenutzte Kanten schwächer werden und normalisiert die Gewichte, damit keine einzelne Verbindung davonläuft. @zensation/core führt keinen Wissensgraphen; Sie wenden diese Funktionen auf einen eigenen an.
Die Zahlen, Stand v0.6.1 (31. Oktober 2026)
- 948 Tests grün in der CI, auf Node 22, 24 und 26 und gegen PostgreSQL mit pgvector
- 20 Algorithmen-Module in
@zensation/algorithms, 10 grundlegende und 10 weiterführende, ohne Laufzeit-Abhängigkeiten - 7 Schichtklassen in
@zensation/core; der Abruf durchsucht episodisches, semantisches, prozedurales und Kerngedächtnis, das Arbeitsgedächtnis auf Wunsch - Keine eigenen Netzwerkaufrufe der Bibliothek; das Gedächtnis liegt in SQLite oder PostgreSQL, das Sie selbst betreiben
Ausprobieren
Die Pakete brauchen Node.js 22 oder neuer:
npm install @zensation/core @zensation/algorithms
GitHub: github.com/zensation-ai/zenbrain · Playground: Der Live-Playground führt die veröffentlichte Algorithmen-Bibliothek im Browser aus, ohne Installation.