Skip to main content

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=docker

Etiketler şunları sağlar:

  • Hızlı filtrelemeGET /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-sdk

Teknoloji etiketleri

Teknoloji adları kullanın:

docker, kubernetes, postgres, fastify, react, typescript

Konu etiketleri

Konu kategorileri kullanın:

deployment, ci-cd, auth, database, frontend, backend, security

Durum etiketleri

Durum göstergeleri kullanın:

active, completed, blocked, deprecated

Tip etiketleri

Tip göstergeleri kullanın:

decision, mistake, pattern, reference, todo

Etiketleme 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, MindKey

Kural 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, SYNAPSE

Kural 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=deployment

Desenler

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)))

En İyi Uygulamalar

Sonraki Adımlar