Какой файл за что отвечает?
«Я сказал агенту кое-что, а он забыл». «Какой файл — это мозг моего агента?» «Я отредактировал 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— это оверлей на уровне сессии, без правки файлов.
Смежные разделы
- Постоянная память — MEMORY.md, USER.md, инструмент
memory, лимиты ёмкости,write_approval - Личность и SOUL.md — рекомендации по содержимому SOUL.md, пресеты
/personality, стек промпта - Файлы контекста — AGENTS.md,
.hermes.md, постепенное обнаружение, проверка безопасности