memory-core. Es überführt starke Kurzzeitsignale in dauerhafte Erinnerungen und hält den Prozess dabei erklärbar und überprüfbar.
Dreaming ist optional aktivierbar und standardmäßig deaktiviert.
Was Dreaming schreibt
- Maschinenzustand in
memory/.dreams/(Abrufspeicher, Phasensignale, Aufnahmeprüfpunkte, Sperren). - Für Menschen lesbare Ausgabe in
DREAMS.md(oder einer vorhandenendreams.md) und optionale Phasenberichtsdateien untermemory/dreaming/<phase>/YYYY-MM-DD.md.
MEMORY.md.
Phasenmodell
Dreaming führt pro Durchlauf drei kooperative Phasen in dieser Reihenfolge aus: leicht -> REM -> tief. Dies sind interne Implementierungsphasen, keine separat von Benutzern konfigurierten Modi.Leichtphase
Leichtphase
- Liest den aktuellen Zustand des Kurzzeit-Abrufs, tägliche Gedächtnisdateien und, sofern verfügbar, redigierte Sitzungstranskripte.
- Dedupliziert Signale und bündelt Kandidatenzeilen.
- Schreibt einen verwalteten
## Light Sleep-Block, wenn der Speicher Inline-Ausgaben umfasst. - Zeichnet Verstärkungssignale für die spätere Rangfolge in der Tiefphase auf.
- Schreibt niemals nach
MEMORY.md.
REM-Phase
REM-Phase
- Erstellt Themen- und Reflexionszusammenfassungen aus aktuellen Kurzzeitspuren.
- Schreibt einen verwalteten
## REM Sleep-Block, wenn der Speicher Inline-Ausgaben umfasst. - Zeichnet REM-Verstärkungssignale auf, die von der Rangfolge in der Tiefphase verwendet werden.
- Schreibt niemals nach
MEMORY.md.
Tiefphase
Tiefphase
- Ordnet Kandidaten anhand gewichteter Bewertungen und Schwellenwertprüfungen ein (
minScore,minRecallCount,minUniqueQueriesmüssen alle bestanden werden). - Rehydriert Ausschnitte vor dem Schreiben aus aktuellen Tagesdateien, sodass veraltete oder gelöschte Ausschnitte übersprungen werden.
- Hängt übernommene Einträge an
MEMORY.mdan. - Schreibt eine
## Deep Sleep-Zusammenfassung nachDREAMS.mdund optional nachmemory/dreaming/deep/YYYY-MM-DD.md.
Aufnahme von Sitzungstranskripten
Dreaming kann redigierte Sitzungstranskripte in den Dreaming-Korpus aufnehmen. Sofern verfügbar, fließen Transkripte zusammen mit täglichen Gedächtnissignalen und Abrufspuren in die Leichtphase ein. Persönliche und vertrauliche Inhalte werden vor der Aufnahme redigiert.Traumtagebuch
Dreaming führt ein erzählerisches Traumtagebuch inDREAMS.md. Sobald jede Phase über genügend Material verfügt, führt memory-core nach bestem Bemühen einen Hintergrunddurchlauf eines Subagenten aus und hängt einen kurzen Tagebucheintrag an. Dabei wird das standardmäßige Laufzeitmodell verwendet, sofern dreaming.model nicht konfiguriert ist. Wenn das konfigurierte Modell nicht verfügbar ist, wird der Tagebuchdurchlauf einmal mit dem Standardmodell der Sitzung wiederholt. Fehler bei Vertrauensprüfung oder Zulassungsliste werden nicht erneut versucht und bleiben in den Protokollen sichtbar, statt stillschweigend auf einen generischen Tagebucheintrag zurückzufallen.
Das Tagebuch ist für die menschliche Lektüre in der Träume-Benutzeroberfläche vorgesehen und dient nicht als Quelle für Übernahmen. Tagebuch- und Berichtsartefakte sind von der Kurzzeitübernahme ausgeschlossen; nur fundierte Gedächtnisausschnitte können nach
MEMORY.md übernommen werden.Rückfüllbefehle
Rückfüllbefehle
memory rem-harness --path ... --groundedzeigt eine Vorschau fundierter Tagebuchausgaben aus historischenYYYY-MM-DD.md-Notizen.memory rem-backfill --path ...schreibt rückgängig machbare fundierte Tagebucheinträge nachDREAMS.md.memory rem-backfill --path ... --stage-short-termbündelt fundierte dauerhafte Kandidaten in demselben Kurzzeit-Beweisspeicher, den die normale Tiefphase verwendet.memory rem-backfill --rollbackund--rollback-short-termentfernen diese gebündelten Rückfüllartefakte, ohne gewöhnliche Tagebucheinträge oder den aktuellen Kurzzeit-Abruf zu verändern.
Signale für die Rangfolge in der Tiefphase
Die Rangfolge in der Tiefphase verwendet sechs gewichtete Basissignale sowie die Phasenverstärkung:
Treffer in der Leicht- und REM-Phase fügen eine kleine, mit der Zeit abnehmende Verstärkung aus
memory/.dreams/phase-signals.json hinzu.
Ergebnisse von Schattenversuchen können vor jedem dauerhaften Schreibvorgang als Prüfsignal auf die Basisbewertung aufgesetzt werden: Ein hilfreicher Versuch verleiht einem Kandidaten eine kleine begrenzte Verstärkung, ein neutraler Versuch hält ihn zurückgestellt und ein schädlicher Versuch kennzeichnet ihn für diesen Bewertungsdurchlauf als abgelehnt. Dieses Signal dient ausschließlich Berichten – es kann die Reihenfolge der Kandidaten oder Prüfmetadaten ändern, schreibt jedoch niemals nach MEMORY.md und übernimmt keinen Kandidaten selbstständig.
Berichtsabdeckung für QA-Schattenversuche
QA Lab enthält ein ausschließlich der Berichterstellung dienendes Szenario, mit dem untersucht werden kann, wie ein zukünftiger Dreaming-Schattenversuch eine Kandidatenerinnerung vor der Übernahme prüfen könnte: Ein Agent vergleicht eine Basisantwort mit einer Antwort, die die Kandidatenerinnerung verwenden kann, und schreibt anschließend einen lokalen Bericht mit Urteil, Begründung und Risikokennzeichnungen. Diese Abdeckung ist auf QA beschränkt – sie überprüft, dass das Berichtsartefakt vonMEMORY.md getrennt bleibt und der Agent niemals behauptet, der Kandidat sei übernommen worden. Sie fügt kein produktives Schattenversuchsverhalten hinzu und ändert die Übernahme-Engine der Tiefphase nicht.
Der Schattenversuchs-Runner memory-core behält denselben ausschließlich der Berichterstellung dienenden Vertrag für Codepfade bei, die ein stabiles Artefakt benötigen. Er akzeptiert den Kandidaten, die Versuchsaufforderung, das Basisergebnis, das Kandidatenergebnis, das Urteil, die Begründung, die Risikokennzeichnungen und die Belegreferenzen und schreibt anschließend mit promotion action: report-only einen Bericht. Hilfreiche Urteile werden einer promote-Empfehlung zugeordnet, neutrale Urteile defer und schädliche Urteile reject – keine dieser Aktionen schreibt nach MEMORY.md oder wendet eine Übernahme durch die Tiefphase an.
Zeitplanung
Wenn aktiviert, verwaltetmemory-core automatisch einen Cron-Job für einen vollständigen Dreaming-Durchlauf. Dieser wird über den primären Laufzeit-Workspace und alle konfigurierten Agenten-Workspaces hinweg dedupliziert, damit die Auffächerung der Subagenten-Workspaces DREAMS.md und den Gedächtniszustand des Hauptagenten nicht ausschließt.
Schnellstart
- Dreaming aktivieren
- Benutzerdefiniertes Durchlaufintervall
Slash-Befehl
/dreaming on und /dreaming off erfordern für Kanalaufrufer den Eigentümerstatus oder operator.admin für Gateway-Clients. /dreaming status und /dreaming help sind schreibgeschützt.
CLI-Arbeitsablauf
- Übernahmevorschau/-anwendung
- Übernahme erläutern
- Vorschau des REM-Testsystems
memory promote verwendet standardmäßig die Schwellenwerte der Tiefphase, sofern diese nicht mit CLI-Flags überschrieben werden.Wichtige Standardwerte
Alle Einstellungen befinden sich unterplugins.entries.memory-core.config.dreaming.
boolean
Standard:"false"
Aktiviert oder deaktiviert den Dreaming-Durchlauf.
string
Standard:"0 3 * * *"
Cron-Intervall für den vollständigen Dreaming-Durchlauf.
string
Optionale Modellüberschreibung für den Subagenten des Traumtagebuchs. Verwenden Sie einen kanonischen
provider/model-Wert, wenn Sie außerdem eine allowedModels-Zulassungsliste für Subagenten festlegen.number
Standard:"160"
Maximale geschätzte Tokenanzahl, die aus jedem nach
MEMORY.md übernommenen Kurzzeit-Abrufausschnitt beibehalten wird. Die Herkunft der Rangfolge bleibt sichtbar.Die meisten Phasenrichtlinien, Schwellenwerte und Speicherverhaltensweisen sind interne Implementierungsdetails. Die vollständige Liste der Schlüssel finden Sie in der Referenz zur Gedächtniskonfiguration.
Träume-Benutzeroberfläche
Wenn aktiviert, zeigt der Gateway-Tab Träume Folgendes an:- aktueller Aktivierungsstatus von Dreaming
- Status auf Phasenebene und Vorhandensein eines verwalteten Durchlaufs
- Anzahlen für Kurzzeit-, fundierte und heutige Signale sowie heutige Übernahmen
- Zeitpunkt des nächsten geplanten Durchlaufs
- einen eigenen fundierten Szenenpfad für gebündelte Einträge aus historischen Wiedergaben
- eine ausklappbare Traumtagebuchansicht auf Grundlage von
doctor.memory.dreamDiary