🎭 SOUL.md no slot #1 do system prompt
SOUL.md é o primeiro bloco do system prompt — antes de memória, antes de skills, antes de tudo. É a base da identidade que o modelo lê pra qualquer interação. Sempre carregado, independente do contexto.
📐Ordem do system prompt
- SOUL.md — identidade do agente (sempre)
- Memórias (USER.md + MEMORY.md, snapshot frozen)
- Contexto de projeto (.hermes.md / AGENTS.md / CLAUDE.md / .cursorrules — apenas UM, na ordem de prioridade)
- Lista mínima de skills (Level 0 do Progressive Disclosure)
- Instruções operacionais e ferramentas disponíveis
🎯Por que a posição importa
Modelos costumam dar mais peso ao que aparece cedo no system prompt. Identidade no slot #1 molda como ele interpreta tudo o que vem depois. Tom errado lá ecoa em cada resposta.
📍 Localização: ~/.hermes/SOUL.md
Arquivo único em ~/.hermes/SOUL.md. Escopo global: vale pra qualquer projeto, qualquer diretório. Markdown puro, sem YAML front matter (diferente de SKILL.md).
Características
- • Local fixo:
~/.hermes/SOUL.md - • Escopo global (não muda com cwd)
- • Markdown puro
- • Sem YAML front matter
- • Sem limite documentado de chars
Boas práticas
- • Mantenha conciso (~500-1000 palavras)
- • Versione no git pra ter histórico
- • Revise antes de aceitar reescrita do agente
- • Faça backup do
~/.hermes/inteiro
🎭Múltiplos perfis = múltiplos souls
Pra ter agentes com identidades diferentes (marketing alegre, financeiro sério), use perfis Hermes diferentes: cada perfil aponta pra um diretório próprio.
~/.hermes-marketing/SOUL.md # alegre, emojis, tom de voz da marca
~/.hermes-financeiro/SOUL.md # sóbrio, direto, sem floreios
~/.hermes-pessoal/SOUL.md # informal, próximo, contextual
🎨 O que SOUL define
Bom SOUL.md cobre quatro eixos: tom, personalidade, princípios e regras de comunicação. Quanto mais específico, mais característico fica o agente.
🎚️ Tom
Como ele se expressa. Formal ou descontraído? Direto ou explicador? Técnico ou acessível?
Exemplo: "Falo direto, evito formalismo. Não uso superlativos sem evidência. Prefiro frases curtas."
🧬 Personalidade
Quem o agente é. Curioso? Cético? Pragmático? Provocador? Mentor?
Exemplo: "Sou pragmático. Prefiro solução simples que funciona a solução elegante que não foi testada."
⚖️ Princípios
O que sempre faz, o que nunca faz. Linhas duras que não são negociadas por contexto.
Exemplo: "Sempre cito fonte de fato técnico. Nunca invento URL. Quando não sei, digo que não sei."
📞 Regras de comunicação
Idioma, tamanho de resposta padrão, uso de emojis, formato de listas, código fence.
Exemplo: "PT-BR por padrão. Resposta curta primeiro, detalhe se pedirem. Sem emojis em respostas técnicas."
⚠️Cuidado com contradições
"Seja sucinto" + "Explique cada decisão em detalhe" briga. "Use emojis pra deixar leve" + "Mantenha tom profissional sem floreios" briga. Soul precisa ser coerente como personagem — contradição interna degrada respostas.
🎯 Por que importa em multi-agente
Em setup com múltiplos perfis (pessoal, marketing, financeiro, ops), soul é o que dá voz distinta a cada um. Sem soul próprio, todos soam iguais e perdem o sentido de existir separados.
Marketing
Soul: leve, curioso, gosta de explorar tendências, tom da marca. Pode usar emojis. Conhece copywriting.
Financeiro
Soul: sóbrio, direto, conservador, cita números. Sem emojis. Precisão importa mais que agilidade.
Pessoal
Soul: informal, te conhece, contextual. Pode brincar. Foco em utilidade e tempo seu.
🎨A trinca completa
- Soul define voz (como fala)
- Skills definem capacidades (o que sabe fazer)
- Memory carrega fatos (o que sabe sobre o ambiente)
Os três combinados dão caráter completo ao perfil. Falta de qualquer um deixa o agente "raso".
🔄 Como evoluir o SOUL
Você não precisa virar designer de prompts. Frase mágica: "Atualize seu soul para ser X". O próprio agente edita SOUL.md — e funciona surpreendentemente bem porque ele entende o efeito de cada linha sobre si mesmo.
💬 Frases prontas
- • "Lê seu soul atual e me mostra."
- • "Atualiza seu soul: seja mais direto, menos explicador."
- • "No seu soul, adicione regra: nunca use exclamação em resposta técnica."
- • "Reescreve seu soul com o tom da nossa marca: <exemplo de texto>."
- • "Revisa seu soul, identifica contradições e propõe correção."
⚠️Sempre revise antes de aceitar
Soul é arquivo crítico — uma reescrita ruim degrada o agente todo. Peça pra mostrar o diff antes de salvar. Mantenha versionado em git pra reverter facilmente. Se ficou estranho depois da edição, role o commit anterior.
📅Cadência de revisão
Reveja soul a cada 1-2 meses. Coisas que faziam sentido no início podem virar entrave depois. E coisa nova surge no uso real — peça ao agente pra incorporar lições aprendidas das últimas semanas.
⚖️ Soul vs USER.md
Confundir SOUL.md com USER.md é o erro mais comum. A regra é simples: SOUL = quem o agente é. USER = quem você é. Misturar gera coisas estranhas (agente achando que ELE é Nei, ou regras pessoais sumindo no slot errado).
SOUL.md (o agente)
- ✓"Sou direto e prático."
- ✓"Não uso emojis em resposta técnica."
- ✓"Quando erro, admito sem rodeio."
- ✓"Sou cético com claims sem evidência."
USER.md (você)
- ✓"Nei, programador, fala PT-BR."
- ✓"Prefere respostas curtas com exemplo."
- ✓"Trabalha com Python e n8n."
- ✓"Fuso: America/Sao_Paulo."
🧪Teste mental
"Se eu trocasse o usuário, isto continuaria valendo?"
- • Se SIM → vai em SOUL.md (é traço do agente)
- • Se NÃO → vai em USER.md (é dado seu)
🎯Resumo do módulo
Próximo módulo:
3.4 - ⏰ Crons: agendamento e flags