# Лучшие практики работы с памятью SUMMARY: Как структурировать воспоминания для эффективного отзыва — категории, ключи, теги, приоритеты. Лучшие практики работы с памятью То, как вы структурируете воспоминания, определяет их полезность. Это руководство описывает паттерны категоризации, тегирования и приоритизации, чтобы LLM мог отзывать нужную информацию в нужное время. Категории: выбирайте наиболее конкретную | Категория | Использовать для | Пример | |----------|---------|---------| | | Имя пользователя, роль, контакты | | | | Симпатии, антипатии, стиль работы | | | | Проверяемые факты | | | | Статус проекта, решения | | | | Навыки пользователя | | | | Прошлые ошибки для избегания | | | | Контекст сессии | | | | Прочие заметки | | > [!TIP] > При сомнениях используйте для проверяемой информации и для всего > остального. Не перегружайте категориями — лучше иметь чёткий , чем > запутанный . Ключи: значимые идентификаторы Поле — идентификатор воспоминания. Используйте значимые, стабильные ключи: Хорошие ключи: - - - - Плохие ключи: - (не значимый) - (не описательный) - (дата не помогает отзыву) Соглашения по именованию ключей - (нижний регистр с подчёркиваниями) - Префикс с категорией: , , - Используйте описательные существительные, не глаголы - Длина до 50 символов Теги: для поиска и фильтрации Теги обеспечивают быструю фильтрацию и поиск. Добавляйте 2–5 тегов на воспоминание: [CODE BLOCK] Паттерны тегов - Имена проектов: , , - Темы: , , , - Статус: , , - Индикаторы приоритета: , > [!NOTE] > Теги нечувствительны к регистру. Используйте нижний регистр для единообразия. Приоритеты: будьте реалистичны | Приоритет | Использовать для | % воспоминаний | |----------|---------|---------------| | | Идентичность пользователя, юридическая информация, необратимые решения | 5% | | | Активные проекты, важные предпочтения | 20% | | | Большинство фактов, заметок, контекста | 65% | | | Эфемерное, желательно знать | 10% | > [!WARNING] > Не помечайте всё как . Если всё критично — ничего не критично. > Резервируйте для того, что нанесёт реальный вред при забывании. Когда сохранять, а когда нет Всегда сохранять - Идентичность пользователя (имя, email, роль) - Долгосрочные предпочтения - Решения по проектам и их обоснование - Прошлые ошибки и извлечённые уроки - Обязательства перед пользователем Не сохранять - Переходящее состояние (используйте переменные) - Дословную историю разговоров (это делает система чата) - Чувствительные данные (пароли, API-ключи) - Легко выводимые факты (текущая дата, содержимое файлов) - Эфемерный контекст (используйте категорию с низким приоритетом) Обновление воспоминаний POST с теми же + обновляет существующее воспоминание: [CODE BLOCK] > [!TIP] > Используйте стабильные ключи, чтобы обновлять без создания дубликатов. LLM > должен повторно POST с тем же ключом при изменении информации, а не создавать > новые воспоминания. Жизненный цикл памяти [CODE BLOCK] - Create: POST /memory с полным контекстом - Active: Частый отзыв, обновление по необходимости - Stale: Ещё актуально, но не активно используется (понизить приоритет?) - Archive: Установить приоритет , хранить для истории - Delete: DELETE /memory/:id, когда больше не актуально Периодическая очистка [CODE BLOCK] Паттерн: наследование памяти Для иерархического контекста (проект → подпроект → задача): [CODE BLOCK] LLM затем может искать , чтобы найти все связанные воспоминания. Паттерн: журнал решений Сохраняйте решения с обоснованием, чтобы LLM не переоспаривал их: [CODE BLOCK] Паттерн: избегание ошибок Сохраняйте ошибки с конкретными инструкциями по избеганию: [CODE BLOCK] Антипаттерны, которых стоит избегать > [!WARNING] > - Хранение логов разговоров — это делает система чата > - Хранение файлов целиком — используйте хранилище скриптов или внешнее хранилище > - Хранение эфемерного состояния — используйте переменные > - Хранение секретов — используйте переменные окружения > - Дублирование воспоминаний — используйте стабильные ключи > - Перетегирование — 2–5 тегов на воспоминание оптимально > - Всё критично — будьте реалистичны с приоритетами Следующие шаги - Memory API - Постоянный LLM-агент - Стратегия тегирования памяти