Add DREAM.md with dreaming best practices
This commit is contained in:
136
DREAM.md
Normal file
136
DREAM.md
Normal file
@@ -0,0 +1,136 @@
|
||||
# DREAM.md - Dreaming Best Practices
|
||||
|
||||
> **Hinweis:** `DREAM.md` ist das Handbuch für das Dreaming-System (Background Memory Consolidation).
|
||||
> `DREAMS.md` ist das automatisch befüllte Dream Diary des Systems.
|
||||
|
||||
---
|
||||
|
||||
## Architektur
|
||||
|
||||
Dreaming läuft als Background-Prozess in `memory-core` und konsolidiert Kurzzeit-Erinnerungen in langlebiges Wissen (`MEMORY.md`).
|
||||
|
||||
### Drei Phasen
|
||||
|
||||
| Phase | Zweck | Schreibt nach MEMORY.md? |
|
||||
|---|---|---|
|
||||
| **Light** | Sortiert und stage-kt aktuelle Signale | ❌ Nein |
|
||||
| **Deep** | Bewertet und promoviert Kandidaten | ✅ Ja |
|
||||
| **REM** | Extrahiert Themen und wiederkehrende Muster | ❌ Nein |
|
||||
|
||||
Reihenfolge: Light → REM → Deep
|
||||
|
||||
---
|
||||
|
||||
## Best Practices
|
||||
|
||||
### 1. Qualität der Input-Daten
|
||||
|
||||
- **Tägliche Notizen** (`memory/YYYY-MM-DD.md`) sollten strukturiert und sachlich sein
|
||||
- **Fakten klar kennzeichnen** – keine Meinungen als Fakten speichern
|
||||
- **Wiederholungen vermeiden** – gleiche Info nicht in mehreren täglichen Dateien
|
||||
- **Quellen angeben** wenn relevant (z.B. "aus Google Contacts", "aus Notarvertrag")
|
||||
|
||||
### 2. MEMORY.md pflegen
|
||||
|
||||
- MEMORY.md ist das **kuratierte Langzeitgedächtnis** – nicht alles gehört dort rein
|
||||
- Nur **dauerhaft relevante** Fakten speichern (Immobilien, Kontakte, wichtige Entscheidungen)
|
||||
- **Veraltete Einträge** regelmäßig entfernen
|
||||
- **Keine Secrets** in MEMORY.md (Passwörter, API-Keys)
|
||||
|
||||
### 3. Dreaming aktivieren & konfigurieren
|
||||
|
||||
```json
|
||||
{
|
||||
"plugins": {
|
||||
"entries": {
|
||||
"memory-core": {
|
||||
"config": {
|
||||
"dreaming": {
|
||||
"enabled": true,
|
||||
"timezone": "Europe/Berlin",
|
||||
"frequency": "0 3 * * *"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
- **Standard-Zeit:** 03:00 Uhr (lokale Zeitzone)
|
||||
- **Empfohlen:** Nachts laufen lassen, wenn keine aktiven Sessions
|
||||
- **Cron-Format:** Standard crontab-Syntax
|
||||
|
||||
### 4. Manuelle Kontrolle
|
||||
|
||||
```bash
|
||||
# Status prüfen
|
||||
openclaw memory promote
|
||||
openclaw memory status --deep
|
||||
|
||||
# Promotion manuell anwenden
|
||||
openclaw memory promote --apply
|
||||
|
||||
# Preview ohne Schreiben
|
||||
openclaw memory promote --limit 5
|
||||
openclaw memory rem-harness
|
||||
|
||||
# Einzelnen Kandidaten prüfen
|
||||
openclaw memory promote-explain "suchbegriff"
|
||||
openclaw memory promote-explain "suchbegriff" --json
|
||||
```
|
||||
|
||||
### 5. Dream Diary (DREAMS.md)
|
||||
|
||||
- Wird **automatisch** vom System befüllt
|
||||
- **Nicht manuell editieren** – die managed Blöcke werden überschrieben
|
||||
- Dient als **menschlich lesbare Zusammenfassung** der Dreaming-Phasen
|
||||
- Kann im **Dreams UI Tab** eingesehen werden
|
||||
|
||||
### 6. Deep Ranking verstehen
|
||||
|
||||
Das System bewertet Kandidaten nach 6 Signalen:
|
||||
|
||||
| Signal | Gewicht | Beschreibung |
|
||||
|---|---|---|
|
||||
| **Relevance** | 30% | Wie gut passt der Eintrag zu Suchanfragen |
|
||||
| **Frequency** | 24% | Wie oft wurde der Eintrag signalisiert |
|
||||
| **Query Diversity** | 15% | Unterschiedliche Kontexte, die den Eintrag surfaceden |
|
||||
| **Recency** | 15% | Zeitlich abgewertete Frische |
|
||||
| **Consolidation** | 10% | Wiederholung über mehrere Tage |
|
||||
| **Conceptual Richness** | 6% | Dichte an Konzept-Tags |
|
||||
|
||||
### 7. Historische Daten
|
||||
|
||||
```bash
|
||||
# Grounded Backfill aus alten daily files
|
||||
memory rem-backfill --path memory/2026-04-11.md
|
||||
|
||||
# Preview vor dem Schreiben
|
||||
memory rem-harness --path memory/2026-04-11.md --grounded
|
||||
|
||||
# Rollback falls nötig
|
||||
memory rem-backfill --rollback
|
||||
```
|
||||
|
||||
### 8. Troubleshooting
|
||||
|
||||
- **Dreaming schreibt nicht?** → Prüfe `dreaming.enabled` in der Config
|
||||
- **Falsche Zeitzone?** → Setze `dreaming.timezone` auf `Europe/Berlin`
|
||||
- **Zu viele Einträge?** → Erhöhe Schwellenwerte (`minScore`, `minRecallCount`)
|
||||
- **Zu wenige Einträge?** → Prüfe Qualität der daily memory files
|
||||
- **DREAMS.md wird überschrieben?** → Nur innerhalb der managed Blöcke (`<!-- openclaw:dreaming:... -->`)
|
||||
|
||||
---
|
||||
|
||||
## Wichtige Regeln
|
||||
|
||||
1. **MEMORY.md ist das Single Source of Truth** für Langzeitgedächtnis
|
||||
2. **Daily Files sind Rohdaten** – Dreaming filtert und bewertet
|
||||
3. **DREAMS.md ist Output** – nicht manuell bearbeiten
|
||||
4. **Keine Secrets** in irgendeiner Dreaming-Datei
|
||||
5. **Regelmäßig prüfen** – Dreaming ist assistiert, nicht vollautomatisch
|
||||
|
||||
---
|
||||
|
||||
*Erstellt: 2026-04-14*
|
||||
Reference in New Issue
Block a user