# Forschung: Memory-Konsolidierung in LLM-Systemen
 
## Einführung
Bei langlebigen KI-Agenten wie BACH führt die kontinuierliche Aufzeichnung von Sessions und Memory-Einträgen zu einem massiven Anstieg der Datenmenge. Ohne Konsolidierung leidet die Performance der Context-Injektion (Context Window Overload) und die Relevanz der abgerufenen Informationen sinkt.
 
## Best Practices & Strategien
 
### 1. Hierarchische Zusammenfassung (Recursive Summarization)
Anstatt alle alten Session-Inhalte zu behalten, werden diese rekursiv zusammengefasst.
- **Level 1**: Einzelne Session-Zusammenfassung (bereits in BACH implementiert).
- **Level 2**: Wöchentliche oder thematische "Super-Summaries".
- **Level 3**: Langzeit-Profil-Updates (Einarbeitung von Erkenntnissen in den System-Prompt).
 
### 2. Selektives Vergessen (Pruning)
Nicht alle Informationen sind wertvoll. 
- **Verwerfen**: Sessions ohne Aufgabenabschluss (Zombie-Sessions) oder mit einer Dauer < 60 Sek.
- **Gewichtung**: Informationen mit hoher "Recency" (Aktualität) oder "Frequency" (Wichtigkeit) bleiben erhalten, andere werden archiviert.
 
### 3. Clustering & Topic-Modeling
Zusammenfassung von Sessions nach Projekten oder Themen statt rein chronologisch. 
- **Beispiel**: Alle Sessions zum Thema "Steuer-Anpassungen" werden zu einem konsolidierten Wissensblock verschmolzen.
 
### 4. RAG-Integration (Cold Storage)
Verschieben von alten Daten aus der aktiven DB in einen "Cold Storage" (Vektordatenbank oder Langzeit-Archiv).
- Aktive DB: Hält nur die letzten ~20-50 Sessions.
- Archiv DB: Wird nur bei Bedarf via semantischer Suche (RAG) abgefragt.
 
## Implementierungsvorschlag für BACH
 
1. **Cleanup-Job**: Automatisches Löschen von Sessions ohne `summary` und `tasks_completed`.
2. **Compression-Job**: Tägliches Zusammenfassen von "Kleinst-Sessions" eines Tages zu einem Tages-Recap.
3. **Fact-Extraction**: Automatisches Extrahieren von harten Fakten aus Sessions in die `memory_facts` Tabelle, danach Löschen der Rohdaten der Session.
 
## Quellen & Referenzen
- *MemGPT*: Prinzip der virtuellen Memory-Verwaltung.
- *LangChain Memory Modules*: Konzepte wie `ConversationSummaryBufferMemory`.
- *BACH Task #463*: Initiale Forschungsaufgabe.
