Skip to main content

Bellek Modeli

Bellekler nasıl yapılandırılır — kategoriler, anahtarlar, etiketler, öncelikler, kaynaklar, doğrulama.


Bellek Modeli

Synapse'in bellek modeli LLM ajanları için tasarlanmıştır — güvenilir geri çağırma için yeterince yapılandırılmış, her alan için yeterince esnek.

Bellek Anatomisi

{
  "id": "mem_abc123",
  "category": "project",
  "key": "project_synapse_status",
  "content": "Synapse v1.5.0 deployed on vps1. CI green.",
  "tags": ["synapse", "deployment", "v1.5.0"],
  "priority": "high",
  "source": "agent",
  "verified": false,
  "confidence": 0.85,
  "expires_at": null,
  "mind_id": "m_xyz789",
  "created_at": "2026-06-27T...",
  "updated_at": "2026-06-27T..."
}

Alanlar

Alan Tip Gerekli Açıklama
id string otomatik Benzersiz ID (mem_xxx)
category enum 8 kategoriden biri
key string Kararlı tanımlayıcı (güncellemeler için kullanılır)
content string Bellek içeriği (herhangi bir metin)
tags string[] Arama ve filtreleme için
priority enum low, normal, high, critical (varsayılan: normal)
source enum otomatik user, agent (kim sakladı)
verified bool otomatik Bir insan bunu doğruladı mı?
confidence float 0.0 - 1.0 (varsayılan: user için 1.0, agent için 0.7)
expires_at timestamp Bu bellek ne zaman unutulur
mind_id string otomatik Bu hangi mind'e ait
created_at timestamp otomatik İlk saklandığı zaman
updated_at timestamp otomatik Son değişiklik

Kategoriler

Sekiz kategori, yaygın LLM ajan kullanım senaryolarını kapsar:

Kategori Amaç Örnek İçerik
identity Kullanıcı kim "Kullanıcı Michael Schäfer, Berlin'de yazılım mühendisi"
preference Kullanıcı tercihleri "Öz ve teknik yanıtları tercih eder"
fact Doğrulanabilir bilgiler "Ofis Berlin'de, saat dilimi Europe/Berlin"
project Proje durumu "Synapse v1.5.0 dağıtıldı, v1.6.0 docs üzerinde çalışılıyor"
skill Kullanıcının becerileri "İleri Python, 10+ yıl"
mistake Geçmiş hatalar "npm sürümünü yükseltmeyi unuttum — CI başarısız oldu"
context Oturum bağlamı "Şu anda PR #42 inceleniyor"
note Çeşitli notlar "Bir sonraki sprint için önbellekleme için Redis'i dene"

Anahtarlar: Kararlı Tanımlayıcılar

key alanı kritiktir — yinelenen oluşturmadan bellekleri nasıl güncelleyeceğinizdir.

# First store
store("project", "project_synapse_status", "v1.4.0 deployed", priority="high")

# Update with same key (overwrites, doesn't duplicate)
store("project", "project_synapse_status", "v1.5.0 deployed", priority="high")

Anahtar kuralları:

  • (category, mind) içinde benzersiz olmalı
  • snake_case kullanın
  • Netlik için kategori ile önekleyin: preference_communication, mistake_npm_version
  • Kararlı tutun — oluşturduktan sonra anahtarları değiştirmeyin

Etiketler: Arama İçin

Etiketler hızlı filtreleme ve arama sağlar:

# Find all memories with tag "docker"
GET /memory/by-tag?tag=docker

# FTS5 search within tagged subset
GET /memory/search?q=swarm&tag=docker

Etiket en iyi uygulamaları:

  • Bellek başına 2-5 etiket (aşırı etiketlemeyin)
  • Tutarlılık için küçük harf
  • Proje adları, konular, teknolojiler kullanın
  • Etiketler büyük/küçük harf duyarsızdır

Öncelik Düzeyleri

Öncelik Ne Zaman Kullanılır Geri Çağırma Davranışı
critical Kimlik, yasal, geri alınamaz Geri çağırmada her zaman en üstte
high Aktif projeler, temel tercihler Geri çağırmada öne çıkan
normal Çoğu bellek (varsayılan) Standart geri çağırma sırası
low Geçici, bilmek güzel Özetlenebilir

