Pular para o conteúdo principal

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 em HERMES_HOME e 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.md inicial automaticamente se ainda não existir um
  • Arquivos SOUL.md já existentes do usuário nunca são sobrescritos
  • O Hermes carrega o SOUL.md apenas de HERMES_HOME
  • O Hermes não procura o SOUL.md no diretório de trabalho atual
  • Se o SOUL.md existe mas está vazio, ou não consegue ser carregado, o Hermes recorre a uma identidade padrão embutida
  • Se o SOUL.md tem 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.md para 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 teacher para uma conversa de tutoria
  • mantenha um SOUL conciso e use /personality creative para brainstorming

Personalidades embutidas​

O Hermes já vem com personalidades embutidas para as quais você pode trocar com /personality.

NomeDescrição
helpfulAssistente amigável de uso geral
conciseRespostas curtas e diretas ao ponto
technicalEspecialista técnico detalhado e preciso
creativePensamento inovador, fora da caixa
teacherEducador paciente, com exemplos claros
kawaiiExpressões fofas, brilhos e entusiasmo ★
catgirlNeko-chan com expressões felinas, nya~
pirateCapitão Hermes, bucaneiro entendido de tecnologia
shakespeareProsa de bardo com ares dramáticos
surferVibe totalmente tranquila, mano
noirNarração de detetive durão
uwuFofura máxima com uwu-speak
philosopherContemplação profunda em toda pergunta
hypeENERGIA 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.

Reinício único na atualização

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.

Uma configuração padrão robusta é:

  1. Mantenha um SOUL.md global bem pensado em ~/.hermes/SOUL.md
  2. Coloque as instruções de projeto no AGENTS.md
  3. Use /personality só 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:

  1. SOUL.md (identidade do agente — ou a reserva embutida, se o SOUL.md não estiver disponível)
  2. orientação de comportamento ciente das ferramentas
  3. memória e contexto do usuário
  4. orientação sobre skills
  5. arquivos de contexto (AGENTS.md, .cursorrules)
  6. marca de tempo
  7. dicas de formatação específicas da plataforma
  8. camadas opcionais sobre o prompt de sistema, como /personality

O SOUL.md é o alicerce — todo o resto se apoia nele.

Aparência da CLI e personalidade de conversa​

Personalidade de conversa e aparência da CLI são coisas separadas:

  • SOUL.md, agent.system_prompt e /personality afetam como o Hermes fala
  • display.skin e /skin afetam como o Hermes aparece no terminal

Para a aparência do terminal, veja Skins e Temas.