Uzun süreli bellek (long-term memory) — üç katmanlı hafıza
Persona kapsamlı bellek — kısa vadeli bağlam, uzun vadeli pgvector erişimi (retrieval), soğuk katman (cold tier) rotasyonu. Bağlam penceresini patlatmadan oturumları topraklanmış tutar.
Sohbet oturumları birikir. Uzun bir destek konuşması, çok haftalık bir araştırma paneli, çok aylık bir yaratıcı yazım projesi — hepsi modelin çalışan bağlamını aşar. LLM bağlam penceresi 200k token olsa bile sınırsız değildir; ayrıca tüm geçmişi her tur isteme koymak pahalıdır.
Moonborn'un bellek katmanı bunu üç katmanla ele alır: kısa vadeli aktif pencere, uzun vadeli pgvector erişimi, soğuk katmanda eski parçalar.
Bu sayfayı bitirdiğinde
- Üç katmanın (kısa vadeli, uzun vadeli, soğuk katman) rollerini ve süreçlerini bileceksin.
- pgvector erişiminin karma arama (hybrid search) akışını (anlamsal + BM25 + yeniden sıralama + MMR) anlayacaksın.
- Kullanıcı tetikli unutma (forgetting) mekanizmasını (GDPR) bileceksin.
- Belleğin oturum kapsamlı olduğunu ve oturumlar arası belleğin neden tercihen-aç (opt-in) olduğunu netleştireceksin.
Ön koşul: Sohbet oturumları — bir sohbet akışı kurmuş olmak.
Üç katman
| Katman | Süre | Depolama | Erişim |
|---|---|---|---|
| Kısa vadeli (short-term) | Son N tur | LLM bağlamı (istem içi) | Her turda tümü |
| Uzun vadeli (long-term) | Tüm oturum geçmişi | pgvector (Postgres) | Karma arama ile en alakalı K parça |
| Soğuk katman (cold tier) | 90+ gün eski | Daha yavaş depolama sınıfı | Yalnızca açık atıfta erişim |
Kısa vadeli — aktif pencere
Son N tur istemde olduğu gibi taşınır.
chat.memory.short_term.window_turns (tamsayı, varsayılan 12)Bu en hızlı, en yüksek-yoğunluklu bellektir — LLM'in dikkatinin içindedir. 12 tur ~6 kullanıcı mesajı + 6 asistan mesajı; 6-10k token aralığı.
Pencere dolduğunda eski turlar uzun vadeliye geçer — özetlenir, vektöre çevrilir, pgvector'a yazılır.
Uzun vadeli — pgvector erişimi
Önceki turlar özetlenir ve voyage-3-large (varsayılan; engine.embedding.model) ile vektöre çevrilir. Her yeni turda çalışma zamanı karma arama (hybrid search) ile en alakalı K parçayı çıkarır:
Karma aramanın 4 adımı
- Anlamsal arama (semantic search) — kosinüs uzaklığı, pgvector. "Anlamca benzer" parçalar.
- BM25 sözcüksel eşleşme — Postgres
tsvector. "Aynı kelimeler geçen" parçalar. - Çapraz-kodlayıcı yeniden sıralama (cross-encoder rerank) — anlamsal ve BM25 sonuçlarını birleştirip yeniden sıralar.
- MMR (Maximum Marginal Relevance) — tekrarı önler; benzer 5 parça yerine farklı 5 parça seçer.
chat.memory.long_term.top_k (tamsayı, varsayılan 5)
chat.memory.long_term.retrieval_strategy (metin, varsayılan "hybrid")
chat.memory.long_term.rerank_enabled (mantıksal, varsayılan true)
chat.memory.long_term.mmr_lambda (sayı 0..1, varsayılan 0.7)Karma yerine yalnız anlamsal veya yalnız BM25 seçilebilir; üretim varsayılanı karmadır çünkü yalnız anlamsal arama spesifik isim/sayı hatırlamada zayıftır, yalnız BM25 anlam çıkaramaz.
Soğuk katman — eski parçalar
90 günden eski parçalar (chat.memory.long_term.cold_tier_after_days, varsayılan 90) daha yavaş depolama sınıfına geçer:
- Hâlâ sorgulanabilir.
- Erişim (retrieval) varsayılan olarak atlar (gecikme için).
- Yalnızca kullanıcı açık atıfta bulunursa çekilir ("geçen yıl konuştuğumuz şey").
Soğuk katman rotasyonu otomatik zamanlanmış görevdir (cron); kullanıcı görmez.
Kullanıcı tetikli unutma
GDPR + ürün deneyimi ikisi de bunu gerektirir: kullanıcı bir bellek parçasını unutturabilir.
await client.chat.sessions.memory.delete({
sessionId: 'ses_...',
chunkId: 'mem_01H...',
});Persona o belirli gerçeği o oturum için unutur. Diğer oturumlar etkilenmez — bellek oturum kapsamlıdır.
Bellek kapsamı — oturum içi vs oturumlar arası
Varsayılan: oturum kapsamlı. Bir persona her yeni sohbet oturumunda "boş sayfa" başlar; önceki oturumda söylenenleri hatırlamaz.
Oturumlar arası bellek tercihen-aç (chat.memory.cross_session.enabled, Team ve üzeri). Açarsan persona oturumlar arası belirli alanları hatırlar (kullanıcının adı, geçmiş tercihler, açık konular).
API yüzeyi
GET /v1/chat/sessions/{id}/memory— oturum bellek parçalarını listeleDELETE /v1/chat/sessions/{id}/memory/{chunkId}— parça sil (unutma)POST /v1/chat/sessions/{id}/memory/summarize— elle özetleme (nadir; otomatik çalışır)POST /v1/chat/sessions/{id}/memory/search— açık arama (hata ayıklama için)
Plan gereksinimi
| Plan | Yetenek |
|---|---|
| Free | Yalnız kısa vadeli (12 tur pencere) |
| Pro | Kısa + uzun vadeli erişim, soğuk katman 30 gün |
| Team | Tüm katmanlar + oturumlar arası bellek tercihen-aç + özel saklama süresi |
| Enterprise | Özel embedding modeli, özel vektör deposu, 7+ yıl saklama |