{"title":"Bellek Modeli","slug":"memory-model","category":"concepts","summary":"Bellekler nasıl yapılandırılır — kategoriler, anahtarlar, etiketler, öncelikler, kaynaklar, doğrulama.","audience":["human","llm"],"tags":["concept","memory","model","structure"],"difficulty":"intermediate","updated":"2026-06-27","word_count":684,"read_minutes":3,"lang":"tr","translated":true,"requested_lang":"tr","content_markdown":"\n# Bellek Modeli\n\nSynapse'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.\n\n## Bellek Anatomisi\n\n```json\n{\n  \"id\": \"mem_abc123\",\n  \"category\": \"project\",\n  \"key\": \"project_synapse_status\",\n  \"content\": \"Synapse v1.5.0 deployed on vps1. CI green.\",\n  \"tags\": [\"synapse\", \"deployment\", \"v1.5.0\"],\n  \"priority\": \"high\",\n  \"source\": \"agent\",\n  \"verified\": false,\n  \"confidence\": 0.85,\n  \"expires_at\": null,\n  \"mind_id\": \"m_xyz789\",\n  \"created_at\": \"2026-06-27T...\",\n  \"updated_at\": \"2026-06-27T...\"\n}\n```\n\n## Alanlar\n\n| Alan | Tip | Gerekli | Açıklama |\n|-------|------|----------|-------------|\n| `id` | string | otomatik | Benzersiz ID (mem_xxx) |\n| `category` | enum | ✅ | 8 kategoriden biri |\n| `key` | string | ✅ | Kararlı tanımlayıcı (güncellemeler için kullanılır) |\n| `content` | string | ✅ | Bellek içeriği (herhangi bir metin) |\n| `tags` | string[] | – | Arama ve filtreleme için |\n| `priority` | enum | – | low, normal, high, critical (varsayılan: normal) |\n| `source` | enum | otomatik | user, agent (kim sakladı) |\n| `verified` | bool | otomatik | Bir insan bunu doğruladı mı? |\n| `confidence` | float | – | 0.0 - 1.0 (varsayılan: user için 1.0, agent için 0.7) |\n| `expires_at` | timestamp | – | Bu bellek ne zaman unutulur |\n| `mind_id` | string | otomatik | Bu hangi mind'e ait |\n| `created_at` | timestamp | otomatik | İlk saklandığı zaman |\n| `updated_at` | timestamp | otomatik | Son değişiklik |\n\n## Kategoriler\n\nSekiz kategori, yaygın LLM ajan kullanım senaryolarını kapsar:\n\n| Kategori | Amaç | Örnek İçerik |\n|----------|---------|-----------------|\n| `identity` | Kullanıcı kim | \"Kullanıcı Michael Schäfer, Berlin'de yazılım mühendisi\" |\n| `preference` | Kullanıcı tercihleri | \"Öz ve teknik yanıtları tercih eder\" |\n| `fact` | Doğrulanabilir bilgiler | \"Ofis Berlin'de, saat dilimi Europe/Berlin\" |\n| `project` | Proje durumu | \"Synapse v1.5.0 dağıtıldı, v1.6.0 docs üzerinde çalışılıyor\" |\n| `skill` | Kullanıcının becerileri | \"İleri Python, 10+ yıl\" |\n| `mistake` | Geçmiş hatalar | \"npm sürümünü yükseltmeyi unuttum — CI başarısız oldu\" |\n| `context` | Oturum bağlamı | \"Şu anda PR #42 inceleniyor\" |\n| `note` | Çeşitli notlar | \"Bir sonraki sprint için önbellekleme için Redis'i dene\" |\n\n## Anahtarlar: Kararlı Tanımlayıcılar\n\n`key` alanı kritiktir — yinelenen oluşturmadan bellekleri nasıl güncelleyeceğinizdir.\n\n```python\n# First store\nstore(\"project\", \"project_synapse_status\", \"v1.4.0 deployed\", priority=\"high\")\n\n# Update with same key (overwrites, doesn't duplicate)\nstore(\"project\", \"project_synapse_status\", \"v1.5.0 deployed\", priority=\"high\")\n```\n\n**Anahtar kuralları:**\n\n- (category, mind) içinde benzersiz olmalı\n- `snake_case` kullanın\n- Netlik için kategori ile önekleyin: `preference_communication`, `mistake_npm_version`\n- Kararlı tutun — oluşturduktan sonra anahtarları değiştirmeyin\n\n## Etiketler: Arama İçin\n\nEtiketler hızlı filtreleme ve arama sağlar:\n\n```bash\n# Find all memories with tag \"docker\"\nGET /memory/by-tag?tag=docker\n\n# FTS5 search within tagged subset\nGET /memory/search?q=swarm&tag=docker\n```\n\n**Etiket en iyi uygulamaları:**\n\n- Bellek başına 2-5 etiket (aşırı etiketlemeyin)\n- Tutarlılık için küçük harf\n- Proje adları, konular, teknolojiler kullanın\n- Etiketler büyük/küçük harf duyarsızdır\n\n## Öncelik Düzeyleri\n\n| Öncelik | Ne Zaman Kullanılır | Geri Çağırma Davranışı |\n|----------|-------------|-----------------|\n| `critical` | Kimlik, yasal, geri alınamaz | Geri çağırmada her zaman en üstte |\n| `high` | Aktif projeler, temel tercihler | Geri çağırmada öne çıkan |\n| `normal` | Çoğu bellek (varsayılan) | Standart geri çağırma sırası |\n| `low` | Geçici, bilmek güzel | Özetlenebilir |\n\n`/memory/recall` önceliğe göre (önce critical), sonra yeniliğe göre sıralar.\n\n## Kaynak: User ve Agent\n\nBellekler `source` ile etiketlenir:\n\n- `user` — bir insan tarafından saklandı (JWT veya insan arayüzü ile)\n- `agent` — bir LLM ajanı tarafından saklandı (Mind Key ile)\n\nBu şunları etkiler:\n\n- **Doğrulama**: `user` bellekleri otomatik doğrulanır, `agent` bellekleri doğrulanmaz\n- **Güven**: `user` varsayılan 1.0, `agent` 0.7\n- **Geri çağırma**: `/memory/recall` doğrulanmamış bellekleri \"(unverified)\" ile işaretler\n\n> [!NOTE]\n> `agent` kaynaklı bellekleri uygun şüpheyle ele alın. Bunlar kullanıcı tarafından doğrudan belirtilmekten ziyade çıkarılmış veya varsayılmış olabilir.\n\n## Doğrulama\n\n`verified` bayrağı, bir insanın belleği onayladığını gösterir:\n\n- `user` bellekleri: otomatik doğrulanır (`true`)\n- `agent` bellekleri: varsayılan doğrulanmamış (`false`)\n\nBellekleri şununla doğrulayın:\n\n```bash\ncurl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \\\n  -H \"Authorization: Bearer YOUR_JWT\"\n```\n\n> [!NOTE]\n> 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.\n\n## Güven\n\n`confidence` alanı (0.0 - 1.0) belleğin ne kadar güvenilir olduğunu gösterir:\n\n- 1.0 — kullanıcı tarafından doğrudan belirtilmiş\n- 0.7 — ajan tarafından çıkarılmış\n- 0.5 — belirsiz, doğrulama gerekiyor\n- 0.0 — açıkça şüpheli\n\nSaklarken güveni ayarlayın:\n\n```json\n{\n  \"category\": \"preference\",\n  \"key\": \"prefers_dark_mode\",\n  \"content\": \"User seems to prefer dark mode (based on their IDE screenshots)\",\n  \"confidence\": 0.5,\n  \"source\": \"agent\"\n}\n```\n\n## Son Kullanma\n\nZamana duyarlı bellekler için `expires_at` ayarlayın:\n\n```json\n{\n  \"category\": \"context\",\n  \"key\": \"current_meeting_topic\",\n  \"content\": \"Discussing Q3 roadmap\",\n  \"expires_at\": \"2026-06-28T00:00:00Z\"\n}\n```\n\nSü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.\n\n## Bellek Yaşam Döngüsü\n\n```\n                  ┌─────────────────┐\n                  │     Create      │\n                  │  POST /memory   │\n                  └────────┬────────┘\n                           │\n                           ▼\n                  ┌─────────────────┐\n                  │     Active      │ ◀──── PUT /memory/:id (update)\n                  │  (in recall)    │\n                  └────────┬────────┘\n                           │\n              ┌────────────┼────────────┐\n              │            │            │\n              ▼            ▼            ▼\n        ┌──────────┐ ┌──────────┐ ┌──────────┐\n        │ Expired  │ │ Verified │ │ Deleted  │\n        │ (in DB)  │ │ (flag)   │ │ (gone)   │\n        └──────────┘ └──────────┘ └──────────┘\n```\n\n## Geri Çağırma Davranışı\n\n`GET /memory/recall`, LLM bağlamı için optimize edilmiş düz metin özeti döndürür:\n\n```\nMind: Michael's Mind\nMemories: 12 total (10 verified, 2 unverified)\n\n[001] identity (CRITICAL) [verified]\n  user_name\n  Michael Schäfer\n  Tags: person, identity\n\n[002] preference (HIGH) [verified]\n  communication_style\n  Prefers concise technical responses\n  Tags: communication\n\n[003] project (HIGH) [unverified]\n  synapse_status\n  v1.5.0 deployed, working on v1.6.0 docs\n  Tags: synapse, deployment\n\n...\n```\n\n- Önceliğe göre sıralanır (critical → low), sonra yeniliğe göre\n- Doğrulanmamış bellekler `[unverified]` ile işaretlenir\n- Bağlam için etiketler dahil edilir\n- Düz metin (JSON ayrıştırma gerekmez)\n\n## Sonraki Adımlar\n\n- [Memory API](/docs/api/memory)\n- [Bellek En İyi Uygulamaları](/docs/guides/memory-best-practices)\n- [FTS5 Arama](/docs/concepts/fts5-search)\n","content_html":"<h1>Bellek Modeli</h1>\n<p>Synapse&#39;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.</p>\n<h2>Bellek Anatomisi</h2>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;id&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;mem_abc123&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;category&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;project&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;key&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;project_synapse_status&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;content&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Synapse v1.5.0 deployed on vps1. CI green.&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;synapse&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;deployment&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;v1.5.0&quot;</span><span class=\"hljs-punctuation\">]</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;priority&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;high&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;source&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;agent&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;verified&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-literal\"><span class=\"hljs-keyword\">false</span></span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;confidence&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-number\">0.85</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;expires_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-literal\"><span class=\"hljs-keyword\">null</span></span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;mind_id&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;m_xyz789&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;created_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;updated_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h2>Alanlar</h2>\n<table>\n<thead>\n<tr>\n<th>Alan</th>\n<th>Tip</th>\n<th>Gerekli</th>\n<th>Açıklama</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>id</code></td>\n<td>string</td>\n<td>otomatik</td>\n<td>Benzersiz ID (mem_xxx)</td>\n</tr>\n<tr>\n<td><code>category</code></td>\n<td>enum</td>\n<td>✅</td>\n<td>8 kategoriden biri</td>\n</tr>\n<tr>\n<td><code>key</code></td>\n<td>string</td>\n<td>✅</td>\n<td>Kararlı tanımlayıcı (güncellemeler için kullanılır)</td>\n</tr>\n<tr>\n<td><code>content</code></td>\n<td>string</td>\n<td>✅</td>\n<td>Bellek içeriği (herhangi bir metin)</td>\n</tr>\n<tr>\n<td><code>tags</code></td>\n<td>string[]</td>\n<td>–</td>\n<td>Arama ve filtreleme için</td>\n</tr>\n<tr>\n<td><code>priority</code></td>\n<td>enum</td>\n<td>–</td>\n<td>low, normal, high, critical (varsayılan: normal)</td>\n</tr>\n<tr>\n<td><code>source</code></td>\n<td>enum</td>\n<td>otomatik</td>\n<td>user, agent (kim sakladı)</td>\n</tr>\n<tr>\n<td><code>verified</code></td>\n<td>bool</td>\n<td>otomatik</td>\n<td>Bir insan bunu doğruladı mı?</td>\n</tr>\n<tr>\n<td><code>confidence</code></td>\n<td>float</td>\n<td>–</td>\n<td>0.0 - 1.0 (varsayılan: user için 1.0, agent için 0.7)</td>\n</tr>\n<tr>\n<td><code>expires_at</code></td>\n<td>timestamp</td>\n<td>–</td>\n<td>Bu bellek ne zaman unutulur</td>\n</tr>\n<tr>\n<td><code>mind_id</code></td>\n<td>string</td>\n<td>otomatik</td>\n<td>Bu hangi mind&#39;e ait</td>\n</tr>\n<tr>\n<td><code>created_at</code></td>\n<td>timestamp</td>\n<td>otomatik</td>\n<td>İlk saklandığı zaman</td>\n</tr>\n<tr>\n<td><code>updated_at</code></td>\n<td>timestamp</td>\n<td>otomatik</td>\n<td>Son değişiklik</td>\n</tr>\n</tbody></table>\n<h2>Kategoriler</h2>\n<p>Sekiz kategori, yaygın LLM ajan kullanım senaryolarını kapsar:</p>\n<table>\n<thead>\n<tr>\n<th>Kategori</th>\n<th>Amaç</th>\n<th>Örnek İçerik</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>identity</code></td>\n<td>Kullanıcı kim</td>\n<td>&quot;Kullanıcı Michael Schäfer, Berlin&#39;de yazılım mühendisi&quot;</td>\n</tr>\n<tr>\n<td><code>preference</code></td>\n<td>Kullanıcı tercihleri</td>\n<td>&quot;Öz ve teknik yanıtları tercih eder&quot;</td>\n</tr>\n<tr>\n<td><code>fact</code></td>\n<td>Doğrulanabilir bilgiler</td>\n<td>&quot;Ofis Berlin&#39;de, saat dilimi Europe/Berlin&quot;</td>\n</tr>\n<tr>\n<td><code>project</code></td>\n<td>Proje durumu</td>\n<td>&quot;Synapse v1.5.0 dağıtıldı, v1.6.0 docs üzerinde çalışılıyor&quot;</td>\n</tr>\n<tr>\n<td><code>skill</code></td>\n<td>Kullanıcının becerileri</td>\n<td>&quot;İleri Python, 10+ yıl&quot;</td>\n</tr>\n<tr>\n<td><code>mistake</code></td>\n<td>Geçmiş hatalar</td>\n<td>&quot;npm sürümünü yükseltmeyi unuttum — CI başarısız oldu&quot;</td>\n</tr>\n<tr>\n<td><code>context</code></td>\n<td>Oturum bağlamı</td>\n<td>&quot;Şu anda PR #42 inceleniyor&quot;</td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>Çeşitli notlar</td>\n<td>&quot;Bir sonraki sprint için önbellekleme için Redis&#39;i dene&quot;</td>\n</tr>\n</tbody></table>\n<h2>Anahtarlar: Kararlı Tanımlayıcılar</h2>\n<p><code>key</code> alanı kritiktir — yinelenen oluşturmadan bellekleri nasıl güncelleyeceğinizdir.</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># First store</span>\nstore(<span class=\"hljs-string\">&quot;project&quot;</span>, <span class=\"hljs-string\">&quot;project_synapse_status&quot;</span>, <span class=\"hljs-string\">&quot;v1.4.0 deployed&quot;</span>, priority=<span class=\"hljs-string\">&quot;high&quot;</span>)\n\n<span class=\"hljs-comment\"># Update with same key (overwrites, doesn&#x27;t duplicate)</span>\nstore(<span class=\"hljs-string\">&quot;project&quot;</span>, <span class=\"hljs-string\">&quot;project_synapse_status&quot;</span>, <span class=\"hljs-string\">&quot;v1.5.0 deployed&quot;</span>, priority=<span class=\"hljs-string\">&quot;high&quot;</span>)</code></pre><p><strong>Anahtar kuralları:</strong></p>\n<ul>\n<li>(category, mind) içinde benzersiz olmalı</li>\n<li><code>snake_case</code> kullanın</li>\n<li>Netlik için kategori ile önekleyin: <code>preference_communication</code>, <code>mistake_npm_version</code></li>\n<li>Kararlı tutun — oluşturduktan sonra anahtarları değiştirmeyin</li>\n</ul>\n<h2>Etiketler: Arama İçin</h2>\n<p>Etiketler hızlı filtreleme ve arama sağlar:</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Find all memories with tag &quot;docker&quot;</span>\nGET /memory/by-tag?tag=docker\n\n<span class=\"hljs-comment\"># FTS5 search within tagged subset</span>\nGET /memory/search?q=swarm&amp;tag=docker</code></pre><p><strong>Etiket en iyi uygulamaları:</strong></p>\n<ul>\n<li>Bellek başına 2-5 etiket (aşırı etiketlemeyin)</li>\n<li>Tutarlılık için küçük harf</li>\n<li>Proje adları, konular, teknolojiler kullanın</li>\n<li>Etiketler büyük/küçük harf duyarsızdır</li>\n</ul>\n<h2>Öncelik Düzeyleri</h2>\n<table>\n<thead>\n<tr>\n<th>Öncelik</th>\n<th>Ne Zaman Kullanılır</th>\n<th>Geri Çağırma Davranışı</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>critical</code></td>\n<td>Kimlik, yasal, geri alınamaz</td>\n<td>Geri çağırmada her zaman en üstte</td>\n</tr>\n<tr>\n<td><code>high</code></td>\n<td>Aktif projeler, temel tercihler</td>\n<td>Geri çağırmada öne çıkan</td>\n</tr>\n<tr>\n<td><code>normal</code></td>\n<td>Çoğu bellek (varsayılan)</td>\n<td>Standart geri çağırma sırası</td>\n</tr>\n<tr>\n<td><code>low</code></td>\n<td>Geçici, bilmek güzel</td>\n<td>Özetlenebilir</td>\n</tr>\n</tbody></table>\n<p><code>/memory/recall</code> önceliğe göre (önce critical), sonra yeniliğe göre sıralar.</p>\n<h2>Kaynak: User ve Agent</h2>\n<p>Bellekler <code>source</code> ile etiketlenir:</p>\n<ul>\n<li><code>user</code> — bir insan tarafından saklandı (JWT veya insan arayüzü ile)</li>\n<li><code>agent</code> — bir LLM ajanı tarafından saklandı (Mind Key ile)</li>\n</ul>\n<p>Bu şunları etkiler:</p>\n<ul>\n<li><strong>Doğrulama</strong>: <code>user</code> bellekleri otomatik doğrulanır, <code>agent</code> bellekleri doğrulanmaz</li>\n<li><strong>Güven</strong>: <code>user</code> varsayılan 1.0, <code>agent</code> 0.7</li>\n<li><strong>Geri çağırma</strong>: <code>/memory/recall</code> doğrulanmamış bellekleri &quot;(unverified)&quot; ile işaretler</li>\n</ul>\n<div class=\"callout callout-note\">`agent` kaynaklı bellekleri uygun şüpheyle ele alın. Bunlar kullanıcı tarafından doğrudan belirtilmekten ziyade çıkarılmış veya varsayılmış olabilir.</div><h2>Doğrulama</h2>\n<p><code>verified</code> bayrağı, bir insanın belleği onayladığını gösterir:</p>\n<ul>\n<li><code>user</code> bellekleri: otomatik doğrulanır (<code>true</code>)</li>\n<li><code>agent</code> bellekleri: varsayılan doğrulanmamış (<code>false</code>)</li>\n</ul>\n<p>Bellekleri şununla doğrulayın:</p>\n<pre><code class=\"hljs language-bash\">curl -X POST https://synapse.schaefer.zone/memory/mem_001/verify \\\n  -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_JWT&quot;</span></code></pre><div class=\"callout callout-note\">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.</div><h2>Güven</h2>\n<p><code>confidence</code> alanı (0.0 - 1.0) belleğin ne kadar güvenilir olduğunu gösterir:</p>\n<ul>\n<li>1.0 — kullanıcı tarafından doğrudan belirtilmiş</li>\n<li>0.7 — ajan tarafından çıkarılmış</li>\n<li>0.5 — belirsiz, doğrulama gerekiyor</li>\n<li>0.0 — açıkça şüpheli</li>\n</ul>\n<p>Saklarken güveni ayarlayın:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;category&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;preference&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;key&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;prefers_dark_mode&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;content&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;User seems to prefer dark mode (based on their IDE screenshots)&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;confidence&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-number\">0.5</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;source&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;agent&quot;</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h2>Son Kullanma</h2>\n<p>Zamana duyarlı bellekler için <code>expires_at</code> ayarlayın:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;category&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;context&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;key&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;current_meeting_topic&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;content&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Discussing Q3 roadmap&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;expires_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-28T00:00:00Z&quot;</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><p>Süresi dolmuş bellekler <code>/memory/recall</code> tarafından döndürülmez (ama veritabanında hala mevcut). Yakında süresi dolacak bellekleri görmek için <code>/memory/expiring?within=7d</code> kullanın.</p>\n<h2>Bellek Yaşam Döngüsü</h2>\n<pre><code class=\"hljs language-plaintext\">                  ┌─────────────────┐\n                  │     Create      │\n                  │  POST /memory   │\n                  └────────┬────────┘\n                           │\n                           ▼\n                  ┌─────────────────┐\n                  │     Active      │ ◀──── PUT /memory/:id (update)\n                  │  (in recall)    │\n                  └────────┬────────┘\n                           │\n              ┌────────────┼────────────┐\n              │            │            │\n              ▼            ▼            ▼\n        ┌──────────┐ ┌──────────┐ ┌──────────┐\n        │ Expired  │ │ Verified │ │ Deleted  │\n        │ (in DB)  │ │ (flag)   │ │ (gone)   │\n        └──────────┘ └──────────┘ └──────────┘</code></pre><h2>Geri Çağırma Davranışı</h2>\n<p><code>GET /memory/recall</code>, LLM bağlamı için optimize edilmiş düz metin özeti döndürür:</p>\n<pre><code class=\"hljs language-plaintext\">Mind: Michael&#x27;s Mind\nMemories: 12 total (10 verified, 2 unverified)\n\n[001] identity (CRITICAL) [verified]\n  user_name\n  Michael Schäfer\n  Tags: person, identity\n\n[002] preference (HIGH) [verified]\n  communication_style\n  Prefers concise technical responses\n  Tags: communication\n\n[003] project (HIGH) [unverified]\n  synapse_status\n  v1.5.0 deployed, working on v1.6.0 docs\n  Tags: synapse, deployment\n\n...</code></pre><ul>\n<li>Önceliğe göre sıralanır (critical → low), sonra yeniliğe göre</li>\n<li>Doğrulanmamış bellekler <code>[unverified]</code> ile işaretlenir</li>\n<li>Bağlam için etiketler dahil edilir</li>\n<li>Düz metin (JSON ayrıştırma gerekmez)</li>\n</ul>\n<h2>Sonraki Adımlar</h2>\n<ul>\n<li><a href=\"/docs/api/memory\">Memory API</a></li>\n<li><a href=\"/docs/guides/memory-best-practices\">Bellek En İyi Uygulamaları</a></li>\n<li><a href=\"/docs/concepts/fts5-search\">FTS5 Arama</a></li>\n</ul>\n","urls":{"html":"/docs/concepts/memory-model","text":"/docs/concepts/memory-model?format=text","json":"/docs/concepts/memory-model?format=json","llm":"/docs/concepts/memory-model?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}