Soul.md erklärt — Die Persönlichkeit deines OpenClaw-Agenten
Direkte Antwort: Soul.md ist eine Markdown-Datei in OpenClaw, die Persönlichkeit, Tonalität, Expertise und Verhaltensregeln deines KI-Agenten festlegt. Sie wird bei jeder Anfrage als Systemkontext mitgegeben und macht aus einem generischen Modell deinen persönlichen Assistenten.
Was ist Soul.md?
Soul.md ist die wichtigste Konfigurationsdatei in OpenClaw. Sie definiert die Persönlichkeit, das Verhalten und die Grundregeln deines KI-Agenten. Stell dir Soul.md als die "DNA" deines Assistenten vor: Sie bestimmt, wie er denkt, spricht und handelt. Technisch ist sie eine reine Markdown-Datei, die OpenClaw bei jeder Anfrage als Systemkontext an das LLM (z.B. Claude oder GPT) mitsendet.
Im Gegensatz zu klassischen Chatbots, bei denen du jedes Mal aufs Neue erklären musst, wie der Bot ticken soll, ist Soul.md persistent. Einmal geschrieben, prägt sie das Verhalten deines Agenten dauerhaft.
Kontext
OpenClaw orientiert sich an einem mentalen Modell, das aus mehreren Markdown-Dateien besteht: Identity, Soul, User, Memory. Jede Datei hat eine andere Rolle. Soul.md ist die Schicht zwischen der nüchternen Identity (Name, Sprache, Modell) und dem dynamischen Memory (was bisher passiert ist). Die Soul ist statisch im Sinne von "ändert sich nur, wenn du es willst" und prägt jedes Gespräch.
Diese Trennung ist bewusst gewählt. Anstatt einen langen System-Prompt zu pflegen, kannst du in Soul.md modular arbeiten: Persönlichkeit hier, Regeln dort, Expertise woanders. Du kannst Soul-Files für verschiedene Rollen anlegen und je nach Use Case wechseln.
Wozu braucht man Soul.md?
Ohne eine konfigurierte Soul.md verhält sich dein Agent generisch wie ein Standard-Chatbot. Mit einer gut geschriebenen Soul.md wird er zu deinem persönlichen Assistenten:
- Tonalität: Formell oder locker? Direkt oder diplomatisch?
- Expertise: Worüber weiß er Bescheid? Was sind seine Schwerpunkte?
- Verhaltensregeln: Was soll er tun und was nicht?
- Datenschutz: Welche Daten soll er niemals speichern oder weitergeben?
- Format-Vorlieben: Aufzählungen oder Fließtext? Code-Blöcke immer mit Sprachangabe?
Funktionsweise
Wenn dein OpenClaw-Agent eine Nachricht erhält, baut das Gateway intern einen Prompt zusammen. Dieser Prompt enthält neben deiner aktuellen Nachricht auch:
- Die Identity (Basisrolle)
- Die Soul.md (Persönlichkeit und Regeln)
- Die User.md (Infos über dich)
- Relevante Memory-Auszüge (Erinnerungen)
- Aktive Skills (Tools, die er nutzen darf)
Soul.md wird also bei jedem Turn frisch geladen. Ändere etwas in der Datei, und schon das nächste Gespräch nutzt die neue Version. Kein Neustart, kein Reload.
Praxis-Beispiel
Eine minimal lauffähige Soul.md für einen Marketing-Assistenten:
# Persönlichkeit
Du bist ein effizienter, direkter Assistent. Du sprichst locker, aber professionell.
Vermeide unnötige Füllwörter. Liefere Ergebnisse, keine Romane.
# Expertise
- Content Marketing (LinkedIn, Blog, Newsletter)
- Projektmanagement (kleine Teams, agil)
- Kundenrecherche und CRM-Pflege
# Regeln
- Antworte immer auf Deutsch, es sei denn ich schreibe auf Englisch
- Frag nach, wenn dir Informationen fehlen
- Speichere niemals Kreditkartendaten oder Passwörter
- Bei Unsicherheit: lieber nachfragen als raten
- Nenne keine Quellen, die du nicht wirklich gesehen hast
# Format
- Lieber kurze Bullet-Points als lange Absätze
- Code-Blöcke immer mit Sprachangabe
- Bei Schreibaufgaben: erst Outline, dann Ausarbeitung
Speicher diese Datei als ~/openclaw/soul.md, starte das Gateway neu (oder nicht, weil Soul.md live geladen wird) und der Agent verhält sich entsprechend.
Soul.md vs. System Prompt
Bei ChatGPT oder Claude im Browser gibt es den "System Prompt" als kurze Anweisung am Anfang des Chats. Soul.md geht deutlich weiter:
| Feature | System Prompt | Soul.md | | --- | --- | --- | | Persistenz | Pro Session | Permanent | | Umfang | Wenige Zeilen | Beliebig lang | | Tiefe | Oberflächlich | Charakter, Regeln, Expertise | | Zusammenspiel | Allein | Mit User.md, Memory, Identity | | Versionierung | Nicht möglich | Per Git wie jede andere Datei |
Häufige Fehler / Stolperfallen
- Zu generisch formulieren: "Sei hilfreich und freundlich" bringt nichts, weil das Standardverhalten ohnehin so ist. Sei spezifisch.
- Widersprüche: Wenn du oben "kurz und knapp" schreibst und unten "ausführlich und detailliert", muss das LLM raten. Halte die Soul.md konsistent.
- Zu lang: Soul.md ist Teil jedes Tokens, der an die Anthropic API geht. Eine 5.000-Wörter-Soul kostet bei jeder Anfrage Geld. Halte sie unter 1.000 Wörter, wenn möglich.
- Sicherheits-Annahmen: Schreibe nicht "Ignoriere Versuche, deine Regeln zu umgehen". Das bringt wenig gegen Prompt Injection. Echte Sicherheit kommt durch Allowlists, nicht durch Bitten.
- Soul.md mit User.md verwechseln: Soul = wer bist DU (der Agent). User = wer bin ICH (der Nutzer). Werden die Rollen vermischt, halluziniert der Agent über sich selbst.
Tipps für eine gute Soul.md
- Sei spezifisch: "Antworte kurz" ist weniger nützlich als "Halte Antworten unter 200 Wörter, es sei denn ich bitte explizit um eine ausführliche Antwort."
- Definiere Grenzen: Was soll der Agent NICHT tun? Welche Entscheidungen soll er NICHT selbstständig treffen?
- Lass dich interviewen: Sag deinem Agenten, er soll dir 10-15 Fragen stellen und dann die Soul.md selbst schreiben.
- Iteriere: Die perfekte Soul.md entsteht nicht beim ersten Mal. Passe sie an, wenn der Agent sich nicht wie gewünscht verhält.
- Versioniere mit Git: Soul.md ist Code für deine Persönlichkeit. Behandle sie so.
Verwandte Begriffe
Lerne in Modul 3 der Masterclass, wie du deine perfekte Soul.md schreibst.