Skip to main content

Memory-tagging-strategie

Hoe u herinneringen tagt voor effectief zoeken en filteren — het tagging-systeem dat schaalt.


Memory-tagging-strategie

Tags zijn het geheim van schaalbare memory-retrieval. Deze handleiding laat zien hoe u herinneringen tagt zodat de juiste op het juiste moment terugkomen.

Waarom tags belangrijk zijn

Zonder tags heeft u platte volledige-tekst zoekopdracht. Met tags heeft u gestructureerde navigatie:

# Without tags: search everything
GET /memory/search?q=docker

# With tags: filter by project + technology
GET /memory/search?q=deployment&tag=synapse&tag=docker

Tags maken mogelijk:

  • Snelle filteringGET /memory/by-tag?tag=production
  • Gescoped zoeken?q=auth&tag=project-x
  • Groepering — vind alle "mistake"-herinneringen voor een project
  • Kruisverwijzingen — herinneringen die tags delen zijn gerelateerd

Tagging-schema

Project-tags

Gebruik projectnamen als tags:

synapse, synapse-mcp, synapse-chat, synapse-sdk

Technologie-tags

Gebruik technologienamen:

docker, kubernetes, postgres, fastify, react, typescript

Onderwerp-tags

Gebruik onderwerpcategorieën:

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

Status-tags

Gebruik statusindicatoren:

active, completed, blocked, deprecated

Type-tags

Gebruik type-indicatoren:

decision, mistake, pattern, reference, todo

Tagging-regels

Regel 1: 2-5 tags per herinnering

Te weinig tags = slechte vindbaarheid. Te veel = ruis.

// 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"] }

Regel 2: Kleine letters, met koppeltekens

✅ ci-cd, api-key, mind-key
❌ CI-CD, APIKey, MindKey

Regel 3: Gebruik consistente woordenschat

Stel een tagging-woordenschat op en houd u eraan:

# Project vocabulary
synapse, synapse-mcp, synapse-chat

# NOT: synapse_project, synapseProject, SYNAPSE

Regel 4: Tag met zoek-intentie

Vraag: "Hoe zal ik naar deze herinnering zoeken?"

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

Patronen

Patroon 1: Project + onderwerp

{ "tags": ["synapse", "deployment"] }
{ "tags": ["synapse", "auth"] }
{ "tags": ["synapse-mcp", "tools"] }

Zoek: ?tag=synapse (alle Synapse-project-herinneringen) Zoek: ?tag=synapse&q=deployment (deployment-herinneringen in Synapse)

Patroon 2: Type + domein

{ "tags": ["mistake", "deployment"] }
{ "tags": ["decision", "database"] }
{ "tags": ["pattern", "auth"] }

Zoek: ?tag=mistake (alle fouten) Zoek: ?tag=mistake&q=deployment (deployment-fouten)

Patroon 3: Hiërarchisch

Voor sub-projecten binnen een project:

{ "tags": ["synapse", "synapse-docs", "markdown"] }
{ "tags": ["synapse", "synapse-mcp", "mcp"] }
{ "tags": ["synapse", "synapse-admin", "ui"] }

Zoek: ?tag=synapse (alle Synapse) Zoek: ?tag=synapse-docs (alleen docs-sub-project)

Patroon 4: Status-tracking

// Active project
{ "tags": ["synapse", "active"], "priority": "high" }

// Completed project
{ "tags": ["synapse-v1", "completed"], "priority": "low" }

// Blocked
{ "tags": ["synapse-v2", "blocked"], "priority": "high" }

Veelvoorkomende toepassingen

Vind alle beslissingen over een project

curl -H "Authorization: Bearer $KEY" \
     ".../memory/search?q=decision&tag=synapse"

Vind alle fouten in een domein

curl -H "Authorization: Bearer $KEY" \
     ".../memory/search?q=mistake&tag=deployment"

Vind actief werk

curl -H "Authorization: Bearer $KEY" \
     ".../memory/by-tag?tag=active"

Vind herinneringen over een technologie

curl -H "Authorization: Bearer $KEY" \
     ".../memory/search?q=postgres+performance&tag=database"

Tag-onderhoud

Periodieke review

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

Tags samenvoegen

Als u inconsistente tags heeft (docker en Docker), voeg ze samen:

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

Best practices

Volgende stappen