Skip to main content

Chiến lược gắn tag bộ nhớ

Cách gắn tag bộ nhớ cho tìm kiếm và lọc hiệu quả — hệ thống tag có khả năng mở rộng.


Chiến lược gắn tag bộ nhớ

Tag là bí mật cho thu hồi bộ nhớ có khả năng mở rộng. Hướng dẫn này cho thấy cách gắn tag bộ nhớ để đúng cái quay lại đúng thời điểm.

Tại sao Tag quan trọng

Không có tag, bạn có tìm kiếm toàn văn phẳng. Với tag, bạn có điều hướng có cấu trúc:

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

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

Tag cho phép:

  • Lọc nhanhGET /memory/by-tag?tag=production
  • Tìm kiếm phạm vi?q=auth&tag=project-x
  • Nhóm — tìm tất cả bộ nhớ "mistake" cho một dự án
  • Tham chiếu chéo — bộ nhớ chia sẻ tag liên quan

Lược đồ tag

Tag dự án

Sử dụng tên dự án làm tag:

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

Tag công nghệ

Sử dụng tên công nghệ:

docker, kubernetes, postgres, fastify, react, typescript

Tag chủ đề

Sử dụng danh mục chủ đề:

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

Tag trạng thái

Sử dụng chỉ báo trạng thái:

active, completed, blocked, deprecated

Tag loại

Sử dụng chỉ báo loại:

decision, mistake, pattern, reference, todo

Quy tắc tag

Quy tắc 1: 2-5 tag mỗi bộ nhớ

Quá ít tag = khả năng khám phá kém. Quá nhiều = nhiễu.

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

Quy tắc 2: Chữ thường, gạch nối

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

Quy tắc 3: Sử dụng từ vựng nhất quán

Thiết lập từ vựng tag và bám sát nó:

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

# NOT: synapse_project, synapseProject, SYNAPSE

Quy tắc 4: Gắn tag với ý định tìm kiếm

Hỏi: "Làm thế nào tôi sẽ tìm kiếm bộ nhớ này?"

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

Mẫu

Mẫu 1: Dự án + Chủ đề

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

Tìm: ?tag=synapse (tất cả bộ nhớ dự án Synapse) Tìm: ?tag=synapse&q=deployment (bộ nhớ deployment trong Synapse)

Mẫu 2: Loại + Lĩnh vực

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

Tìm: ?tag=mistake (tất cả lỗi) Tìm: ?tag=mistake&q=deployment (lỗi deployment)

Mẫu 3: Phân cấp

Cho dự án con trong một dự án:

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

Tìm: ?tag=synapse (tất cả Synapse) Tìm: ?tag=synapse-docs (chỉ dự án con docs)

Mẫu 4: Theo dõi trạng thái

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

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

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

Trường hợp sử dụng phổ biến

Tìm tất cả quyết định về một dự án

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

Tìm tất cả lỗi trong một lĩnh vực

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

Tìm công việc đang hoạt động

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

Tìm bộ nhớ về một công nghệ

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

Bảo trì tag

Xem xét định kỳ

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

Hợp nhất tag

Nếu bạn có tag không nhất quán (dockerDocker), hợp nhất chúng:

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

Thực hành tốt nhất

Bước tiếp theo