Langzeit-Memory
Persona-scoped Memory: kurzfristiger Kontext, langfristiges pgvector-Retrieval und die Cold-Tier-Rotation, die Sessions geerdet hält, ohne das Kontext-Fenster zu sprengen.
Chat-Sessions häufen sich an. Eine lange Support-Konversation, ein mehrwöchiges Research-Panel, ein mehrwöchiges Creative-Writing- Projekt — alle gehen über den Working-Context des Modells hinaus. Moonborns Memory-Schicht adressiert das mit drei Tiers.
Kurzfristig: das aktive Fenster
Die letzten N Turns reiten im Prompt as-is, gesteuert durch
chat.memory.short_term.window_turns (Standard 12). Das ist das
schnellste, höchstauflösende Memory — es liegt buchstäblich in der
Aufmerksamkeit des LLM.
Langfristig: pgvector-Retrieval
Frühere Turns werden zusammengefasst und mit voyage-3-large
eingebettet (Standard; konfigurierbar via engine.embedding.model).
Bei jedem neuen Turn ruft die Runtime die top-K relevantesten Chunks
via Hybrid-Search ab:
- Semantic (Cosine-Distance, pgvector).
- BM25 lexikalisches Matching (Postgres
tsvector). - Rerank mit einem Cross-Encoder.
- MMR (Maximum Marginal Relevance), um Redundanz zu vermeiden.
Getuned durch chat.memory.long_term.{top_k, retrieval_strategy}.
Cold-Tier
Chunks älter als
chat.memory.long_term.cold_tier_after_days (Standard 90) wandern
in eine langsamere Storage-Klasse. Sie bleiben abfragbar, aber der
Retrieval-Pass überspringt sie, außer der Nutzer referenziert
explizit etwas Älteres.
Nutzer-initiiertes Vergessen
GDPR + Produkt-UX wollen beide das:
DELETE /v1/chat/sessions/{id}/memory/{chunk_id} entfernt einen
Memory-Chunk. Die Persona vergisst diesen spezifischen Fakt für die
Session (andere Sessions sind nicht betroffen — Memory ist
session-scoped, nicht persona-scoped).
API
GET /v1/chat/sessions/{id}/memory— Memory-Chunks auflisten.DELETE /v1/chat/sessions/{id}/memory/{chunk_id}— vergessen.POST /v1/chat/sessions/{id}/memory/summarize— Zusammenfassung manuell triggern (selten; läuft standardmäßig automatisch).
Tarif
Kurzfristig: Free und höher. Langzeit-Retrieval + Cold-Tier: Pro und höher (höhere Tarife bekommen größere Retention-Fenster + größere Chunk-Caps).
Ehrlicher Scope
Memory ist per Default session-scoped. Eine Persona erinnert
sich nicht zwischen Sessions, außer du verkabelst das — das ist ein
chat.memory.cross_session.enabled-Opt-in-Flag (Team+), und es
führt zu komplexen Privacy- und Provenanz-Concerns. Lies den
Memory-Configuration-Guide bevor du
es anschaltest.