{"title":"Chiến lược gắn tag bộ nhớ","slug":"memory-tagging-strategy","category":"llm-cookbook","summary":"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.","audience":["llm"],"tags":["cookbook","tagging","memory","strategy"],"difficulty":"intermediate","updated":"2026-06-27","word_count":480,"read_minutes":2,"lang":"vi","translated":true,"requested_lang":"vi","content_markdown":"\n# Chiến lược gắn tag bộ nhớ\n\nTag 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\ncách gắn tag bộ nhớ để đúng cái quay lại đúng thời điểm.\n\n## Tại sao Tag quan trọng\n\nKhô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ó\ncấu trúc:\n\n```bash\n# Without tags: search everything\nGET /memory/search?q=docker\n\n# With tags: filter by project + technology\nGET /memory/search?q=deployment&tag=synapse&tag=docker\n```\n\nTag cho phép:\n\n- **Lọc nhanh** — `GET /memory/by-tag?tag=production`\n- **Tìm kiếm phạm vi** — `?q=auth&tag=project-x`\n- **Nhóm** — tìm tất cả bộ nhớ \"mistake\" cho một dự án\n- **Tham chiếu chéo** — bộ nhớ chia sẻ tag liên quan\n\n## Lược đồ tag\n\n### Tag dự án\n\nSử dụng tên dự án làm tag:\n\n```\nsynapse, synapse-mcp, synapse-chat, synapse-sdk\n```\n\n### Tag công nghệ\n\nSử dụng tên công nghệ:\n\n```\ndocker, kubernetes, postgres, fastify, react, typescript\n```\n\n### Tag chủ đề\n\nSử dụng danh mục chủ đề:\n\n```\ndeployment, ci-cd, auth, database, frontend, backend, security\n```\n\n### Tag trạng thái\n\nSử dụng chỉ báo trạng thái:\n\n```\nactive, completed, blocked, deprecated\n```\n\n### Tag loại\n\nSử dụng chỉ báo loại:\n\n```\ndecision, mistake, pattern, reference, todo\n```\n\n## Quy tắc tag\n\n### Quy tắc 1: 2-5 tag mỗi bộ nhớ\n\nQuá ít tag = khả năng khám phá kém. Quá nhiều = nhiễu.\n\n```json\n// Good: 3 relevant tags\n{ \"tags\": [\"synapse\", \"deployment\", \"docker\"] }\n\n// Bad: 1 tag (too narrow)\n{ \"tags\": [\"synapse\"] }\n\n// Bad: 10 tags (noise)\n{ \"tags\": [\"synapse\", \"deployment\", \"docker\", \"vps1\", \"2026\", \"june\", \"ssh\", \"git\", \"main\", \"production\"] }\n```\n\n### Quy tắc 2: Chữ thường, gạch nối\n\n```\n✅ ci-cd, api-key, mind-key\n❌ CI-CD, APIKey, MindKey\n```\n\n### Quy tắc 3: Sử dụng từ vựng nhất quán\n\nThiết lập từ vựng tag và bám sát nó:\n\n```\n# Project vocabulary\nsynapse, synapse-mcp, synapse-chat\n\n# NOT: synapse_project, synapseProject, SYNAPSE\n```\n\n### Quy tắc 4: Gắn tag với ý định tìm kiếm\n\nHỏi: \"Làm thế nào tôi sẽ tìm kiếm bộ nhớ này?\"\n\n```json\n// Storing a deployment decision\n{\n  \"content\": \"Decided to use Docker Swarm for Synapse deployment\",\n  \"tags\": [\"synapse\", \"deployment\", \"docker\", \"swarm\", \"decision\"]\n}\n\n// You'll likely search: ?q=docker+swarm or ?tag=deployment\n```\n\n## Mẫu\n\n### Mẫu 1: Dự án + Chủ đề\n\n```json\n{ \"tags\": [\"synapse\", \"deployment\"] }\n{ \"tags\": [\"synapse\", \"auth\"] }\n{ \"tags\": [\"synapse-mcp\", \"tools\"] }\n```\n\nTìm: `?tag=synapse` (tất cả bộ nhớ dự án Synapse)\nTìm: `?tag=synapse&q=deployment` (bộ nhớ deployment trong Synapse)\n\n### Mẫu 2: Loại + Lĩnh vực\n\n```json\n{ \"tags\": [\"mistake\", \"deployment\"] }\n{ \"tags\": [\"decision\", \"database\"] }\n{ \"tags\": [\"pattern\", \"auth\"] }\n```\n\nTìm: `?tag=mistake` (tất cả lỗi)\nTìm: `?tag=mistake&q=deployment` (lỗi deployment)\n\n### Mẫu 3: Phân cấp\n\nCho dự án con trong một dự án:\n\n```json\n{ \"tags\": [\"synapse\", \"synapse-docs\", \"markdown\"] }\n{ \"tags\": [\"synapse\", \"synapse-mcp\", \"mcp\"] }\n{ \"tags\": [\"synapse\", \"synapse-admin\", \"ui\"] }\n```\n\nTìm: `?tag=synapse` (tất cả Synapse)\nTìm: `?tag=synapse-docs` (chỉ dự án con docs)\n\n### Mẫu 4: Theo dõi trạng thái\n\n```json\n// Active project\n{ \"tags\": [\"synapse\", \"active\"], \"priority\": \"high\" }\n\n// Completed project\n{ \"tags\": [\"synapse-v1\", \"completed\"], \"priority\": \"low\" }\n\n// Blocked\n{ \"tags\": [\"synapse-v2\", \"blocked\"], \"priority\": \"high\" }\n```\n\n## Trường hợp sử dụng phổ biến\n\n### Tìm tất cả quyết định về một dự án\n\n```bash\ncurl -H \"Authorization: Bearer $KEY\" \\\n     \".../memory/search?q=decision&tag=synapse\"\n```\n\n### Tìm tất cả lỗi trong một lĩnh vực\n\n```bash\ncurl -H \"Authorization: Bearer $KEY\" \\\n     \".../memory/search?q=mistake&tag=deployment\"\n```\n\n### Tìm công việc đang hoạt động\n\n```bash\ncurl -H \"Authorization: Bearer $KEY\" \\\n     \".../memory/by-tag?tag=active\"\n```\n\n### Tìm bộ nhớ về một công nghệ\n\n```bash\ncurl -H \"Authorization: Bearer $KEY\" \\\n     \".../memory/search?q=postgres+performance&tag=database\"\n```\n\n## Bảo trì tag\n\n### Xem xét định kỳ\n\n```python\n# Find rarely-used tags (candidates for cleanup)\ntags = requests.get(f\"{URL}/memory/tags\",\n    headers={\"Authorization\": f\"Bearer {KEY}\"}).json()\n\nfor tag, count in tags.items():\n    if count < 2:\n        print(f\"Rare tag: {tag} ({count} memories)\")\n```\n\n### Hợp nhất tag\n\nNếu bạn có tag không nhất quán (`docker` và `Docker`), hợp nhất chúng:\n\n```python\n# Find all memories with \"Docker\" tag\nmems = requests.get(f\"{URL}/memory/by-tag?tag=Docker\",\n    headers={\"Authorization\": f\"Bearer {KEY}\"}).json()\n\n# Update each to use \"docker\" instead\nfor mem in mems[\"results\"]:\n    tags = [t.lower() for t in mem[\"tags\"]]\n    update_memory(mem[\"id\"], tags=list(set(tags)))\n```\n\n## Thực hành tốt nhất\n\n> [!TIP]\n> - **Thiết lập từ vựng sớm** — tag nhất quán từ ngày 1\n> - **Gắn tag với ý định tìm kiếm** — làm thế nào bạn sẽ tìm cái này sau?\n> - **2-5 tag là điểm ngọt** — quá ít hoặc quá nhiều là xấu\n> - **Chữ thường + gạch nối** — `ci-cd` không phải `CI/CD`\n> - **Xem xét định kỳ** — hợp nhất trùng lặp, xóa không sử dụng\n\n## Bước tiếp theo\n\n- [Thực hành tốt nhất về bộ nhớ](/docs/guides/memory-best-practices)\n- [Tìm kiếm FTS5](/docs/concepts/fts5-search)\n- [Quy trình điều khiển bởi tác vụ](/docs/llm-cookbook/task-driven-workflow)\n","content_html":"<h1>Chiến lược gắn tag bộ nhớ</h1>\n<p>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\ncách gắn tag bộ nhớ để đúng cái quay lại đúng thời điểm.</p>\n<h2>Tại sao Tag quan trọng</h2>\n<p>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ó\ncấu trúc:</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># Without tags: search everything</span>\nGET /memory/search?q=docker\n\n<span class=\"hljs-comment\"># With tags: filter by project + technology</span>\nGET /memory/search?q=deployment&amp;tag=synapse&amp;tag=docker</code></pre><p>Tag cho phép:</p>\n<ul>\n<li><strong>Lọc nhanh</strong> — <code>GET /memory/by-tag?tag=production</code></li>\n<li><strong>Tìm kiếm phạm vi</strong> — <code>?q=auth&amp;tag=project-x</code></li>\n<li><strong>Nhóm</strong> — tìm tất cả bộ nhớ &quot;mistake&quot; cho một dự án</li>\n<li><strong>Tham chiếu chéo</strong> — bộ nhớ chia sẻ tag liên quan</li>\n</ul>\n<h2>Lược đồ tag</h2>\n<h3>Tag dự án</h3>\n<p>Sử dụng tên dự án làm tag:</p>\n<pre><code class=\"hljs language-plaintext\">synapse, synapse-mcp, synapse-chat, synapse-sdk</code></pre><h3>Tag công nghệ</h3>\n<p>Sử dụng tên công nghệ:</p>\n<pre><code class=\"hljs language-plaintext\">docker, kubernetes, postgres, fastify, react, typescript</code></pre><h3>Tag chủ đề</h3>\n<p>Sử dụng danh mục chủ đề:</p>\n<pre><code class=\"hljs language-plaintext\">deployment, ci-cd, auth, database, frontend, backend, security</code></pre><h3>Tag trạng thái</h3>\n<p>Sử dụng chỉ báo trạng thái:</p>\n<pre><code class=\"hljs language-plaintext\">active, completed, blocked, deprecated</code></pre><h3>Tag loại</h3>\n<p>Sử dụng chỉ báo loại:</p>\n<pre><code class=\"hljs language-plaintext\">decision, mistake, pattern, reference, todo</code></pre><h2>Quy tắc tag</h2>\n<h3>Quy tắc 1: 2-5 tag mỗi bộ nhớ</h3>\n<p>Quá ít tag = khả năng khám phá kém. Quá nhiều = nhiễu.</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-comment\">// Good: 3 relevant tags</span>\n<span class=\"hljs-punctuation\">{</span> <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;docker&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span>\n\n<span class=\"hljs-comment\">// Bad: 1 tag (too narrow)</span>\n<span class=\"hljs-punctuation\">{</span> <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-punctuation\">}</span>\n\n<span class=\"hljs-comment\">// Bad: 10 tags (noise)</span>\n<span class=\"hljs-punctuation\">{</span> <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;docker&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;vps1&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;2026&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;june&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;ssh&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;git&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;main&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;production&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span></code></pre><h3>Quy tắc 2: Chữ thường, gạch nối</h3>\n<pre><code class=\"hljs language-plaintext\">✅ ci-cd, api-key, mind-key\n❌ CI-CD, APIKey, MindKey</code></pre><h3>Quy tắc 3: Sử dụng từ vựng nhất quán</h3>\n<p>Thiết lập từ vựng tag và bám sát nó:</p>\n<pre><code class=\"hljs language-plaintext\"># Project vocabulary\nsynapse, synapse-mcp, synapse-chat\n\n# NOT: synapse_project, synapseProject, SYNAPSE</code></pre><h3>Quy tắc 4: Gắn tag với ý định tìm kiếm</h3>\n<p>Hỏi: &quot;Làm thế nào tôi sẽ tìm kiếm bộ nhớ này?&quot;</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-comment\">// Storing a deployment decision</span>\n<span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;content&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Decided to use Docker Swarm for Synapse deployment&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;docker&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;swarm&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;decision&quot;</span><span class=\"hljs-punctuation\">]</span>\n<span class=\"hljs-punctuation\">}</span>\n\n<span class=\"hljs-comment\">// You&#x27;ll likely search: ?q=docker+swarm or ?tag=deployment</span></code></pre><h2>Mẫu</h2>\n<h3>Mẫu 1: Dự án + Chủ đề</h3>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span> <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-punctuation\">}</span>\n<span class=\"hljs-punctuation\">{</span> <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;auth&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span>\n<span class=\"hljs-punctuation\">{</span> <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;synapse-mcp&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;tools&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span></code></pre><p>Tìm: <code>?tag=synapse</code> (tất cả bộ nhớ dự án Synapse)\nTìm: <code>?tag=synapse&amp;q=deployment</code> (bộ nhớ deployment trong Synapse)</p>\n<h3>Mẫu 2: Loại + Lĩnh vực</h3>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span> <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;mistake&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;deployment&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span>\n<span class=\"hljs-punctuation\">{</span> <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;decision&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;database&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span>\n<span class=\"hljs-punctuation\">{</span> <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;pattern&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;auth&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span></code></pre><p>Tìm: <code>?tag=mistake</code> (tất cả lỗi)\nTìm: <code>?tag=mistake&amp;q=deployment</code> (lỗi deployment)</p>\n<h3>Mẫu 3: Phân cấp</h3>\n<p>Cho dự án con trong một dự án:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span> <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;synapse-docs&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;markdown&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span>\n<span class=\"hljs-punctuation\">{</span> <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;synapse-mcp&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;mcp&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span>\n<span class=\"hljs-punctuation\">{</span> <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;synapse-admin&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;ui&quot;</span><span class=\"hljs-punctuation\">]</span> <span class=\"hljs-punctuation\">}</span></code></pre><p>Tìm: <code>?tag=synapse</code> (tất cả Synapse)\nTìm: <code>?tag=synapse-docs</code> (chỉ dự án con docs)</p>\n<h3>Mẫu 4: Theo dõi trạng thái</h3>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-comment\">// Active project</span>\n<span class=\"hljs-punctuation\">{</span> <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;active&quot;</span><span class=\"hljs-punctuation\">]</span><span class=\"hljs-punctuation\">,</span> <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\n<span class=\"hljs-comment\">// Completed project</span>\n<span class=\"hljs-punctuation\">{</span> <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;synapse-v1&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;completed&quot;</span><span class=\"hljs-punctuation\">]</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-attr\">&quot;priority&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;low&quot;</span> <span class=\"hljs-punctuation\">}</span>\n\n<span class=\"hljs-comment\">// Blocked</span>\n<span class=\"hljs-punctuation\">{</span> <span class=\"hljs-attr\">&quot;tags&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-punctuation\">[</span><span class=\"hljs-string\">&quot;synapse-v2&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;blocked&quot;</span><span class=\"hljs-punctuation\">]</span><span class=\"hljs-punctuation\">,</span> <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></code></pre><h2>Trường hợp sử dụng phổ biến</h2>\n<h3>Tìm tất cả quyết định về một dự án</h3>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$KEY</span>&quot;</span> \\\n     <span class=\"hljs-string\">&quot;.../memory/search?q=decision&amp;tag=synapse&quot;</span></code></pre><h3>Tìm tất cả lỗi trong một lĩnh vực</h3>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$KEY</span>&quot;</span> \\\n     <span class=\"hljs-string\">&quot;.../memory/search?q=mistake&amp;tag=deployment&quot;</span></code></pre><h3>Tìm công việc đang hoạt động</h3>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$KEY</span>&quot;</span> \\\n     <span class=\"hljs-string\">&quot;.../memory/by-tag?tag=active&quot;</span></code></pre><h3>Tìm bộ nhớ về một công nghệ</h3>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer <span class=\"hljs-variable\">$KEY</span>&quot;</span> \\\n     <span class=\"hljs-string\">&quot;.../memory/search?q=postgres+performance&amp;tag=database&quot;</span></code></pre><h2>Bảo trì tag</h2>\n<h3>Xem xét định kỳ</h3>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># Find rarely-used tags (candidates for cleanup)</span>\ntags = requests.get(<span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/memory/tags&quot;</span>,\n    headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{KEY}</span>&quot;</span>}).json()\n\n<span class=\"hljs-keyword\">for</span> tag, count <span class=\"hljs-keyword\">in</span> tags.items():\n    <span class=\"hljs-keyword\">if</span> count &lt; <span class=\"hljs-number\">2</span>:\n        <span class=\"hljs-built_in\">print</span>(<span class=\"hljs-string\">f&quot;Rare tag: <span class=\"hljs-subst\">{tag}</span> (<span class=\"hljs-subst\">{count}</span> memories)&quot;</span>)</code></pre><h3>Hợp nhất tag</h3>\n<p>Nếu bạn có tag không nhất quán (<code>docker</code> và <code>Docker</code>), hợp nhất chúng:</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># Find all memories with &quot;Docker&quot; tag</span>\nmems = requests.get(<span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/memory/by-tag?tag=Docker&quot;</span>,\n    headers={<span class=\"hljs-string\">&quot;Authorization&quot;</span>: <span class=\"hljs-string\">f&quot;Bearer <span class=\"hljs-subst\">{KEY}</span>&quot;</span>}).json()\n\n<span class=\"hljs-comment\"># Update each to use &quot;docker&quot; instead</span>\n<span class=\"hljs-keyword\">for</span> mem <span class=\"hljs-keyword\">in</span> mems[<span class=\"hljs-string\">&quot;results&quot;</span>]:\n    tags = [t.lower() <span class=\"hljs-keyword\">for</span> t <span class=\"hljs-keyword\">in</span> mem[<span class=\"hljs-string\">&quot;tags&quot;</span>]]\n    update_memory(mem[<span class=\"hljs-string\">&quot;id&quot;</span>], tags=<span class=\"hljs-built_in\">list</span>(<span class=\"hljs-built_in\">set</span>(tags)))</code></pre><h2>Thực hành tốt nhất</h2>\n<div class=\"callout callout-ok\"></div><h2>Bước tiếp theo</h2>\n<ul>\n<li><a href=\"/docs/guides/memory-best-practices\">Thực hành tốt nhất về bộ nhớ</a></li>\n<li><a href=\"/docs/concepts/fts5-search\">Tìm kiếm FTS5</a></li>\n<li><a href=\"/docs/llm-cookbook/task-driven-workflow\">Quy trình điều khiển bởi tác vụ</a></li>\n</ul>\n","urls":{"html":"/docs/llm-cookbook/memory-tagging-strategy","text":"/docs/llm-cookbook/memory-tagging-strategy?format=text","json":"/docs/llm-cookbook/memory-tagging-strategy?format=json","llm":"/docs/llm-cookbook/memory-tagging-strategy?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}