Bellek Etiketleme Stratejisi
Etkili arama ve filtreleme için bellekleri nasıl etiketlersiniz — ölçeklenen etiketleme sistemi.
Bellek Etiketleme Stratejisi
Etiketler, ölçeklenebilir bellek alımının sırrıdır. Bu rehber, doğru olanların doğru zamanda geri gelmesi için bellekleri nasıl etiketleyeceğinizi gösterir.
Etiketler Neden Önemli
Etiketler olmadan düz tam metin aramanız vardır. Etiketlerle, yapılandırılmış gezinmeniz vardır:
# Without tags: search everything
GET /memory/search?q=docker
# With tags: filter by project + technology
GET /memory/search?q=deployment&tag=synapse&tag=dockerEtiketler şunları sağlar:
- Hızlı filtreleme —
GET /memory/by-tag?tag=production - Kapsamlı arama —
?q=auth&tag=project-x - Gruplama — bir proje için tüm "mistake" belleklerini bulma
- Çapraz referans — etiket paylaşan bellekler ilişkilidir
Etiketleme Şeması
Proje etiketleri
Proje adlarını etiket olarak kullanın:
synapse, synapse-mcp, synapse-chat, synapse-sdkTeknoloji etiketleri
Teknoloji adları kullanın:
docker, kubernetes, postgres, fastify, react, typescriptKonu etiketleri
Konu kategorileri kullanın:
deployment, ci-cd, auth, database, frontend, backend, securityDurum etiketleri
Durum göstergeleri kullanın:
active, completed, blocked, deprecatedTip etiketleri
Tip göstergeleri kullanın:
decision, mistake, pattern, reference, todoEtiketleme Kuralları
Kural 1: Bellek başına 2-5 etiket
Çok az etiket = zayıf keşfedilebilirlik. Çok fazla = gürültü.
// Good: 3 relevant tags
{ "tags": ["synapse", "deployment", "docker"] }
// Bad: 1 tag (too narrow)
{ "tags": ["synapse"] }
// Bad: 10 tags (noise)
{ "tags": ["synapse", "deployment", "docker", "vps1", "2026", "june", "ssh", "git", "main", "production"] }Kural 2: Küçük harf, tireli
✅ ci-cd, api-key, mind-key
❌ CI-CD, APIKey, MindKeyKural 3: Tutarlı kelime dağarcığı kullanın
Bir etiketleme kelime dağarcığı oluşturun ve ona sadık kalın:
# Project vocabulary
synapse, synapse-mcp, synapse-chat
# NOT: synapse_project, synapseProject, SYNAPSEKural 4: Arama niyetiyle etiketleyin
Sorun: "Bu belleği nasıl arayacağım?"
// Storing a deployment decision
{
"content": "Decided to use Docker Swarm for Synapse deployment",
"tags": ["synapse", "deployment", "docker", "swarm", "decision"]
}
// You'll likely search: ?q=docker+swarm or ?tag=deploymentDesenler
Desen 1: Proje + Konu
{ "tags": ["synapse", "deployment"] }
{ "tags": ["synapse", "auth"] }
{ "tags": ["synapse-mcp", "tools"] }Arama: ?tag=synapse (tüm Synapse proje bellekleri)
Arama: ?tag=synapse&q=deployment (Synapse'ta dağıtım bellekleri)
Desen 2: Tip + Alan
{ "tags": ["mistake", "deployment"] }
{ "tags": ["decision", "database"] }
{ "tags": ["pattern", "auth"] }Arama: ?tag=mistake (tüm hatalar)
Arama: ?tag=mistake&q=deployment (dağıtım hataları)
Desen 3: Hiyerarşik
Bir proje içindeki alt projeler için:
{ "tags": ["synapse", "synapse-docs", "markdown"] }
{ "tags": ["synapse", "synapse-mcp", "mcp"] }
{ "tags": ["synapse", "synapse-admin", "ui"] }Arama: ?tag=synapse (tüm Synapse)
Arama: ?tag=synapse-docs (sadece docs alt projesi)
Desen 4: Durum izleme
// Active project
{ "tags": ["synapse", "active"], "priority": "high" }
// Completed project
{ "tags": ["synapse-v1", "completed"], "priority": "low" }
// Blocked
{ "tags": ["synapse-v2", "blocked"], "priority": "high" }Yaygın Kullanım Senaryoları
Bir proje hakkındaki tüm kararları bul
curl -H "Authorization: Bearer $KEY" \
".../memory/search?q=decision&tag=synapse"Bir alandaki tüm hataları bul
curl -H "Authorization: Bearer $KEY" \
".../memory/search?q=mistake&tag=deployment"Aktif çalışmayı bul
curl -H "Authorization: Bearer $KEY" \
".../memory/by-tag?tag=active"Bir teknoloji hakkındaki bellekleri bul
curl -H "Authorization: Bearer $KEY" \
".../memory/search?q=postgres+performance&tag=database"Etiket Bakımı
Periyodik inceleme
# Find rarely-used tags (candidates for cleanup)
tags = requests.get(f"{URL}/memory/tags",
headers={"Authorization": f"Bearer {KEY}"}).json()
for tag, count in tags.items():
if count < 2:
print(f"Rare tag: {tag} ({count} memories)")Etiketleri birleştirme
Tutarsız etiketleriniz varsa (docker ve Docker), bunları birleştirin:
# Find all memories with "Docker" tag
mems = requests.get(f"{URL}/memory/by-tag?tag=Docker",
headers={"Authorization": f"Bearer {KEY}"}).json()
# Update each to use "docker" instead
for mem in mems["results"]:
tags = [t.lower() for t in mem["tags"]]
update_memory(mem["id"], tags=list(set(tags)))