Учебник 20: Постоянная память — Долгосрочная память
Учебник 20: Постоянная память — Долгосрочная память — простое для понимания руководство на основе официальных документов
Это часть официальной серии руководств Hermes Agent. Смотреть все руководства
Представьте, что это стикер на вашем рабочем столе: Hermes Agent записывает важную информацию о вас и ваших проектах, чтобы не забывать её между разговорами. Больше не нужно повторять одно и то же каждый раз, когда вы начинаете новый чат.
Что делает постоянная память?
Обычно ИИ-агент начинает каждую сессию с чистого листа — он забывает всё, как только разговор заканчивается. Постоянная память меняет это. Hermes Agent хранит два небольших текстовых файла на вашем компьютере. Он читает их в начале каждой сессии, поэтому мгновенно вспоминает ваши предпочтения, детали проектов и всё остальное, чему вы его научили.
Шаг 1: Знакомство с двумя файлами памяти
Память агента хранится в двух файлах, расположенных в ~/.hermes/memories/:
| Файл | Что хранит | Лимит размера |
|---|---|---|
| MEMORY.md | Личные заметки агента — факты об окружении, договорённости, усвоенные вещи | 2 200 символов (~800 токенов) |
| USER.md | Ваш профиль — предпочтения, стиль общения, ожидания | 1 375 символов (~500 токенов) |
Лимиты установлены намеренно. Они заставляют агента сохранять только самое важное — как в хорошо организованном блокноте, а не в беспорядочном ящике.
Шаг 2: Как память выглядит в промпте
В начале каждой сессии агент загружает оба файла и показывает их как замороженный снимок в своём системном промпте. Вот пример того, что «видит» агент:
══════════════════════════════════════════════
ПАМЯТЬ (ваши личные заметки) [67% — 1 474/2 200 симв.]
══════════════════════════════════════════════
Проект пользователя — веб-сервис на Rust в ~/code/myapi с использованием Axum + SQLx
§
На этой машине установлен Ubuntu 22.04, есть Docker и Podman
§
Пользователь предпочитает краткие ответы, не любит многословных объяснений
Обратите внимание на детали:
- Заголовок, показывающий, что это за хранилище (ПАМЯТЬ или ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ)
- Процент использования и количество символов — чтобы агент знал, сколько места осталось
- Записи разделены символом
§(знак параграфа) - Записи могут быть многострочными
Важно: Этот снимок создаётся один раз в начале сессии и не меняется в течение всего разговора. Если агент обновляет свою память во время общения, изменения сразу сохраняются на диск, но не появятся в промпте до следующей сессии. Это обеспечивает скорость работы, сохраняя кэш модели.
Шаг 3: Агент сам управляет своей памятью
Агент использует инструмент под названием memory с тремя действиями:
- add — Добавить новую запись в память
- replace — Заменить существующую запись (использует поиск по подстроке с
old_text) - remove — Удалить запись, которая больше не актуальна (также использует
old_text)
Действия read нет, потому что память уже встроена в промпт — агент всегда её видит.
Вот простой пример того, как агент может использовать этот инструмент:
memory action=add content="Пользователь предпочитает маркированные списки, а не абзацы"
Или замена старого предпочтения:
memory action=replace old_text="Пользователь предпочитает краткие ответы" new_text="Пользователь предпочитает ответы в одну строку с эмодзи"
Шаг 4: Что происходит, когда память заполнена?
Память не сжимается автоматически. Когда запись превышает лимит, инструмент memory возвращает ошибку, а не молча отбрасывает записи. Затем агент сам освобождает место — объединяя или удаляя записи в том же ходе, прежде чем повторить попытку.
Также обратите внимание: replace тоже ограничен лимитом. Замена записи на более длинную может привести к переполнению, поэтому новый текст нужно сократить (или удалить другую запись), чтобы всё поместилось.
Шаг 5: Один агент на один домашний каталог Hermes (Важно!)
Не запускайте два процесса агента с одним и тем же домашним каталогом Hermes. Записи в память происходят автоматически и загружаются обратно в системный промпт в начале сессии, поэтому два писателя, использующие один каталог, будут накапливать записи друг друга, создавая кашу, которую никто из них не создавал. Память по своей конструкции привязана к профилю — дайте второму агенту собственный профиль. Если им нужна общая память, используйте внешний провайдер памяти.
Итоги
Постоянная память даёт Hermes Agent простой и ограниченный способ запоминать вас между сессиями. Два небольших файла — MEMORY.md и USER.md — содержат отобранные заметки, которые вставляются в промпт как замороженный снимок в начале сессии. Агент сам управляет этими файлами с помощью инструмента memory, а лимиты символов помогают сохранять фокус. Просто запомните: один агент на один домашний каталог, и снимок обновляется только в начале сессии.
Далее: Руководство 21 — Планировщик задач: настройка автоматизаций, которые запускаются сами по таймеру.
📖 Официальная документация
Эта статья основана на официальной документации Hermes Agent :Официальные документы › user-guide/features/memory