O Que É o SOUL.md?
Todo agente OpenClaw tem um arquivo chamado SOUL.md que atua como sua camada fundamental de identidade. É um arquivo Markdown simples que define a personalidade, o estilo de comunicação, os valores centrais e as proteções comportamentais do seu agente. O OpenClaw lê esse arquivo na inicialização e o aplica como um prompt de nível de sistema a cada interação — seja seu agente respondendo a uma mensagem matinal, redigindo um e-mail ou executando uma tarefa agendada às 3 da manhã.
Diferente de chatbots tradicionais que resetam sua personalidade a cada conversa, seu agente OpenClaw mantém um senso de identidade consistente através do SOUL.md. O mesmo tom, as mesmas prioridades, as mesmas regras — sempre.
Onde Ele Fica?
O SOUL.md está localizado em:
~/.openclaw/agents/<agent_id>/SOUL.md
Se você só tem um agente (o padrão), o caminho é tipicamente ~/.openclaw/agents/default/SOUL.md. O OpenClaw cria um SOUL.md mínimo durante o onboarding, mas a maioria dos usuários o personaliza bastante ao longo do tempo.
Anatomia de um Bom SOUL.md
Um SOUL.md bem estruturado tem quatro seções:
1. Identidade
Quem é o agente? Qual é o nome dele? Qual é o papel dele?
# Identity
You are Atlas, a technical assistant for a software engineering team.
You work for Acme Corp. Your primary user is Sarah, the lead engineer.
2. Estilo de Comunicação
Como o agente deve falar? Formal ou casual? Conciso ou detalhado?
# Communication Style
- Be concise. Prefer bullet points over paragraphs.
- Never use emojis unless the user does first.
- Default to English. Switch to Chinese if the user writes in Chinese.
- When explaining technical concepts, use analogies.
3. Valores Centrais e Regras
Limites comportamentais inegociáveis. Esta é a seção mais importante para segurança e alinhamento.
# Rules
- Never delete files without explicit confirmation.
- Never send messages to contacts unless specifically asked.
- Always summarize what you plan to do before executing multi-step tasks.
- If you are unsure about something, say so. Do not guess.
- Never share API keys, passwords, or sensitive data in chat messages.
4. Conhecimento de Domínio
Contexto ao qual o agente deve sempre ter acesso.
# Context
- Our tech stack: Next.js, PostgreSQL, Redis, deployed on AWS
- Sprint cycle: 2-week sprints, standup at 9:30 AM PST daily
- Code style: We follow the Airbnb ESLint config
- Jira project key: ACME
Exemplos do Mundo Real
O Minimalista
You are a helpful assistant. Be brief. Confirm before destructive actions.
Isso funciona. O SOUL.md não precisa ser longo. Mas instruções específicas produzem comportamento específico.
O Assistente Executivo
# Identity
You are Monday, a personal executive assistant.
# Style
- Professional but warm tone
- Proactive: suggest follow-ups after completing tasks
- Morning briefing at 8 AM: calendar, unread messages, weather, top news
# Rules
- Never schedule meetings without checking calendar conflicts first
- Always include timezone when mentioning times
- Summarize long emails in 3 bullet points before forwarding
O Agente DevOps
# Identity
You are Ops, a DevOps automation agent for a small startup.
# Style
- Terse, terminal-style responses
- Use code blocks for all commands
- No pleasantries
# Rules
- Never run destructive commands (rm -rf, DROP TABLE, force push) without confirmation
- Log all infrastructure changes to #ops-log channel
- Alert on-call if any health check fails twice in a row
# Context
- Infrastructure: 3 EC2 instances, RDS PostgreSQL, CloudFront CDN
- Monitoring: Datadog, PagerDuty
- Deploy: GitHub Actions -> ECR -> ECS
Dicas para Escrever Almas Melhores
- 1.Seja específico, não vago. "Seja útil" não produz nada. "Máximo 5 bullet points, confirmar antes de deletar arquivos" produz comportamento consistente.
- 2.Comece curto, itere. Comece com 10 linhas. Adicione regras apenas quando notar o agente fazendo algo que você não quer. Cada linha no SOUL.md deve merecer seu lugar.
- 3.Teste com casos extremos. Peça ao seu agente para fazer algo ambíguo ou arriscado. Veja como ele responde. Ajuste as regras.
- 4.Use o agente para escrever sua própria alma. Após uma semana de uso, pergunte ao seu agente: "Com base nas nossas interações até agora, sugira melhorias para o seu SOUL.md." Ele frequentemente identifica lacunas que você não percebeu.
- 5.Mantenha abaixo de 2.000 palavras. O SOUL.md é carregado em cada prompt. Uma alma inchada desperdiça tokens e dilui as regras importantes. Se você precisa de conhecimento de domínio extenso, use skills ou memória em vez disso.
SOUL.md vs. Skills vs. Memória
| Camada | Propósito | Persistência |
|---|---|---|
| SOUL.md | Identidade, tom, regras | Sempre carregado |
| Skills | Capacidades (o que o agente pode fazer) | Carregadas sob demanda |
| Memória | Fatos aprendidos ao longo do tempo | Cresce ao longo do tempo |
O SOUL.md define quem o agente é. Skills definem o que ele pode fazer. Memória define o que ele sabe. Todos os três trabalham juntos, mas o SOUL.md é a fundação que molda como as skills são usadas e como as memórias são interpretadas.
Começando
- 1.Abra seu SOUL.md:
nano ~/.openclaw/agents/default/SOUL.md - 2.Escreva sua identidade, estilo e regras
- 3.Reinicie o OpenClaw:
openclaw restart - 4.Teste conversando com seu agente e observando o tom e comportamento
- 5.Itere
A alma do seu agente é apenas texto Markdown. Se você consegue escrever um documento, você consegue criar um agente que pareça seu.
Para mais exemplos e templates contribuídos pela comunidade, confira a referência oficial do SOUL.md e o projeto de templates soul.md.