Qu'est-ce que SOUL.md ?
Chaque agent OpenClaw possède un fichier appelé SOUL.md qui agit comme sa couche d'identité fondamentale. C'est un simple fichier Markdown qui définit la personnalité de votre agent, son style de communication, ses valeurs fondamentales et ses garde-fous comportementaux. OpenClaw lit ce fichier au démarrage et l'applique comme prompt de niveau système à chaque interaction — que votre agent réponde à un message matinal, rédige un e-mail ou exécute une tâche planifiée à 3 heures du matin.
Contrairement aux chatbots traditionnels qui réinitialisent leur personnalité à chaque conversation, votre agent OpenClaw maintient un sens cohérent de soi grâce à SOUL.md. Le même ton, les mêmes priorités, les mêmes règles — toujours.
Où se trouve-t-il ?
SOUL.md se trouve à l'emplacement :
~/.openclaw/agents/<agent_id>/SOUL.md
Si vous n'avez qu'un seul agent (celui par défaut), le chemin est généralement ~/.openclaw/agents/default/SOUL.md. OpenClaw crée un SOUL.md minimal lors de l'intégration, mais la plupart des utilisateurs le personnalisent considérablement au fil du temps.
Anatomie d'un bon SOUL.md
Un SOUL.md bien structuré comporte quatre sections :
1. Identité
Qui est l'agent ? Quel est son nom ? Quel est son rôle ?
# 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. Style de communication
Comment l'agent doit-il s'exprimer ? Formel ou décontracté ? Concis ou détaillé ?
# 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. Valeurs fondamentales et règles
Les limites comportementales non négociables. C'est la section la plus importante pour la sécurité et l'alignement.
# 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. Connaissances du domaine
Le contexte auquel l'agent devrait toujours avoir accès.
# 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
Exemples concrets
Le minimaliste
You are a helpful assistant. Be brief. Confirm before destructive actions.
Cela fonctionne. SOUL.md n'a pas besoin d'être long. Mais des instructions spécifiques produisent un comportement spécifique.
L'assistant de direction
# 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
L'agent 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
Conseils pour rédiger de meilleures âmes
- 1.Soyez spécifique, pas vague. « Sois utile » ne produit rien. « Maximum 5 points, confirmer avant suppression de fichier » produit un comportement cohérent.
- 2.Commencez court, itérez. Commencez avec 10 lignes. Ajoutez des règles uniquement lorsque vous remarquez que l'agent fait quelque chose que vous ne souhaitez pas. Chaque ligne dans SOUL.md doit mériter sa place.
- 3.Testez avec des cas limites. Demandez à votre agent de faire quelque chose d'ambigu ou de risqué. Observez comment il répond. Ajustez les règles.
- 4.Utilisez l'agent pour écrire sa propre âme. Après une semaine d'utilisation, demandez à votre agent : « En te basant sur nos interactions jusqu'à présent, suggère des améliorations pour ton SOUL.md. » Il identifie souvent des lacunes que vous avez manquées.
- 5.Restez en dessous de 2 000 mots. SOUL.md est chargé dans chaque prompt. Une âme surchargée gaspille des tokens et dilue les règles importantes. Si vous avez besoin de connaissances étendues du domaine, utilisez plutôt les compétences ou la mémoire.
SOUL.md vs. compétences vs. mémoire
| Couche | Objectif | Persistance |
|---|---|---|
| SOUL.md | Identité, ton, règles | Toujours chargé |
| Compétences | Capacités (ce que l'agent peut faire) | Chargées à la demande |
| Mémoire | Faits appris au fil du temps | Croît au fil du temps |
SOUL.md définit qui est l'agent. Les compétences définissent ce qu'il peut faire. La mémoire définit ce qu'il sait. Les trois fonctionnent ensemble, mais SOUL.md est la fondation qui façonne la manière dont les compétences sont utilisées et dont les souvenirs sont interprétés.
Pour commencer
- 1.Ouvrez votre SOUL.md :
nano ~/.openclaw/agents/default/SOUL.md - 2.Rédigez votre identité, votre style et vos règles
- 3.Redémarrez OpenClaw :
openclaw restart - 4.Testez en discutant avec votre agent et en observant le ton et le comportement
- 5.Itérez
L'âme de votre agent n'est que du texte Markdown. Si vous savez rédiger un document, vous pouvez façonner un agent qui vous ressemble.
Pour plus d'exemples et de modèles contribués par la communauté, consultez la référence officielle SOUL.md et le projet de modèles soul.md.