/memory/recall önceliğe göre (önce critical), sonra yeniliğe göre sıralar.

Kaynak: User ve Agent

Bellekler source ile etiketlenir:

  • user — bir insan tarafından saklandı (JWT veya insan arayüzü ile)
  • agent — bir LLM ajanı tarafından saklandı (Mind Key ile)

Bu şunları etkiler:

  • Doğrulama: user bellekleri otomatik doğrulanır, agent bellekleri doğrulanmaz
  • Güven: user varsayılan 1.0, agent 0.7
  • Geri çağırma: /memory/recall doğrulanmamış bellekleri "(unverified)" ile işaretler
`agent` kaynaklı bellekleri uygun şüpheyle ele alın. Bunlar kullanıcı tarafından doğrudan belirtilmekten ziyade çıkarılmış veya varsayılmış olabilir.

Doğrulama

verified bayrağı, bir insanın belleği onayladığını gösterir:

  • user bellekleri: otomatik doğrulanır (true)
  • agent bellekleri: varsayılan doğrulanmamış (false)

Bellekleri şununla doğrulayın:

curl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \
  -H "Authorization: Bearer YOUR_JWT"
Doğrulama JWT (insan kimlik doğrulaması) gerektirir, Mind Key (ajan kimlik doğrulaması) değil. Bu, yalnızca insanların bellekleri doğrulanmış olarak işaretleyebilmesini sağlar.

Güven

confidence alanı (0.0 - 1.0) belleğin ne kadar güvenilir olduğunu gösterir:

  • 1.0 — kullanıcı tarafından doğrudan belirtilmiş
  • 0.7 — ajan tarafından çıkarılmış
  • 0.5 — belirsiz, doğrulama gerekiyor
  • 0.0 — açıkça şüpheli

Saklarken güveni ayarlayın:

{
  "category": "preference",
  "key": "prefers_dark_mode",
  "content": "User seems to prefer dark mode (based on their IDE screenshots)",
  "confidence": 0.5,
  "source": "agent"
}

Son Kullanma

Zamana duyarlı bellekler için expires_at ayarlayın:

{
  "category": "context",
  "key": "current_meeting_topic",
  "content": "Discussing Q3 roadmap",
  "expires_at": "2026-06-28T00:00:00Z"
}

Süresi dolmuş bellekler /memory/recall tarafından döndürülmez (ama veritabanında hala mevcut). Yakında süresi dolacak bellekleri görmek için /memory/expiring?within=7d kullanın.

Bellek Yaşam Döngüsü

                  ┌─────────────────┐
                  │     Create      │
                  │  POST /memory   │
                  └────────┬────────┘
                           │
                           ▼
                  ┌─────────────────┐
                  │     Active      │ ◀──── PUT /memory/:id (update)
                  │  (in recall)    │
                  └────────┬────────┘
                           │
              ┌────────────┼────────────┐
              │            │            │
              ▼            ▼            ▼
        ┌──────────┐ ┌──────────┐ ┌──────────┐
        │ Expired  │ │ Verified │ │ Deleted  │
        │ (in DB)  │ │ (flag)   │ │ (gone)   │
        └──────────┘ └──────────┘ └──────────┘

Geri Çağırma Davranışı

GET /memory/recall, LLM bağlamı için optimize edilmiş düz metin özeti döndürür:

Mind: Michael's Mind
Memories: 12 total (10 verified, 2 unverified)

[001] identity (CRITICAL) [verified]
  user_name
  Michael Schäfer
  Tags: person, identity

[002] preference (HIGH) [verified]
  communication_style
  Prefers concise technical responses
  Tags: communication

[003] project (HIGH) [unverified]
  synapse_status
  v1.5.0 deployed, working on v1.6.0 docs
  Tags: synapse, deployment

...
  • Önceliğe göre sıralanır (critical → low), sonra yeniliğe göre
  • Doğrulanmamış bellekler [unverified] ile işaretlenir
  • Bağlam için etiketler dahil edilir
  • Düz metin (JSON ayrıştırma gerekmez)

Sonraki Adımlar