Documentação oficial desta página · v0.20.6
Personalidade e SOUL.md
Personalidade e SOUL.md
A personalidade do Hermes Agent é totalmente personalizável. O SOUL.md é a identidade principal — é a primeira coisa do prompt de sistema e define quem o agente é.
SOUL.md— um arquivo de persona durável que fica emHERMES_HOMEe serve como identidade do agente (posição nº 1 no prompt de sistema)- presets de
/personality, embutidos ou seus — camadas sobre o prompt de sistema no nível da sessão
Se você quer mudar quem o Hermes é — ou trocá-lo por uma persona de agente completamente diferente — edite o SOUL.md.
Como o SOUL.md funciona hoje
O Hermes agora cria automaticamente um SOUL.md padrão em:
~/.hermes/SOUL.md
Mais precisamente, ele usa o HERMES_HOME da instância atual, então, se você roda o Hermes com um diretório home personalizado, ele vai usar:
$HERMES_HOME/SOUL.md
Comportamento importante
- O SOUL.md é a identidade principal do agente. Ele ocupa a posição nº 1 do prompt de sistema, substituindo a identidade padrão embutida no código.
- O Hermes cria um
SOUL.mdinicial automaticamente se ainda não existir um - Arquivos
SOUL.mdjá existentes do usuário nunca são sobrescritos - O Hermes carrega o
SOUL.mdapenas deHERMES_HOME - O Hermes não procura o
SOUL.mdno diretório de trabalho atual - Se o
SOUL.mdexiste mas está vazio, ou não consegue ser carregado, o Hermes recorre a uma identidade padrão embutida - Se o
SOUL.mdtem conteúdo, esse conteúdo é injetado literalmente, depois da varredura de segurança e do truncamento - O SOUL.md não é duplicado na seção de arquivos de contexto — ele aparece uma única vez, como identidade
Isso faz do SOUL.md uma identidade de verdade por usuário ou por instância, não apenas uma camada aditiva.
Por que este desenho
Ele mantém a personalidade previsível.
Se o Hermes carregasse o SOUL.md do diretório em que você por acaso o iniciou, a sua personalidade poderia mudar sem aviso entre projetos. Carregando só de HERMES_HOME, a personalidade pertence à própria instância do Hermes.
Isso também facilita explicar para os usuários:
- "Edite o
~/.hermes/SOUL.mdpara mudar a personalidade padrão do Hermes."
Onde editar
Para a maioria dos usuários:
~/.hermes/SOUL.md
Se você usa um home personalizado:
$HERMES_HOME/SOUL.md
O que deve entrar no SOUL.md?
Use-o para orientações duráveis de voz e personalidade, como:
- tom
- estilo de comunicação
- nível de franqueza
- estilo padrão de interação
- o que evitar no estilo
- como o Hermes deve lidar com incerteza, discordância ou ambiguidade
Use-o menos para:
- instruções pontuais de projeto
- caminhos de arquivo
- convenções do repositório
- detalhes temporários de fluxo de trabalho
Essas coisas pertencem ao AGENTS.md, não ao SOUL.md.
Bom conteúdo de SOUL.md
Um bom arquivo SOUL é:
- estável entre contextos
- amplo o suficiente para valer em muitas conversas
- específico o suficiente para moldar a voz de fato
- focado em comunicação e identidade, não em instruções de tarefa
Exemplo
# Personalidade
Você é uma pessoa de engenharia sênior, pragmática e com bom gosto técnico.
Você otimiza para verdade, clareza e utilidade, não para teatro de polidez.
## Estilo
- Seja direto sem ser frio
- Prefira substância a enchimento
- Diga não quando algo é uma má ideia
- Admita incerteza sem rodeio
- Mantenha explicações compactas, a menos que a profundidade seja útil
## O que evitar
- Adulação
- Linguagem de propaganda
- Repetir o enquadramento do usuário quando ele está errado
- Explicar demais o que é óbvio
## Postura técnica
- Prefira sistemas simples a sistemas espertos
- Se importe com a realidade operacional, não com a arquitetura idealizada
- Trate os casos de borda como parte do projeto, não como limpeza posterior
O que o Hermes injeta no prompt
O conteúdo do SOUL.md vai direto para a posição nº 1 do prompt de sistema — o lugar da identidade do agente. Nenhum texto de embrulho é acrescentado em volta dele.
O conteúdo passa por:
- varredura de injeção de prompt
- truncamento, se for grande demais
Se o arquivo está vazio, tem só espaços em branco ou não pode ser lido, o Hermes recorre a uma identidade padrão embutida ("You are Hermes Agent, an intelligent AI assistant created by Nous Research..."). Essa reserva também vale quando skip_context_files está ativo (por exemplo, em contextos de subagente ou delegação).
Varredura de segurança
O SOUL.md é examinado como os outros arquivos que carregam contexto, em busca de padrões de injeção de prompt, antes de ser incluído.
Ou seja: mantenha o arquivo focado em persona e voz, em vez de tentar enfiar meta-instruções estranhas nele.
SOUL.md e AGENTS.md
Esta é a distinção mais importante.
SOUL.md
Use para:
- identidade
- tom
- estilo
- padrões de comunicação
- comportamento no nível da personalidade
AGENTS.md
Use para:
- arquitetura do projeto
- convenções de código
- preferências de ferramentas
- fluxos de trabalho específicos do repositório
- comandos, portas, caminhos, notas de implantação
Uma regra útil:
- se deve acompanhar você em todo lugar, é
SOUL.md - se pertence a um projeto, é
AGENTS.md
SOUL.md e /personality
O SOUL.md é a sua personalidade padrão durável.
O /personality é uma camada no nível da sessão que muda ou complementa o prompt de sistema atual.
Portanto:
SOUL.md= voz de base/personality= troca temporária de modo
Exemplos:
- mantenha um SOUL padrão pragmático e use
/personality teacherpara uma conversa de tutoria - mantenha um SOUL conciso e use
/personality creativepara brainstorming
Personalidades embutidas
O Hermes já vem com personalidades embutidas para as quais você pode trocar com /personality.
| Nome | Descrição |
|---|---|
| helpful | Assistente amigável de uso geral |
| concise | Respostas curtas e diretas ao ponto |
| technical | Especialista técnico detalhado e preciso |
| creative | Pensamento inovador, fora da caixa |
| teacher | Educador paciente, com exemplos claros |
| kawaii | Expressões fofas, brilhos e entusiasmo ★ |
| catgirl | Neko-chan com expressões felinas, nya~ |
| pirate | Capitão Hermes, bucaneiro entendido de tecnologia |
| shakespeare | Prosa de bardo com ares dramáticos |
| surfer | Vibe totalmente tranquila, mano |
| noir | Narração de detetive durão |
| uwu | Fofura máxima com uwu-speak |
| philosopher | Contemplação profunda em toda pergunta |
| hype | ENERGIA E ENTUSIASMO MÁXIMOS!!! |
Trocar de personalidade por comandos
CLI
/personality
/personality concise
/personality technical
Plataformas de mensagens
/personality teacher
Essas camadas são convenientes, mas o seu SOUL.md global continua dando ao Hermes a personalidade padrão persistente, a menos que a camada a mude de forma significativa.
Personalidades personalizadas na configuração
As personalidades embutidas estão sempre disponíveis em toda superfície (CLI, plataformas de mensagens, TUI e o aplicativo de desktop). Você pode acrescentar as suas — ou sobrescrever uma embutida reusando o nome dela — no ~/.hermes/config.yaml, em agent.personalities.
agent:
personalities:
codereviewer: >
Você é um revisor de código meticuloso. Identifique bugs, problemas de
segurança, questões de desempenho e escolhas de projeto pouco claras.
Seja preciso e construtivo.
Depois troque para ela com:
/personality codereviewer
A sua escolha é guardada como um nome em display.personality. As personalidades nunca mexem em agent.system_prompt — esse campo é reservado para um prompt de sistema manual, escrito por você, e vale somente quando nenhuma personalidade está selecionada.
Voltar ao padrão
Para cancelar a camada de personalidade ativa e voltar ao comportamento de base (a persona do seu SOUL.md, mais o agent.system_prompt se você definiu um), use qualquer um destes:
/personality none
/personality default
/personality neutral
Os três limpam a seleção (display.personality) e a mudança passa a valer na sua próxima mensagem. Rodar /personality sem argumentos também lista none junto com os presets disponíveis e marca o que está ativo.
Versões antigas do Hermes salvavam o estado de personalidade de forma inconsistente entre superfícies, o que podia reativar uma personalidade que você já tinha desligado. Na primeira execução depois de atualizar, qualquer seleção de personalidade salva é redefinida para none uma vez (a migração imprime qual personalidade foi limpa). Reative com /personality <nome> se ainda quiser. O texto manual de agent.system_prompt nunca é tocado.
Fluxo de trabalho recomendado
Uma configuração padrão robusta é:
- Mantenha um
SOUL.mdglobal bem pensado em~/.hermes/SOUL.md - Coloque as instruções de projeto no
AGENTS.md - Use
/personalitysó quando quiser uma troca temporária de modo
Isso te dá:
- uma voz estável
- comportamento específico do projeto onde ele pertence
- controle temporário quando precisar
Como a personalidade interage com o prompt completo
Em alto nível, a pilha do prompt inclui:
- SOUL.md (identidade do agente — ou a reserva embutida, se o SOUL.md não estiver disponível)
- orientação de comportamento ciente das ferramentas
- memória e contexto do usuário
- orientação sobre skills
- arquivos de contexto (
AGENTS.md,.cursorrules) - marca de tempo
- dicas de formatação específicas da plataforma
- camadas opcionais sobre o prompt de sistema, como
/personality
O SOUL.md é o alicerce — todo o resto se apoia nele.
Documentação relacionada
Aparência da CLI e personalidade de conversa
Personalidade de conversa e aparência da CLI são coisas separadas:
SOUL.md,agent.system_prompte/personalityafetam como o Hermes faladisplay.skine/skinafetam como o Hermes aparece no terminal
Para a aparência do terminal, veja Skins e Temas.