Wie Clawdbot Erinnerungen verwaltet: Eine Markdown-basierte hybride Speicherarchitektur
(manthanguptaa.in)Zusammenfassung:
- Clawdbot ist ein Open-Source-lokaler KI-Assistent, der langfristige Erinnerungen im lokalen Umfeld der Nutzer in Form von Markdown-Dateien speichert und verwaltet – ohne Cloud-Abhängigkeit.
- Durch ein zweistufiges Speichersystem (tägliche Logs und langfristiges Wissen) sowie eine hybride Suche (Vektor + Keyword) ist auch bei großem Kontext eine effiziente Informationsabfrage möglich.
- Um die Grenzen des Kontextfensters zu überwinden, werden die Techniken „Compaction“ und „Pruning“ eingesetzt, um gleichzeitig Kosten zu optimieren und die Leistung aufrechtzuerhalten.
Detaillierte Zusammenfassung:
-
Überblick und Designphilosophie
Clawdbot verwaltet alle Erinnerungen als Markdown-Dateien im lokalen Workspace, um die Datenhoheit an die Nutzer zurückzugeben. Transparenz ist dabei ein zentraler Wert: Das System wurde so entworfen, dass Nutzer die Speicherdateien direkt lesen, bearbeiten und versionieren können. -
Zweistufige Speicherstruktur
Der Speicher ist im Wesentlichen in zwei Ebenen unterteilt:
- Layer 1 (Daily Logs): In der Datei
memory/YYYY-MM-DD.mdwerden Tageszusammenfassungen von Gesprächen, Entscheidungen und Nutzerpräferenzen festgehalten. - Layer 2 (Long-term Knowledge): In der Datei
MEMORY.mdwerden zentrale Fakten, Projektentscheidungen und feste Nutzerprofile gespeichert, die über mehrere Sitzungen hinweg bestehen bleiben sollen.
- Hybride Suchmaschine (Hybrid Search)
Der Agent nutzt das Werkzeugmemory_search, um Erinnerungen nur bei Bedarf abzurufen:
- Semantische Suche (Vector Search): Findet über Embeddings semantisch ähnliche Inhalte (unter Verwendung von SQLite-vec).
- Keyword-Suche (BM25): Nutzt parallel die FTS5-Engine, um exakte Eigennamen, Daten, IDs usw. zu finden.
- Berechnung der Endpunktzahl: Zur Erhöhung der Genauigkeit wird ein gewichtetes Verfahren mit
(0.7 * Vektor-Score) + (0.3 * Text-Score)angewendet.
- Techniken zur Kontextverwaltung
- Compaction: Wenn das Kontextlimit erreicht wird, werden frühere Gespräche durch Zusammenfassungen ersetzt. Insbesondere verhindert ein Schritt namens „Memory Flush“ Informationsverlust, indem wichtige Informationen vor der Zusammenfassung dauerhaft in Markdown-Dateien gespeichert werden.
- Pruning: Unnötig lange Tool-Ausgaben wie umfangreiche Log-Outputs werden abgeschnitten, um Tokens zu sparen. Enthalten ist auch eine intelligente Löschlogik unter Berücksichtigung der Prompt-Caching-TTL von Anthropic.
- Technologie-Stack und Datenfluss
- Speicher: Lokale Markdown-Dateien (Source of Truth) und SQLite (für die Indizierung).
- Workflow: Erkennung von Dateiänderungen (Chokidar) -> Chunking (in Einheiten von 400 Tokens, mit 80 Tokens Überlappung) -> Embeddings -> Speicherung in SQLite.
Noch keine Kommentare.