Личность и SOUL.md
Личность Hermes Agent полностью настраиваема. SOUL.md — это основная идентичность агента. Этот файл стоит первым в системном промпте и определяет, кем является агент.
SOUL.md— постоянный файл персоны, который живет вHERMES_HOMEи служит идентичностью агента (слот №1 в системном промпте).- Встроенные или пользовательские пресеты
/personality— наложения на системный промпт на уровне сессии.
Если вы хотите изменить характер Hermes или полностью заменить его другой персоной, отредактируйте SOUL.md.
Как работает SOUL.md
Hermes автоматически создает стандартный SOUL.md по пути:
~/.hermes/SOUL.md
Точнее, он использует HERMES_HOME текущего экземпляра, так что если вы запускаете Hermes с пользовательской домашней директорией, путь будет таким:
$HERMES_HOME/SOUL.md
Важное поведение
- SOUL.md — это первичная идентичность агента. Он занимает слот №1 в системном промпте, заменяя стандартную идентичность.
- Hermes автоматически создает начальный
SOUL.md, если он еще не существует. - Существующие файлы
SOUL.mdникогда не перезаписываются. - Hermes загружает
SOUL.mdтолько изHERMES_HOME. - Hermes не ищет
SOUL.mdв текущем рабочем каталоге. - Если
SOUL.mdпуст или не может быть загружен, Hermes откатывается к встроенной идентичности по умолчанию. - Если в
SOUL.mdесть контент, он вставляется «как есть» после сканирования на безопасность и обрезки. SOUL.mdне дублируется в разделе контекстных файлов — он появляется только один раз в качестве идентичности.
Это делает SOUL.md персональной идентичностью для конкретного пользователя или экземпляра, а не просто дополнительным наслоением.
Почему именно такой дизайн
Это делает личность агента предсказуемой.
Если бы Hermes загружал SOUL.md из любой директории, в которой вы его запустили, личность могла бы неожиданно меняться при переходе между проектами. Загрузка только из HERMES_HOME гарантирует, что личность принадлежит самому экземпляру Hermes.
Это также упрощает обучение пользователей:
- «Отредактируйте
~/.hermes/SOUL.md, чтобы изменить личность Hermes по умолчанию».
Где его редактировать
Для большинства пользователей:
~/.hermes/SOUL.md
Если вы используете пользовательский путь:
$HERMES_HOME/SOUL.md
Что должно быть в SOUL.md?
Используйте его для долгосрочных указаний по характеру и поведению, таких как:
- тон общения
- стиль коммуникации
- степень прямолинейности
- стиль взаимодействия по умолчанию
- стилистические запреты (чего избегать)
- как Hermes должен вести себя в случае неуверенности, несогласия или двусмысленности
Старайтесь НЕ использовать его для:
- разовых инструкций по проекту
- путей к файлам
- соглашений конкретного репозитория
- временных деталей рабочего процесса
Для этого предназначен файл AGENTS.md, а не SOUL.md.
Хорошее содержание SOUL.md
Хороший файл SOUL:
- стабилен в разных контекстах
- достаточно широк, чтобы применяться во многих беседах
- достаточно конкретен, чтобы ощутимо формировать голос агента
- сфокусирован на общении и идентичности, а не на конкретных задачах
Пример
# Личность
Ты — прагматичный старший инженер с отличным вкусом.
Ты ценишь истину, ясность и пользу выше напускной вежливости.
## Стиль
- Будь прямым, но не холодным
- Предпочитай суть «воде»
- Возражай, если идея кажется неудачной
- Честно признавай неуверенность
- Давай компактные объяснения, если не требуется глубина
## Чего избегать
- Подхалимства
- Хайповых словечек
- Повторения неверных формулировок пользователя
- Излишнего разжевывания очевидных вещей
## Техническая позиция
- Простые системы лучше «умных»
- Заботься об операционной реальности, а не об идеализированной архитектуре
- Относись к граничным случаям как к части дизайна, а не как к мусору
Что Hermes вставляет в промпт
Содержимое SOUL.md попадает прямиком в слот №1 системного промпта — позицию идентичности агента. Никаких дополнительных словесных оболочек вокруг него не добавляется.
Контент проходит через:
- сканирование на промпт-инъекции
- обрезку, если файл слишком велик
Если файл пуст, содержит только пробелы или не может быть прочитан, Hermes откатывается к встроенной идентичности: «Вы — Hermes Agent, интеллектуальный помощник с ИИ, созданный Nous Research...». Этот откат также применяется, когда установлен флаг skip_context_files (например, в контекстах субагентов или делегирования).
Сканирование на безопасность
SOUL.md, как и другие контекстные файлы, перед включением сканируется на наличие паттернов промпт-инъекций.
Поэтому всё же старайтесь фокусироваться на персоне и характере, а не на попытках внедрить странные мета-инструкции.
SOUL.md против AGENTS.md
Это самое важное различие.
SOUL.md
Используйте для:
- идентичности
- тона общения
- стиля
- настроек коммуникации по умолчанию
- поведения на уровне личности
AGENTS.md
Используйте для:
- архитектуры проекта
- соглашений по кодированию
- предпочтений в инструментах
- рабочих процессов конкретного репозитория
- команд, портов, путей, заметок по развертыванию
Простое правило:
- если это должно следовать за вами повсюду, это место в
SOUL.md - если это относится к проекту, это место в
AGENTS.md
SOUL.md против /personality
SOUL.md — это ваша постоянная личность по умолчанию.
/personality — это наложение на уровне сессии, которое изменяет или дополняет текущий системный промпт.
То есть:
SOUL.md= базовый голос/personality= временное переключение режима
Примеры:
- держите прагматичный SOUL по умолчанию, и используйте
/personality teacherдля обучающей беседы - держите краткий SOUL, и используйте
/personality creativeдля мозгового штурма
Встроенные личности
Hermes поставляется со встроенными личностями, на которые можно переключиться командой /personality.
| Имя | Описание |
|---|---|
| helpful | Дружелюбный универсальный помощник |
| concise | Краткие ответы по существу |
| technical | Детальный и точный технический эксперт |
| creative | Инновационное, нестандартное мышление |
| teacher | Терпеливый наставник с понятными примерами |
| kawaii | Милые выражения, звездочки и энтузиазм ★ |
| catgirl | Неко-тян с кошачьими повадками, ня~ |
| pirate | Капитан Гермес, технически подкованный флибустьер |
| shakespeare | Бардовская проза с драматическим оттенком |
| surfer | Расслабленный стиль «своего парня» |
| noir | Нуарный детектив из старого кино |
| uwu | Максимально милый uwu-стиль |
| philosopher | Глубокие размышления над каждым вопросом |
| hype | МАКСИМУМ ЭНЕРГИИ И ЭНТУЗИАЗМА!!! |
Переключение личности командами
CLI
/personality
/personality concise
/personality technical
Мессенджеры
/personality teacher
Это удобные надстройки, но ваш глобальный SOUL.md по-прежнему задает основной характер Hermes, если надстройка не меняет его радикально.
Пользовательские личности в конфиге
Вы также можете определить именованные пользовательские личности в ~/.hermes/config.yaml в разделе agent.personalities.
agent:
personalities:
codereviewer: >
Вы — дотошный ревьюер кода. Ищите баги, проблемы безопасности,
производительности и сомнительные архитектурные решения. Будьте точны и конструктивны.
Затем активируйте её командой:
/personality codereviewer
Рекомендуемый рабочий процесс
Оптимальная настройка выглядит так:
- Ведите один глобальный
SOUL.mdв~/.hermes/SOUL.md - Описывайте специфику проекта в
AGENTS.md - Используйте
/personalityтолько для временной смены режима работы
Это обеспечит вам:
- стабильный и узнаваемый голос агента
- поведение, специфичное для каждого проекта, там, где оно уместно
- гибкий контроль, когда это необходимо
Как личность взаимодействует с полным промптом
В упрощенном виде стек промптов включает:
- SOUL.md (идентичность агента или встроенная версия, если SOUL.md недоступен)
- Инструкции по работе с инструментами
- Контекст памяти и профиль пользователя
- Руководство по навыкам (skills)
- Контекстные файлы (
AGENTS.md,.cursorrules) - Временная метка (timestamp)
- Подсказки по форматированию для конкретной платформы
- Опциональные наложения, такие как
/personality
SOUL.md — это фундамент, на котором строится всё остальное.
Связанные документы
Оформление CLI против характера общения
Характер общения и внешний вид CLI настраиваются отдельно:
SOUL.md,agent.system_promptи/personalityвлияют на то, КАК говорит Hermesdisplay.skinи/skinвлияют на то, КАК выглядит Hermes в терминале
О внешнем виде терминала читайте в разделе Оболочки и темы (Skins).