Все посты

Память Hermes: MEMORY.md, USER.md и SOUL.md

Обычный чат-бот через пять сообщений забывает, о чём вы говорили. Hermes от Nous Research устроен иначе: у него есть память — и не «вся история в контексте», а специально структурированная: поисковое хранилище и три файла, которые агент ведёт сам. В этом материале — как они устроены и что это даёт на практике.

TL;DR

  • Память Hermes — это SQLite-хранилище с полнотекстовым индексом FTS5 плюс три файла: MEMORY.md, USER.md, SOUL.md.
  • У файлов жёсткие лимиты на размер: при переполнении запись возвращает ошибку — агент вынужден консолидировать заметки прямо в работе.
  • Файлы лежат на диске машины Пуска: читайте, редактируйте и бэкапьте их как обычные файлы.

Архитектура: поиск вместо «всё в контекст»

Стандартный подход — держать диалог в контексте модели и компактировать, когда он вырастает. Минусы очевидны: ранние реплики вымываются, а цена растёт с каждым сообщением.

Hermes идёт другим путём: вместо «всё помню» — «быстро нахожу нужное». За поиск отвечает одно SQLite-хранилище с полнотекстовым индексом FTS5: агент пишет туда факты и фрагменты, а когда нужен контекст — ищет по ним, а не перебирает всю историю. Релевантное попадает в контекст точечно.

Поверх хранилища — три файла-журнала. Это не дамп истории, а рабочие заметки агента о вас, о задаче и о себе.

Три файла

MEMORY.md — заметки агента

Факты и наблюдения, которые помогают работать: «отчёты нужны по пятницам», «тестовое окружение на порту 3000», «Иван отвечает в Telegram после 12». Лимит — около 2 200 символов. Жёсткий: когда место заканчивается, попытка записи возвращает ошибку, и агент должен решить, что удалить или объединить — прямо в ходе разговора.

USER.md — профиль пользователя

Кто вы, чем занимаетесь, как вам удобнее: формат ответов, уровень деталей, язык переписки. Лимит — около 1 375 символов. По сути, «настройки пользователя», которые агент выводит из общения, а не из анкеты.

SOUL.md — идентичность

Кем агент себя считает и как ведёт: тон, принципы, границы. Файл задаёт характер — и отличается от системных инструкций тем, что агент может его пересматривать.

Почему лимиты — это фича

Кажется, что 2 200 символов — это мало. На деле ограничение работает как дисциплина: агент не может свалить в память всё подряд, ему приходится выбирать важное и периодически «причёсывать» заметки. Переполнение обрабатывается явно — запись отклоняется, агент видит ошибку и консолидирует.

Побочный эффект: память остаётся читаемой и для человека. Файлы маленькие, структурированные, их можно открыть и проверить, что именно агент о вас «думает».

Память на Пуске

Всё это — файлы на диске машины. Это важно:

  • Прозрачность — откройте панель «Файлы» или терминал и прочитайте MEMORY.md. Любое «воспоминание» агента — перед глазами.
  • Ручная правка — заметка устарела или неверна? Сотрите строку или перепишите. Агент возьмёт исправленную версию.
  • Бэкап — рабочее пространство это просто файлы: скачайте их через панель или терминал в любой момент.
  • Перенос — меняете размер машины? Файлы сохраняются, память едет вместе с агентом.

Note

Память — часть рабочей области агента. Технический доступ сервиса к данным описан на странице «Доступ и данные»: мы используем только технические данные, необходимые для работы, и не имеем доступа к содержимому ваших файлов.

Как помочь агенту пользоваться памятью

Память не включается сама по себе — её стоит «прогревать»:

  • Расскажите о себе и задаче в первых диалогах — агент разнесёт это по USER.md и MEMORY.md.
  • Просите запомнить явно — «запомни: отчёты по пятницам». Точная формулировка точнее догадок.
  • Проверяйте файлы раз в пару недель — вычищайте устаревшее. Маленький лимит делает это пятиминутным делом.
  • Задайте тон в SOUL.md — если ответ должен быть сухим и по делу, так и напишите.

Частые вопросы

Агент забывает то, что я просил запомнить

Проверьте MEMORY.md — возможно, заметка вытеснена при консолидации (лимит ~2 200 символов). Перезапишите её точнее или удалите лишнее, затем попросите агента обновить файл.

Можно ли отключить память

Файлы можно очистить — агент начнёт с чистого листа. Удалить сам механизм нельзя, но пустые файлы памяти не ведут себя как «забывание» — агент просто не находит, что вспомнить.

Память синхронизируется между машинами

Нет — у каждой машины своё рабочее пространство. Нужны одни и те же заметки на двух машинах — скопируйте файлы через панель «Файлы» или терминал.

Где лежат эти файлы

В рабочем пространстве агента на диске машины. Видны в панели «Файлы» и в терминале — это обычные текстовые файлы.

Дальше