Wat is SOUL.md?
Elke OpenClaw-agent heeft een bestand genaamd SOUL.md dat fungeert als de fundamentele identiteitslaag. Het is een gewoon Markdown-bestand dat de persoonlijkheid, communicatiestijl, kernwaarden en gedragsrichtlijnen van uw agent definieert. OpenClaw leest dit bestand bij het opstarten en past het toe als systeem-level prompt op elke interactie — of uw agent nu reageert op een ochtendberichtje, een e-mail opstelt of een geplande taak uitvoert om 3 uur 's nachts.
In tegenstelling tot traditionele chatbots die hun persoonlijkheid bij elk gesprek resetten, behoudt uw OpenClaw-agent een consistent gevoel van zelf via SOUL.md. Dezelfde toon, dezelfde prioriteiten, dezelfde regels — altijd.
Waar bevindt het zich?
SOUL.md bevindt zich op:
~/.openclaw/agents/<agent_id>/SOUL.md
Als u slechts één agent hebt (de standaard), is het pad doorgaans ~/.openclaw/agents/default/SOUL.md. OpenClaw maakt een minimale SOUL.md aan tijdens de onboarding, maar de meeste gebruikers passen deze na verloop van tijd grondig aan.
Anatomie van een goede SOUL.md
Een goed gestructureerde SOUL.md heeft vier secties:
1. Identiteit
Wie is de agent? Wat is zijn naam? Wat is zijn rol?
# 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. Communicatiestijl
Hoe moet de agent communiceren? Formeel of informeel? Beknopt of gedetailleerd?
# 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. Kernwaarden en regels
Niet-onderhandelbare gedragsgrenzen. Dit is de belangrijkste sectie voor veiligheid en afstemming.
# 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. Domeinkennis
Context waar de agent altijd toegang toe moet hebben.
# 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
Praktijkvoorbeelden
De minimalist
You are a helpful assistant. Be brief. Confirm before destructive actions.
Dit werkt. SOUL.md hoeft niet lang te zijn. Maar specifieke instructies produceren specifiek gedrag.
De directieassistent
# 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
De DevOps-agent
# 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
Tips voor het schrijven van betere zielen
- 1.Wees specifiek, niet vaag. "Wees behulpzaam" levert niets op. "Maximaal 5 opsommingstekens, bevestig vóór bestandsverwijdering" levert consistent gedrag op.
- 2.Begin kort, itereer. Begin met 10 regels. Voeg regels alleen toe wanneer u merkt dat de agent iets doet wat u niet wilt. Elke regel in SOUL.md moet zijn plek verdienen.
- 3.Test met randgevallen. Vraag uw agent om iets dubbelzinnigs of riskants te doen. Kijk hoe hij reageert. Pas de regels aan.
- 4.Gebruik de agent om zijn eigen ziel te schrijven. Vraag na een week gebruik aan uw agent: "Stel op basis van onze interacties tot nu toe verbeteringen voor aan uw SOUL.md." Hij identificeert vaak hiaten die u hebt gemist.
- 5.Houd het onder 2.000 woorden. SOUL.md wordt bij elke prompt geladen. Een opgeblazen ziel verspilt tokens en verwatert de belangrijke regels. Als u uitgebreide domeinkennis nodig hebt, gebruik dan skills of geheugen.
SOUL.md vs. Skills vs. Geheugen
| Laag | Doel | Persistentie |
|---|---|---|
| SOUL.md | Identiteit, toon, regels | Altijd geladen |
| Skills | Mogelijkheden (wat de agent kan doen) | Op aanvraag geladen |
| Geheugen | Feiten die in de loop der tijd zijn geleerd | Groeit na verloop van tijd |
SOUL.md definieert wie de agent is. Skills definiëren wat hij kan doen. Geheugen definieert wat hij weet. Alle drie werken samen, maar SOUL.md is het fundament dat bepaalt hoe skills worden gebruikt en hoe herinneringen worden geïnterpreteerd.
Aan de slag
- 1.Open uw SOUL.md:
nano ~/.openclaw/agents/default/SOUL.md - 2.Schrijf uw identiteit, stijl en regels
- 3.Herstart OpenClaw:
openclaw restart - 4.Test door met uw agent te chatten en de toon en het gedrag te observeren
- 5.Itereer
De ziel van uw agent is gewoon Markdown-tekst. Als u een document kunt schrijven, kunt u een agent vormgeven die aanvoelt als de uwe.
Voor meer voorbeelden en door de gemeenschap bijgedragen sjablonen, bekijk de officiële SOUL.md-referentie en het soul.md-sjabloonproject.