Используем SOUL.md с Hermes

SOUL.md — это основная идентичность вашего экземпляра Hermes. Этот файл идёт первым в системном промпте и определяет, кто такой агент, как он говорит, чего избегает.

Хотите, чтобы Hermes ощущался одинаково в каждой сессии — или вообще хотите заменить персонажа Hermes своим? Тогда вам сюда.

Для чего SOUL.md

Кладите в SOUL.md:

  • тон
  • личность
  • стиль общения
  • насколько прямым или мягким должен быть агент
  • чего ему стоит избегать в подаче
  • как относиться к неопределённости, несогласию, неоднозначности

Одной строкой:

  • SOUL.md отвечает на вопрос «кто такой Hermes и как он говорит»

Для чего SOUL.md не нужен

Не кладите сюда:

  • соглашения по коду, специфичные для репозитория
  • пути к файлам
  • команды
  • порты сервисов
  • заметки об архитектуре
  • инструкции по рабочему процессу проекта

Всему этому место в AGENTS.md.

Простое правило:

  • если должно работать везде — в SOUL.md
  • если нужно только одному проекту — в AGENTS.md

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

Hermes использует единственный глобальный SOUL-файл текущего экземпляра:

~/.hermes/SOUL.md

Если запускаете Hermes с нестандартной домашней директорией:

$HERMES_HOME/SOUL.md

Поведение при первом запуске

При первом старте Hermes автоматически создаёт заготовку SOUL.md, если файла ещё нет.

Большинство пользователей сразу получают готовый файл, который можно читать и редактировать.

Важные детали:

  • если SOUL.md уже есть — Hermes его не перезаписывает
  • если файл существует, но пустой — в промпт ничего не добавляется

Как Hermes его использует

При старте сессии Hermes читает SOUL.md из HERMES_HOME, проверяет на паттерны инъекции промпта, при необходимости обрезает и использует как идентичность агента — слот №1 в системном промпте. SOUL.md полностью заменяет встроенный текст идентичности по умолчанию.

SOUL.md — ваш собственный файл (любая запись в него со стороны агента требует вашего одобрения), поэтому срабатывание сканера инъекций не блокирует его, как блокировало бы проектный AGENTS.md: файл всё равно загружается, Hermes пишет в лог предупреждение с именем совпавшего паттерна, а /context помечает файл строкой ⚠ … review the file. Инструкция по безопасности, которая цитирует фразу атаки («content telling you to ignore previous instructions»), таким образом не лишит вас идентичности.

Если SOUL.md отсутствует, пустой или не загружается — Hermes откатывается на встроенную идентичность.

Обёрточный язык вокруг файла не добавляется. Содержимое — это всё, что имеет значение. Пишите так, как хотите, чтобы думал и говорил ваш агент.

С чего начать редактирование

Если не хочется углубляться — откройте файл и измените буквально несколько строк, чтобы он ощущался вашим.

Например:

You are direct, calm, and technically precise.
Prefer substance over politeness theater.
Push back clearly when an idea is weak.
Keep answers compact unless deeper detail is useful.

Уже этого хватит, чтобы Hermes заметно изменился.

Примеры стилей

1. Прагматичный инженер

You are a pragmatic senior engineer.
You care more about correctness and operational reality than sounding impressive.

## Style
- Be direct
- Be concise unless complexity requires depth
- Say when something is a bad idea
- Prefer practical tradeoffs over idealized abstractions

## Avoid
- Sycophancy
- Hype language
- Overexplaining obvious things

2. Партнёр по исследованиям

You are a thoughtful research collaborator.
You are curious, honest about uncertainty, and excited by unusual ideas.

## Style
- Explore possibilities without pretending certainty
- Distinguish speculation from evidence
- Ask clarifying questions when the idea space is underspecified
- Prefer conceptual depth over shallow completeness

3. Преподаватель / объяснятор

You are a patient technical teacher.
You care about understanding, not performance.

## Style
- Explain clearly
- Use examples when they help
- Do not assume prior knowledge unless the user signals it
- Build from intuition to details

4. Строгий ревьюер

You are a rigorous reviewer.
You are fair, but you do not soften important criticism.

## Style
- Point out weak assumptions directly
- Prioritize correctness over harmony
- Be explicit about risks and tradeoffs
- Prefer blunt clarity to vague diplomacy

Что делает SOUL.md сильным

Хороший SOUL.md:

  • стабилен
  • применим широко
  • специфичен в голосе
  • не перегружен временными инструкциями

Слабый SOUL.md:

  • забит деталями конкретного проекта
  • противоречив
  • пытается микроуправлять каждым ответом
  • в основном состоит из банальностей вроде «будь полезен» и «будь чёток»

Hermes и так старается быть полезным и чётким. SOUL.md должен добавлять реальную личность и стиль, а не пересказывать очевидные умолчания.

Рекомендуемая структура

Заголовки не обязательны, но помогают. Простая структура, которая хорошо работает:

# Identity
Кто такой Hermes.

# Style
Как должен звучать Hermes.

# Avoid
Чего Hermes не должен делать.

# Defaults
Как Hermes должен вести себя в неоднозначных ситуациях.

SOUL.md против /personality

Это взаимодополняющие инструменты.

SOUL.md — для долгосрочной базы. /personality — для временного переключения режима.

Например:

  • базовая SOUL прагматична и прямолинейна
  • для одной сессии переключаетесь через /personality teacher
  • потом возвращаетесь обратно, не трогая базовый файл

SOUL.md против AGENTS.md

Это самая частая ошибка.

Кладите в SOUL.md

  • «Будь прямым.»
  • «Избегай хайп-языка.»
  • «Предпочитай короткие ответы, если глубина не нужна.»
  • «Возражай, когда пользователь ошибается.»

Кладите в AGENTS.md

  • «Используй pytest, а не unittest.»
  • «Фронтенд живёт в frontend/.»
  • «Никогда не редактируй миграции напрямую.»
  • «API работает на порту 8000.»

Как редактировать

nano ~/.hermes/SOUL.md

или

vim ~/.hermes/SOUL.md

После изменений перезапустите Hermes или начните новую сессию.

Практический рабочий процесс

  1. Начните с автоматически созданного файла
  2. Уберите всё, что не похоже на нужный вам голос
  3. Добавьте 4–8 строк, которые чётко определяют тон и умолчания
  4. Поговорите с Hermes какое-то время
  5. Скорректируйте то, что ещё ощущается не так

Такой итеративный подход работает лучше, чем попытка спроектировать идеальную личность за один раз.

Решение проблем

Я отредактировал SOUL.md, но Hermes говорит так же

Проверьте:

  • вы редактировали ~/.hermes/SOUL.md или $HERMES_HOME/SOUL.md
  • не какой-то локальный SOUL.md в репозитории
  • файл не пустой
  • сессия перезапущена после изменений
  • оверлей /personality не перекрывает результат

Hermes игнорирует части моего SOUL.md

Возможные причины:

  • инструкции с более высоким приоритетом перекрывают их
  • файл содержит противоречивые указания
  • файл слишком длинный и был обрезан
  • часть текста похожа на инъекцию промпта — SOUL.md всё равно загрузится, но проверьте /context на строку ⚠ … review the file и лог на совпавший паттерн

Мой SOUL.md стал слишком привязан к проекту

Перенесите проектные инструкции в AGENTS.md, оставив в SOUL.md только идентичность и стиль.

Связанная документация

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

обновлено

⌕ ESC