6b03a2c3cf
- classify_facts ordnet neue Fakten zusaetzlich einem Bereich zu (alltag=Person, projekt=Technik); Metadatum bereich, in /memory-Items sichtbar. - GET /memory?bereich=... filtert; Alt-Fakten ohne Feld laufen IMMER mit. - docs/wissen/GEDAECHTNIS-BEREICHE.md: Entscheid (kein zweites mem0), Stand, 4-Wochen-Selbstpruefung und kompletter Bauauftrag fuer den Recall-Filter - damit die Werkstatt das ohne externe Hilfe fertigbauen kann. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
46 lines
2.8 KiB
Markdown
46 lines
2.8 KiB
Markdown
# Gedächtnis-Bereiche: alltag vs. projekt (Stand 19.07.2026)
|
|
|
|
## Warum
|
|
Lucys mem0 sammelte Coding-/Ops-Schutt (execute_code-Bugs, Session-Zahlen,
|
|
Hardware-Debugging) — Rauschen im Alltags-Recall. Entscheid (Commander, 19.07.):
|
|
**KEIN zweites mem0** (das Coding-Gedächtnis ist das Repo: AGENTS.md, Code, Git,
|
|
Karten). Stattdessen bekommt jeder Fakt ein Bereichs-Feld — die Trennung liegt in
|
|
den Daten, nicht in einer zweiten Datenbank.
|
|
|
|
## Was seit 19.07. existiert (gebaut, live)
|
|
- `mem0_service/app.py` → `classify_facts()` ordnet jeden neu gelernten Fakt
|
|
zusätzlich einem **Bereich** zu: `alltag` (Nutzer als Person: Vorlieben, Leben,
|
|
Arbeitsweise, Grundsatz-Entscheidungen) oder `projekt` (Technik: Code, Modelle,
|
|
Server, Infrastruktur, Fehler-/Projektstände). Gespeichert als Metadatum
|
|
`bereich`, ausgegeben in jedem `/memory`-Item.
|
|
- `GET /memory?bereich=alltag|projekt` filtert. **Alt-Fakten ohne Feld laufen bei
|
|
jedem Filter MIT** (nichts verschwindet durch die Umstellung).
|
|
- Quellen-Hygiene: Die IDE-Welt (Zed+OpenCode) schreibt seit 19.07. GAR NICHT mehr
|
|
ins mem0; Junk-Guard + Lern-Bündelung + monatliche Konsolidierung (3., 06:40)
|
|
laufen. Der Neuzugang an Schutt sollte dadurch bereits stark sinken.
|
|
|
|
## Selbstprüfung nach 4 Wochen (Cron „gedaechtnis-check", einmalig Mitte August)
|
|
Auftrag an Lucy: Die 50 neuesten Fakten ansehen (`GET /api/memory` sortiert
|
|
neueste zuerst). Frage: Wie viele davon sind Tool-/Fehler-/Momentaufnahmen-Schutt
|
|
(Muster: Tool-Namen, Fehlermeldungen, Session-/Commit-Zahlen, „blockiert/behoben"-
|
|
Zustände)? **> 10 von 50 → Werkstatt-Karte anlegen** mit Verweis auf dieses
|
|
Dokument und den Bauauftrag unten. Sonst: kurze Entwarnung an den Commander.
|
|
|
|
## Bauauftrag FALLS nötig: Recall-Filter (klein, KEINE neue Schicht)
|
|
Ziel: In Alltags-Gesprächen streut kein Projekt-Schutt in den Recall.
|
|
Umsetzung in `hermes/plugins/mc2-memory/__init__.py`, Funktion `prefetch()`:
|
|
1. Neuer Env-Schalter `MC2_MEMORY_RECALL_BEREICH` (leer = aus, Default).
|
|
2. Wenn gesetzt: an den Request `params={"q": q, "bereich": <wert>}` anhängen —
|
|
der Sidecar filtert serverseitig (Fakten ohne Feld laufen mit, siehe oben).
|
|
3. Setzen NUR für Lucys Voice-/Chat-Gateway (Umgebung der hermes-gateway-Unit),
|
|
NICHT für Worker-Profile — Worker sollen Projekt-Fakten ja sehen.
|
|
4. Verify: zwei Test-Learns (ein Alltags-, ein Projekt-Fakt), dann `/memory?q=…`
|
|
mit und ohne Filter vergleichen; Latenz unverändert (< 1 s Overhead).
|
|
Aufwand: < 1 Stunde. Regeln: deploy braucht Commander-Ja; Plugin-Änderung =
|
|
Gateway-Neustart.
|
|
|
|
## Bewusst NICHT tun
|
|
- Kein zweites mem0/zweite Collection (doppelte Pflege, doppelte Konsolidierung).
|
|
- Keinen Alt-Bestand automatisch umtaggen (die Monats-Konsolidierung räumt ohnehin;
|
|
der Filter behandelt ungetaggte Fakten konservativ als „immer sichtbar").
|