{"title":"Найкращі практики роботи з пам'яттю","slug":"memory-best-practices","category":"guides","summary":"Як структурувати спогади для ефективного відкликання — категорії, ключі, теги, пріоритети.","audience":["human","llm"],"tags":["guide","memory","best-practices","patterns"],"difficulty":"intermediate","updated":"2026-06-27","word_count":596,"read_minutes":3,"lang":"uk","translated":true,"requested_lang":"uk","content_markdown":"\n# Найкращі практики роботи з пам'яттю\n\nТе, як ви структуруєте спогади, визначає їхню корисність. Цей посібник охоплює\nшаблони категоризації, тегування та пріоритизації спогадів, щоб LLM міг\nвідкликати правильну інформацію в потрібний момент.\n\n## Категорії: обирайте найбільш конкретну\n\n| Категорія | Для чого | Приклад |\n|----------|---------|---------|\n| `identity` | Ім'я, роль, контактна інформація | `\"user_name\": \"Michael Schäfer\"` |\n| `preference` | Подобання, антипатії, стиль роботи | `\"communication\": \"Prefers concise responses\"` |\n| `fact` | Перевірювані факти | `\"office_location\": \"Berlin, Germany\"` |\n| `project` | Статус проєкту, рішення | `\"project_synapse\": \"v1.5.0 deployed\"` |\n| `skill` | Навички користувача | `\"skill_python\": \"Advanced, 10+ years\"` |\n| `mistake` | Минулі помилки для уникнення | `\"mistake_npm_version\": \"Always bump version\"` |\n| `context` | Контекст, релевантний сесії | `\"current_focus\": \"Working on docs system\"` |\n| `note` | Різні нотатки | `\"note_idea\": \"Try Redis for caching\"` |\n\n> [!TIP]\n> У разі сумніву використовуйте `fact` для перевірюваної інформації та `note`\n> для всього іншого. Не надмірно категоризуйте — краще мати чіткий `fact`, ніж\n> заплутаний `context`.\n\n## Ключі: змістовні ідентифікатори\n\nПоле `key` — це ідентифікатор спогаду. Використовуйте змістовні, стабільні ключі:\n\n**Хороші ключі:**\n- `user_name`\n- `project_synapse_status`\n- `preference_communication_style`\n- `mistake_npm_version_bump`\n\n**Погані ключі:**\n- `mem_001` (не змістовний)\n- `temp` (не описовий)\n- `2026-06-27-note` (дата не допомагає відкликанню)\n\n### Угоди іменування ключів\n\n- `snake_case` (нижній регістр із підкресленнями)\n- Префіксуйте категорією: `preference_*`, `project_*`, `mistake_*`\n- Використовуйте описові іменники, а не дієслова\n- До 50 символів\n\n## Теги: для пошуку та фільтрації\n\nТеги забезпечують швидку фільтрацію та пошук. Додавайте 2-5 тегів на спогад:\n\n```json\n{\n  \"category\": \"project\",\n  \"key\": \"project_synapse_status\",\n  \"content\": \"Synapse v1.5.0 deployed. Next: v1.6.0 with docs system.\",\n  \"tags\": [\"synapse\", \"deployment\", \"status\", \"v1.5.0\"]\n}\n```\n\n### Шаблони тегів\n\n- **Назви проєктів**: `synapse`, `synapse-mcp`, `synapse-chat`\n- **Тем**: `deployment`, `ci`, `database`, `auth`\n- **Статусу**: `active`, `completed`, `blocked`\n- **Індикатори пріоритету**: `urgent`, `long-term`\n\n> [!NOTE]\n> Теги нечутливі до регістру. Використовуйте нижній регістр для узгодженості.\n\n## Пріоритети: будьте реалістичними\n\n| Пріоритет | Для чого | % спогадів |\n|----------|---------|---------------|\n| `critical` | Ідентичність користувача, юридична інформація, незворотні рішення | ~5% |\n| `high` | Активні проєкти, важливі уподобання | ~20% |\n| `normal` | Більшість фактів, нотаток, контексту | ~65% |\n| `low` | Ефемерне, корисно знати | ~10% |\n\n> [!WARNING]\n> Не позначайте все `critical`. Якщо все критичне, то нічого не критичне.\n> Залишайте `critical` для речей, що спричинять реальну шкоду при забуванні.\n\n## Коли зберігати, а коли ні\n\n### Завжди зберігайте\n\n- Ідентичність користувача (ім'я, email, роль)\n- Довготривалі уподобання\n- Рішення про проєкт та їх обґрунтування\n- Минулі помилки та отримані уроки\n- Зобов'язання перед користувачем\n\n### Не зберігайте\n\n- Перехідний стан (використовуйте змінні)\n- Історію розмов дослівно (це обробляє система чату)\n- Чутливі дані (паролі, API-ключі)\n- Факти, що легко вивести (поточна дата, вміст файлів)\n- Ефемерний контекст (використовуйте категорію `context` із низьким пріоритетом)\n\n## Оновлення спогадів\n\nPOST `/memory` з тією ж `category` + `key` оновлює наявний спогад:\n\n```python\n# Початкове збереження\nstore(\"project\", \"project_synapse_status\", \"v1.4.0 deployed\", priority=\"high\")\n\n# Пізніше: оновлення з тим самим ключем\nstore(\"project\", \"project_synapse_status\", \"v1.5.0 deployed. CI green.\", priority=\"high\")\n```\n\n> [!TIP]\n> Використовуйте стабільні ключі, щоб оновлювати без створення дублікатів. LLM\n> має повторно POST-нути той самий ключ при зміні інформації, а не створювати\n> нові спогади.\n\n## Життєвий цикл спогаду\n\n```\nCreate → Active → Stale → Archive → Delete\n```\n\n- **Create**: POST /memory з повним контекстом\n- **Active**: Часто відкликати, оновлювати за потреби\n- **Stale**: Ще релевантні, але не активно використовуються (знизити пріоритет?)\n- **Archive**: Встановити пріоритет `low`, зберігати для історичного довідника\n- **Delete**: DELETE /memory/:id, коли більше не релевантний\n\n### Періодичне очищення\n\n```python\n# Знайти спогади, що не оновлювалися 90 днів\nold_memories = requests.get(\n    f\"{URL}/memory/search?q=*\",\n    headers={\"Authorization\": f\"Bearer {KEY}\"}\n)\n\nfor mem in old_memories[\"results\"]:\n    if is_stale(mem, days=90):\n        # Або видалити, або знизити пріоритет\n        if is_obsolete(mem):\n            delete_memory(mem[\"id\"])\n        else:\n            update_memory(mem[\"id\"], priority=\"low\")\n```\n\n## Шаблон: успадкування спогадів\n\nДля ієрархічного контексту (проєкт → підпроєкт → завдання):\n\n```python\n# Батьківський проєкт\nstore(\"project\", \"project_synapse\", \"Main Synapse project\", \n      tags=[\"synapse\", \"parent\"], priority=\"high\")\n\n# Підпроєкт (теги пов'язують з батьком)\nstore(\"project\", \"project_synapse_docs\", \"Docs system for Synapse\",\n      tags=[\"synapse\", \"docs\", \"synapse-parent\"], priority=\"high\")\n\n# Конкретне завдання (теги пов'язують з підпроєктом)\nstore(\"project\", \"task_docs_loader\", \"Implement docs-loader.ts\",\n      tags=[\"synapse\", \"docs\", \"task\"], priority=\"normal\")\n```\n\nПотім LLM може шукати `q=synapse+docs`, щоб знайти всі пов'язані спогади.\n\n## Шаблон: журнал рішень\n\nЗберігайте рішення з обґрунтуванням, щоб LLM не переробляв їх:\n\n```python\nstore(\"fact\", \"decision_postgres_over_sqlite\",\n      \"Chose PostgreSQL over SQLite for production. Reason: concurrent writes, \"\n      \"FTS5 native support, better backup story. Date: 2026-06-15. Decided by: Michael.\",\n      tags=[\"decision\", \"database\", \"postgres\", \"sqlite\"],\n      priority=\"high\")\n```\n\n## Шаблон: уникнення помилок\n\nЗберігайте помилки зі специфічними інструкціями уникнення:\n\n```python\nstore(\"mistake\", \"mistake_forget_version_bump\",\n      \"Forgot to bump package.json version after changes. npm publish failed. \"\n      \"FIX: Always run `npm version patch` before pushing. \"\n      \"CI fails with 'version already exists' if you forget.\",\n      tags=[\"npm\", \"ci\", \"publish\", \"version\"],\n      priority=\"high\")\n```\n\n## Антишаблони для уникнення\n\n> [!WARNING]\n> - **Зберігання логів розмов** — це обробляє система чату\n> - **Зберігання цілих файлів** — використовуйте сховище скриптів або зовнішнє сховище\n> - **Зберігання ефемерного стану** — використовуйте змінні\n> - **Зберігання секретів** — використовуйте змінні середовища\n> - **Дублювання спогадів** — використовуйте стабільні ключі\n> - **Надмірне тегування** — 2-5 тегів на спогад ідеально\n> - **Усе критичне** — будьте реалістичними з пріоритетами\n\n## Наступні кроки\n\n- [Memory API](/docs/api/memory)\n- [Постійний LLM-агент](/docs/guides/persistent-llm-agent)\n- [Стратегія тегування пам'яті](/docs/llm-cookbook/memory-tagging-strategy)\n","content_html":"<h1>Найкращі практики роботи з пам&#39;яттю</h1>\n<p>Те, як ви структуруєте спогади, визначає їхню корисність. Цей посібник охоплює\nшаблони категоризації, тегування та пріоритизації спогадів, щоб LLM міг\nвідкликати правильну інформацію в потрібний момент.</p>\n<h2>Категорії: обирайте найбільш конкретну</h2>\n<table>\n<thead>\n<tr>\n<th>Категорія</th>\n<th>Для чого</th>\n<th>Приклад</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>identity</code></td>\n<td>Ім&#39;я, роль, контактна інформація</td>\n<td><code>&quot;user_name&quot;: &quot;Michael Schäfer&quot;</code></td>\n</tr>\n<tr>\n<td><code>preference</code></td>\n<td>Подобання, антипатії, стиль роботи</td>\n<td><code>&quot;communication&quot;: &quot;Prefers concise responses&quot;</code></td>\n</tr>\n<tr>\n<td><code>fact</code></td>\n<td>Перевірювані факти</td>\n<td><code>&quot;office_location&quot;: &quot;Berlin, Germany&quot;</code></td>\n</tr>\n<tr>\n<td><code>project</code></td>\n<td>Статус проєкту, рішення</td>\n<td><code>&quot;project_synapse&quot;: &quot;v1.5.0 deployed&quot;</code></td>\n</tr>\n<tr>\n<td><code>skill</code></td>\n<td>Навички користувача</td>\n<td><code>&quot;skill_python&quot;: &quot;Advanced, 10+ years&quot;</code></td>\n</tr>\n<tr>\n<td><code>mistake</code></td>\n<td>Минулі помилки для уникнення</td>\n<td><code>&quot;mistake_npm_version&quot;: &quot;Always bump version&quot;</code></td>\n</tr>\n<tr>\n<td><code>context</code></td>\n<td>Контекст, релевантний сесії</td>\n<td><code>&quot;current_focus&quot;: &quot;Working on docs system&quot;</code></td>\n</tr>\n<tr>\n<td><code>note</code></td>\n<td>Різні нотатки</td>\n<td><code>&quot;note_idea&quot;: &quot;Try Redis for caching&quot;</code></td>\n</tr>\n</tbody></table>\n<div class=\"callout callout-ok\">У разі сумніву використовуйте `fact` для перевірюваної інформації та `note`\nдля всього іншого. Не надмірно категоризуйте — краще мати чіткий `fact`, ніж\nзаплутаний `context`.</div><h2>Ключі: змістовні ідентифікатори</h2>\n<p>Поле <code>key</code> — це ідентифікатор спогаду. Використовуйте змістовні, стабільні ключі:</p>\n<p><strong>Хороші ключі:</strong></p>\n<ul>\n<li><code>user_name</code></li>\n<li><code>project_synapse_status</code></li>\n<li><code>preference_communication_style</code></li>\n<li><code>mistake_npm_version_bump</code></li>\n</ul>\n<p><strong>Погані ключі:</strong></p>\n<ul>\n<li><code>mem_001</code> (не змістовний)</li>\n<li><code>temp</code> (не описовий)</li>\n<li><code>2026-06-27-note</code> (дата не допомагає відкликанню)</li>\n</ul>\n<h3>Угоди іменування ключів</h3>\n<ul>\n<li><code>snake_case</code> (нижній регістр із підкресленнями)</li>\n<li>Префіксуйте категорією: <code>preference_*</code>, <code>project_*</code>, <code>mistake_*</code></li>\n<li>Використовуйте описові іменники, а не дієслова</li>\n<li>До 50 символів</li>\n</ul>\n<h2>Теги: для пошуку та фільтрації</h2>\n<p>Теги забезпечують швидку фільтрацію та пошук. Додавайте 2-5 тегів на спогад:</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;category&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;project&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;key&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;project_synapse_status&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;content&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Synapse v1.5.0 deployed. Next: v1.6.0 with docs system.&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;status&quot;</span><span class=\"hljs-punctuation\">,</span> <span class=\"hljs-string\">&quot;v1.5.0&quot;</span><span class=\"hljs-punctuation\">]</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h3>Шаблони тегів</h3>\n<ul>\n<li><strong>Назви проєктів</strong>: <code>synapse</code>, <code>synapse-mcp</code>, <code>synapse-chat</code></li>\n<li><strong>Тем</strong>: <code>deployment</code>, <code>ci</code>, <code>database</code>, <code>auth</code></li>\n<li><strong>Статусу</strong>: <code>active</code>, <code>completed</code>, <code>blocked</code></li>\n<li><strong>Індикатори пріоритету</strong>: <code>urgent</code>, <code>long-term</code></li>\n</ul>\n<div class=\"callout callout-note\">Теги нечутливі до регістру. Використовуйте нижній регістр для узгодженості.</div><h2>Пріоритети: будьте реалістичними</h2>\n<table>\n<thead>\n<tr>\n<th>Пріоритет</th>\n<th>Для чого</th>\n<th>% спогадів</th>\n</tr>\n</thead>\n<tbody><tr>\n<td><code>critical</code></td>\n<td>Ідентичність користувача, юридична інформація, незворотні рішення</td>\n<td>~5%</td>\n</tr>\n<tr>\n<td><code>high</code></td>\n<td>Активні проєкти, важливі уподобання</td>\n<td>~20%</td>\n</tr>\n<tr>\n<td><code>normal</code></td>\n<td>Більшість фактів, нотаток, контексту</td>\n<td>~65%</td>\n</tr>\n<tr>\n<td><code>low</code></td>\n<td>Ефемерне, корисно знати</td>\n<td>~10%</td>\n</tr>\n</tbody></table>\n<div class=\"callout callout-warn\">Не позначайте все `critical`. Якщо все критичне, то нічого не критичне.\nЗалишайте `critical` для речей, що спричинять реальну шкоду при забуванні.</div><h2>Коли зберігати, а коли ні</h2>\n<h3>Завжди зберігайте</h3>\n<ul>\n<li>Ідентичність користувача (ім&#39;я, email, роль)</li>\n<li>Довготривалі уподобання</li>\n<li>Рішення про проєкт та їх обґрунтування</li>\n<li>Минулі помилки та отримані уроки</li>\n<li>Зобов&#39;язання перед користувачем</li>\n</ul>\n<h3>Не зберігайте</h3>\n<ul>\n<li>Перехідний стан (використовуйте змінні)</li>\n<li>Історію розмов дослівно (це обробляє система чату)</li>\n<li>Чутливі дані (паролі, API-ключі)</li>\n<li>Факти, що легко вивести (поточна дата, вміст файлів)</li>\n<li>Ефемерний контекст (використовуйте категорію <code>context</code> із низьким пріоритетом)</li>\n</ul>\n<h2>Оновлення спогадів</h2>\n<p>POST <code>/memory</code> з тією ж <code>category</code> + <code>key</code> оновлює наявний спогад:</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># Початкове збереження</span>\nstore(<span class=\"hljs-string\">&quot;project&quot;</span>, <span class=\"hljs-string\">&quot;project_synapse_status&quot;</span>, <span class=\"hljs-string\">&quot;v1.4.0 deployed&quot;</span>, priority=<span class=\"hljs-string\">&quot;high&quot;</span>)\n\n<span class=\"hljs-comment\"># Пізніше: оновлення з тим самим ключем</span>\nstore(<span class=\"hljs-string\">&quot;project&quot;</span>, <span class=\"hljs-string\">&quot;project_synapse_status&quot;</span>, <span class=\"hljs-string\">&quot;v1.5.0 deployed. CI green.&quot;</span>, priority=<span class=\"hljs-string\">&quot;high&quot;</span>)</code></pre><div class=\"callout callout-ok\">Використовуйте стабільні ключі, щоб оновлювати без створення дублікатів. LLM\nмає повторно POST-нути той самий ключ при зміні інформації, а не створювати\nнові спогади.</div><h2>Життєвий цикл спогаду</h2>\n<pre><code class=\"hljs language-plaintext\">Create → Active → Stale → Archive → Delete</code></pre><ul>\n<li><strong>Create</strong>: POST /memory з повним контекстом</li>\n<li><strong>Active</strong>: Часто відкликати, оновлювати за потреби</li>\n<li><strong>Stale</strong>: Ще релевантні, але не активно використовуються (знизити пріоритет?)</li>\n<li><strong>Archive</strong>: Встановити пріоритет <code>low</code>, зберігати для історичного довідника</li>\n<li><strong>Delete</strong>: DELETE /memory/:id, коли більше не релевантний</li>\n</ul>\n<h3>Періодичне очищення</h3>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># Знайти спогади, що не оновлювалися 90 днів</span>\nold_memories = requests.get(\n    <span class=\"hljs-string\">f&quot;<span class=\"hljs-subst\">{URL}</span>/memory/search?q=*&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>}\n)\n\n<span class=\"hljs-keyword\">for</span> mem <span class=\"hljs-keyword\">in</span> old_memories[<span class=\"hljs-string\">&quot;results&quot;</span>]:\n    <span class=\"hljs-keyword\">if</span> is_stale(mem, days=<span class=\"hljs-number\">90</span>):\n        <span class=\"hljs-comment\"># Або видалити, або знизити пріоритет</span>\n        <span class=\"hljs-keyword\">if</span> is_obsolete(mem):\n            delete_memory(mem[<span class=\"hljs-string\">&quot;id&quot;</span>])\n        <span class=\"hljs-keyword\">else</span>:\n            update_memory(mem[<span class=\"hljs-string\">&quot;id&quot;</span>], priority=<span class=\"hljs-string\">&quot;low&quot;</span>)</code></pre><h2>Шаблон: успадкування спогадів</h2>\n<p>Для ієрархічного контексту (проєкт → підпроєкт → завдання):</p>\n<pre><code class=\"hljs language-python\"><span class=\"hljs-comment\"># Батьківський проєкт</span>\nstore(<span class=\"hljs-string\">&quot;project&quot;</span>, <span class=\"hljs-string\">&quot;project_synapse&quot;</span>, <span class=\"hljs-string\">&quot;Main Synapse project&quot;</span>, \n      tags=[<span class=\"hljs-string\">&quot;synapse&quot;</span>, <span class=\"hljs-string\">&quot;parent&quot;</span>], priority=<span class=\"hljs-string\">&quot;high&quot;</span>)\n\n<span class=\"hljs-comment\"># Підпроєкт (теги пов&#x27;язують з батьком)</span>\nstore(<span class=\"hljs-string\">&quot;project&quot;</span>, <span class=\"hljs-string\">&quot;project_synapse_docs&quot;</span>, <span class=\"hljs-string\">&quot;Docs system for Synapse&quot;</span>,\n      tags=[<span class=\"hljs-string\">&quot;synapse&quot;</span>, <span class=\"hljs-string\">&quot;docs&quot;</span>, <span class=\"hljs-string\">&quot;synapse-parent&quot;</span>], priority=<span class=\"hljs-string\">&quot;high&quot;</span>)\n\n<span class=\"hljs-comment\"># Конкретне завдання (теги пов&#x27;язують з підпроєктом)</span>\nstore(<span class=\"hljs-string\">&quot;project&quot;</span>, <span class=\"hljs-string\">&quot;task_docs_loader&quot;</span>, <span class=\"hljs-string\">&quot;Implement docs-loader.ts&quot;</span>,\n      tags=[<span class=\"hljs-string\">&quot;synapse&quot;</span>, <span class=\"hljs-string\">&quot;docs&quot;</span>, <span class=\"hljs-string\">&quot;task&quot;</span>], priority=<span class=\"hljs-string\">&quot;normal&quot;</span>)</code></pre><p>Потім LLM може шукати <code>q=synapse+docs</code>, щоб знайти всі пов&#39;язані спогади.</p>\n<h2>Шаблон: журнал рішень</h2>\n<p>Зберігайте рішення з обґрунтуванням, щоб LLM не переробляв їх:</p>\n<pre><code class=\"hljs language-python\">store(<span class=\"hljs-string\">&quot;fact&quot;</span>, <span class=\"hljs-string\">&quot;decision_postgres_over_sqlite&quot;</span>,\n      <span class=\"hljs-string\">&quot;Chose PostgreSQL over SQLite for production. Reason: concurrent writes, &quot;</span>\n      <span class=\"hljs-string\">&quot;FTS5 native support, better backup story. Date: 2026-06-15. Decided by: Michael.&quot;</span>,\n      tags=[<span class=\"hljs-string\">&quot;decision&quot;</span>, <span class=\"hljs-string\">&quot;database&quot;</span>, <span class=\"hljs-string\">&quot;postgres&quot;</span>, <span class=\"hljs-string\">&quot;sqlite&quot;</span>],\n      priority=<span class=\"hljs-string\">&quot;high&quot;</span>)</code></pre><h2>Шаблон: уникнення помилок</h2>\n<p>Зберігайте помилки зі специфічними інструкціями уникнення:</p>\n<pre><code class=\"hljs language-python\">store(<span class=\"hljs-string\">&quot;mistake&quot;</span>, <span class=\"hljs-string\">&quot;mistake_forget_version_bump&quot;</span>,\n      <span class=\"hljs-string\">&quot;Forgot to bump package.json version after changes. npm publish failed. &quot;</span>\n      <span class=\"hljs-string\">&quot;FIX: Always run `npm version patch` before pushing. &quot;</span>\n      <span class=\"hljs-string\">&quot;CI fails with &#x27;version already exists&#x27; if you forget.&quot;</span>,\n      tags=[<span class=\"hljs-string\">&quot;npm&quot;</span>, <span class=\"hljs-string\">&quot;ci&quot;</span>, <span class=\"hljs-string\">&quot;publish&quot;</span>, <span class=\"hljs-string\">&quot;version&quot;</span>],\n      priority=<span class=\"hljs-string\">&quot;high&quot;</span>)</code></pre><h2>Антишаблони для уникнення</h2>\n<div class=\"callout callout-warn\"></div><h2>Наступні кроки</h2>\n<ul>\n<li><a href=\"/docs/api/memory\">Memory API</a></li>\n<li><a href=\"/docs/guides/persistent-llm-agent\">Постійний LLM-агент</a></li>\n<li><a href=\"/docs/llm-cookbook/memory-tagging-strategy\">Стратегія тегування пам&#39;яті</a></li>\n</ul>\n","urls":{"html":"/docs/guides/memory-best-practices","text":"/docs/guides/memory-best-practices?format=text","json":"/docs/guides/memory-best-practices?format=json","llm":"/docs/guides/memory-best-practices?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}