Memory Nudging — ereignisgesteuerte Kontextbereitstellung
Eigenständig entwickelter, laufender Ablauf mit eigenem Zustand, eigenen Tests und eigenem Laufzeitprotokoll.
1
Gespeichertes Wissen erzeugt keinen Nutzen, wenn es im falschen Moment nicht verfügbar ist. Wird alles dauerhaft in den Kontext geladen, sinkt die Antwortqualität und das Tokenbudget wird von Inhalten ohne Bezug zur aktuellen Aufgabe belegt. Die Frage lautet damit: Wann soll gespeichertes Wissen in den Kontext zurück, und wie viel davon?
2
Ein Python-Workflow liest das aktive Session-Transkript und entscheidet anhand von drei Trigger-Klassen, ob eine verdichtete Zusammenfassung in die Memory-Ebene zurueckgeschrieben wird. Die Entscheidung ist ereignisbasiert, nicht mengenbasiert: eine ausdrueckliche Speicheraufforderung loest sofort aus, eine dokumentierte Entscheidung oder eine Systemaenderung ebenfalls — und zwar auch dann, wenn die Nachrichtengrenze noch nicht erreicht ist. Der Mengen-Schwellenwert ist nur noch Fallback. Ein zweiter Workflow erkennt Session-Reset-Events und schreibt in diesem Fall einen verdichteten Kontextanker fuer den frischen Start. Beide Schreibvorgaenge laufen ueber eine zentrale Write-Steuerung, die Groessengrenzen, einen Security-Hook und Protokollierung buendelt.
3
Der Trigger-Nachweis liest die letzten Nutzer-Nachrichten aus dem JSONL-Transkript innerhalb eines Acht-Stunden-Fensters und bewertet sie gegen drei Mustergruppen: explizite Speicherwueruensche, Entscheidungssignale und Systemaenderungen. Bootstrap-Ereignisse wie Heartbeat-Meldungen und das initiale Laden der Systemdateien werden verworfen, damit jeder Sitzungsstart einen Nudge ausloest. Ein Offset-Checkpoint verhindert Doppelverarbeitung und macht den Ablauf restart-sicher. Die Erkenntnisse werden in fuenf Kategorien extrahiert und auf fuenf Eintraege gedeckelt; Entscheidungen werden nach vorne priorisiert. Die eigentliche Speicherung laeuft ueber eine zentrale Manager-Schnittstelle, die Groessengrenzen je Zieldatei prueft, vor jedem Schreibvorgang einen Security-Hook aufruft und jeden Vorgang mit Zeitstempel protokolliert.
4
Eine Testsuite deckt den Turn-Zaehler, den Schreibpfad, die Durchsetzung der Groessengrenze, die Nudge-Logik ueber vier Parameterkombinationen und die Struktur des Flash-Prompts ab. Das Laufzeitprotokoll belegt die Wirkung im Betrieb: Es protokolliert abgewiesene Groessenueberschreitungen und Ueberspringen von Appends, wenn in der Ziel-Datei kein Platz mehr war.
5
Die Groessengrenze greift real und verhindert weiteres Wachstum der Langzeit-Datei; jeder Schreibvorgang ist nachvollziehbar protokolliert; blockierte Vorgaenge werden mit Begruendung festgehalten. Der Mechanismus laeuft im Regelbetrieb und nicht nur im Test.
Technische Grenzen
- Die Erkenntnisextraktion ist musterbasiert, nicht semantisch. Sie erfasst Stichwoerter, nicht Bedeutung.
- Im Produktivbetrieb erfasst die Extraktion ueberwiegend den Transport-Metadatenblock der Nachricht statt des eigentlichen Inhalts — die Muster treffen zuerst auf die Feldnamen des Metadatenrahmens. Der Mechanismus ist damit nachweislich verrauscht und in dieser Form nicht zuverlaessig.
- Der Flash-Workflow liefert bis zu drei Kontextzeilen fuer den frischen Start. Das ist ein Anker, kein vollstaendiger Zustands-Checkpoint und kein Ersatz fuer den Gespraechsverlauf.
- Ein aelterer, mengenbasiertes Trigger-Modell existiert parallel im Quellcode. Zwei Trigger-Generationen nebeneinander sind eine Wartungslast und potenzielle Fehlerquelle.
Nachweise
- Workflow:
- scripts/memory_nudge_cron.py
- Reset-Erkennung:
- scripts/memory_flash.py
- Write-Steuerung:
- memory/memory_manager.py
- Tests:
- memory/test_simple.py, memory/test_memory_system.py
- Laufzeitprotokoll:
- memory/memory.log