Личность и SOUL.md
Персонализация Hermes Agent полностью настраивается. SOUL.md — это основная идентичность — первый элемент в system prompt, определяющий, кем является агент.
-
SOUL.md— постоянный файл личности, находящийся вHERMES_HOMEи служащий идентичностью агента (слот #1 в system prompt) -
встроенные или пользовательские пресеты
/personality— наложения на system prompt уровня сессии
Если вы хотите изменить то, кем является Hermes — или заменить его на совершенно другую персону агента — отредактируйте SOUL.md.
Как SOUL.md работает сейчас
Hermes теперь автоматически создаёт стандартный SOUL.md в:
~/.hermes/SOUL.md
Точнее, он использует HERMES_HOME текущего экземпляра, поэтому если вы запускаете Hermes с пользовательской домашней директорией, будет использоваться:
$HERMES_HOME/SOUL.md
Важное поведение
-
SOUL.md — это основная идентичность агента. Он занимает слот #1 в system prompt, заменяя жёстко заданную стандартную идентичность.
-
Hermes автоматически создаёт начальный
SOUL.md, если он ещё не существует -
Существующие пользовательские файлы
SOUL.mdникогда не перезаписываются -
Hermes загружает
SOUL.mdтолько изHERMES_HOME -
Hermes не ищет
SOUL.mdв текущей рабочей директории -
Если
SOUL.mdсуществует, но пуст или не может быть загружен, Hermes использует встроенную стандартную идентичность -
Если
SOUL.mdсодержит текст, этот текст вставляется дословно после проверки безопасности и обрезания -
SOUL.md не дублируется в разделе context files — он появляется только один раз, как идентичность
Это делает 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-файл:
-
стабилен в разных контекстах
-
достаточно широк, чтобы применяться во многих разговорах
-
достаточно конкретен, чтобы существенно формировать голос
-
сосредоточен на общении и идентичности, а не на инструкциях для конкретных задач
Пример
# Personality
You are a pragmatic senior engineer with strong taste.
You optimize for truth, clarity, and usefulness over politeness theater.
## Style
- Be direct without being cold
- Prefer substance over filler
- Push back when something is a bad idea
- Admit uncertainty plainly
- Keep explanations compact unless depth is useful
## What to avoid
- Sycophancy
- Hype language
- Repeating the user's framing if it's wrong
- Overexplaining obvious things
## Technical posture
- Prefer simple systems over clever systems
- Care about operational reality, not idealized architecture
- Treat edge cases as part of the design, not cleanup
Что Hermes вставляет в prompt
Содержимое SOUL.md помещается непосредственно в слот #1 system prompt — позицию идентичности агента. Никакой обёртки вокруг него не добавляется.
Содержимое проходит через:
-
сканирование на prompt-инъекции
-
обрезание, если оно слишком большое
Если файл пуст, содержит только пробелы или не может быть прочитан, Hermes использует встроенную стандартную идентичность («You are Hermes Agent, an intelligent AI assistant created by Nous Research...»). Это резервное поведение также применяется, когда установлен skip_context_files (например, в контекстах subagent/делегирования).
Проверка безопасности
SOUL.md сканируется, как и другие файлы с контекстом, на наличие паттернов prompt-инъекций перед включением.
Это означает, что вам всё равно следует сосредоточиться на персоне/голосе, а не пытаться протащить странные мета-инструкции.
SOUL.md vs AGENTS.md
Это самое важное различие.
SOUL.md
Используйте для:
-
идентичности
-
тона
-
стиля
-
настроек общения по умолчанию
-
поведения на уровне личности
AGENTS.md
Используйте для:
-
архитектуры проекта
-
соглашений по коду
-
предпочтений инструментов
-
рабочих процессов репозитория
-
команд, портов, путей, заметок по развёртыванию
Полезное правило:
-
если это должно следовать за вами везде — это в
SOUL.md -
если это относится к проекту — это в
AGENTS.md
SOUL.md vs /personality
SOUL.md — это ваша постоянная личность по умолчанию.
/personality — это наложение уровня сессии, которое изменяет или дополняет текущий system prompt.
Итак:
-
SOUL.md= базовый голос -
/personality= временное переключение режима
Примеры:
-
оставьте прагматичный стандартный SOUL, затем используйте
/personality teacherдля учебного разговора -
оставьте лаконичный SOUL, затем используйте
/personality creativeдля мозгового штурма
Встроенные личности
Hermes поставляется со встроенными личностями, на которые можно переключиться с помощью /personality.
| Имя | Описание |
|---|---|
| helpful | Дружелюбный, универсальный помощник |
| concise | Краткие, по существу ответы |
| technical | Детальный, точный технический эксперт |
| creative | Инновационное, нестандартное мышление |
| teacher | Терпеливый педагог с понятными примерами |
| kawaii | Милые выражения, блёстки и энтузиазм ★ |
| catgirl | Нэко-тян с кошачьими выражениями, ня~ |
| pirate | Капитан Hermes, технически подкованный буканьер |
| 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: >
You are a meticulous code reviewer. Identify bugs, security issues,
performance concerns, and unclear design choices. Be precise and constructive.
Затем переключитесь на неё с помощью:
/personality codereviewer
Рекомендуемый рабочий процесс
Хорошая настройка по умолчанию:
-
Храните продуманный глобальный
SOUL.mdв~/.hermes/SOUL.md -
Помещайте инструкции проекта в
AGENTS.md -
Используйте
/personalityтолько когда хотите временно сменить режим
Это даёт вам:
-
стабильный голос
-
поведение, специфичное для проекта, там где нужно
-
временный контроль, когда необходимо
Как личность взаимодействует с полным prompt
На высоком уровне стек prompt включает:
-
SOUL.md (идентичность агента — или встроенная замена, если SOUL.md недоступен)
-
руководство по поведению с учётом инструментов
-
контекст памяти/пользователя
-
руководство по навыкам
-
файлы контекста (
AGENTS.md,.cursorrules) -
временная метка
-
подсказки форматирования для конкретной платформы
-
опциональные наложения на system prompt, такие как
/personality
SOUL.md — это основа — всё остальное строится поверх неё.
Связанные документы
Внешний вид CLI vs личность в разговоре
Личность в разговоре и внешний вид CLI — это разные вещи:
-
SOUL.md,agent.system_promptи/personalityвлияют на то, как Hermes говорит -
display.skinи/skinвлияют на то, как Hermes выглядит в терминале
О внешнем виде в терминале см. Скины и Темы.