Какой файл за что отвечает?

«Я сказал агенту кое-что, а он забыл». «Какой файл — это мозг моего агента?» «Я отредактировал SOUL.md — почему он не знает моё имя?» За этими вопросами стоит одно и то же: поведение Hermes Agent формируют несколько markdown-файлов, и у каждого своя роль. Эта страница собирает их все в одном месте. За подробностями по каждому файлу загляните в разделы Постоянная память, Личность и SOUL.md и Файлы контекста.

Сводная таблица

ФайлЧто содержитКто пишетКогда агент это видитГде хранится
SOUL.mdОсновная личность агента — характер, тон, стиль общения, чего стоит избегать стилистическиВы. Hermes автоматически создаёт стартовый файл, если его ещё нет; существующие файлы никогда не перезаписываютсяСлот №1 системного промпта, в начале сессии~/.hermes/SOUL.md (или $HERMES_HOME/SOUL.md при нестандартном home) — никогда не рабочая директория
USER.mdПрофиль пользователя — имя, роль, предпочтения, стиль общения, ожиданияАгент, через инструмент memory (сохранения можно ограничить write_approval, а записи — редактировать командой hermes journey edit)Встраивается в системный промпт как замороженный снимок в начале сессии~/.hermes/memories/
MEMORY.mdЛичные заметки агента — факты об окружении, конвенции проекта, особенности инструментов, всё, что он усвоилАгент, через инструмент memory (те же опции ограничения и редактирования, что и у USER.md)Встраивается в системный промпт как замороженный снимок в начале сессии~/.hermes/memories/
AGENTS.mdИнструкции по проекту, конвенции, архитектура — команды, порты, пути, специфичные для репозитория процессыВы (или тот, кто ведёт проект)Загружается в системный промпт при старте из рабочей директории; вложенные копии обнаруживаются постепенно по мере того, как агент переходит по вложенным папкамРабочая директория проекта и вложенные папки
.hermes.md / HERMES.mdИнструкции по проекту — как AGENTS.md, но специфичные для Hermes и с наивысшим приоритетомВыЗагружается в системный промпт при старте (первое совпадение побеждает AGENTS.md)Ваш проект — поиск идёт вверх до корня git
инфо
Один файл контекста проекта на сессию

За сессию загружается только один тип файла контекста проекта, побеждает первое совпадение: .hermes.md → AGENTS.md → CLAUDE.md → .cursorrules. SOUL.md всегда загружается отдельно как личность агента — он не входит в эту цепочку приоритета. Полный список, включая совместимость с CLAUDE.md и .cursorrules, смотрите в разделе Файлы контекста.

Короткая памятка:

  • SOUL.md — это то, кем агент является: если что-то должно сопровождать вас везде, место этому здесь.
  • USER.md — это то, кто вы: агент ведёт этот файл за вас.
  • MEMORY.md — это то, что агент усвоил: этот файл он тоже ведёт сам.
  • AGENTS.md (или .hermes.md) — это то, что нужно проекту: всё, что относится к проекту, — сюда.

«Почему он забыл то, что я только что сказал?»

Память (MEMORY.md и USER.md) встраивается в системный промпт как замороженный снимок, сделанный один раз в начале сессии: когда агент сохраняет что-то посреди работы, изменение сразу попадает на диск, но в системном промпте появится только со следующей сессии. Это сделано намеренно — так сохраняется prefix cache LLM для производительности, а ответы инструментов всегда показывают актуальное состояние, поэтому ничего не теряется: начните новую сессию, и обновлённая память будет на месте. Подробности — в разделе Как память отражается в системном промпте.

Частые путаницы

«Я записал факты о себе в SOUL.md, а USER.md остался пустым»

SOUL.md и USER.md — независимые системы, они никогда не влияют друг на друга. SOUL.md — это файл личности, который редактируете вы сами: он задаёт тон и идентичность, а его содержимое встраивается дословно в слот №1 промпта. USER.md, в свою очередь, часть постоянной памяти, и пишет его агент через инструмент memory. Если хотите, чтобы факты о вас попали в USER.md, просто скажите агенту («запомни, что я предпочитаю краткие ответы») — он сохранит их сам; правка SOUL.md память не наполнит, а записи памяти не изменят персону. Используйте SOUL.md для устойчивых указаний по голосу и характеру, а предпочтения и факты профиля оставляйте памяти. См. Что должно быть в SOUL.md? и Две цели памяти.

«Я назвал ему своё имя посреди сессии, а он повёл себя так, будто не слышал»

Если агент сохранил ваше имя в память, сохранение прошло успешно — проверить можно по ответам инструмента memory или командой hermes journey list. То, что вы наблюдаете, — то самое правило замороженного снимка: системный промпт не обновляется посреди сессии, так что встроенный блок памяти по-прежнему показывает состояние на момент старта. При этом агент вполне может использовать сказанное вами в рамках текущего диалога — оно есть в контексте, — а сохранённая запись попадёт в системный промпт начиная со следующей сессии. То же самое касается правок SOUL.md или AGENTS.md, внесённых во время работающей сессии: контекст собирается при старте, так что изменения подхватятся только после перезапуска.

совет
Короткая шпаргалка для выбора
  • Хотите изменить, как агент разговаривает? Отредактируйте ~/.hermes/SOUL.md — Личность и SOUL.md.
  • Хотите, чтобы агент запомнил факт? Просто скажите ему — он сам сохранит это в память. Постоянная память.
  • Хотите задать правила проекта? Положите в проект AGENTS.md (или .hermes.md) — Файлы контекста.
  • Нужна временная смена личности? Используйте /personality — это оверлей на уровне сессии, без правки файлов.

Смежные разделы

перевод и редактура:

обновлено

⌕ ESC