SOUL.mdとは?
すべてのOpenClawエージェントには、基盤となるアイデンティティレイヤーとして機能するSOUL.mdというファイルがあります。これはプレーンなMarkdownファイルで、エージェントの性格、コミュニケーションスタイル、コアバリュー、行動のガードレールを定義します。OpenClawは起動時にこのファイルを読み込み、すべてのインタラクション——朝のメッセージへの応答、メールの下書き、午前3時のスケジュールタスクの実行——にシステムレベルのプロンプトとして適用します。
会話ごとに性格がリセットされる従来のチャットボットとは異なり、OpenClawエージェントはSOUL.mdを通じて一貫した自己意識を維持します。同じトーン、同じ優先事項、同じルール——常に。
どこに保存されているか?
SOUL.mdは以下の場所にあります:
~/.openclaw/agents/<agent_id>/SOUL.md
エージェントが1つだけ(デフォルト)の場合、パスは通常~/.openclaw/agents/default/SOUL.mdです。OpenClawはオンボーディング中に最小限のSOUL.mdを作成しますが、ほとんどのユーザーは時間の経過とともに大幅にカスタマイズします。
良いSOUL.mdの構造
適切に構成されたSOUL.mdには4つのセクションがあります:
1. アイデンティティ
エージェントは誰か?名前は?役割は?
# 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. コミュニケーションスタイル
エージェントはどのように話すべきか?フォーマルかカジュアルか?簡潔か詳細か?
# 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. コアバリューとルール
交渉不可の行動境界。これは安全性とアライメントにとって最も重要なセクションです。
# 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. ドメイン知識
エージェントが常にアクセスできるべきコンテキスト。
# 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
実世界の例
ミニマリスト
You are a helpful assistant. Be brief. Confirm before destructive actions.
これでも動作します。SOUL.mdは長い必要はありません。しかし具体的な指示は具体的な行動を生み出します。
エグゼクティブアシスタント
# 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
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
より良い魂を書くためのヒント
- 1.曖昧ではなく具体的に。 「役に立ってください」は何も生み出しません。「箇条書きは最大5項目、ファイル削除前に確認」は一貫した行動を生み出します。
- 2.短く始めて、イテレーションする。 10行から始めましょう。エージェントが望まないことをした時にだけルールを追加します。SOUL.mdのすべての行がその場所を獲得すべきです。
- 3.エッジケースでテストする。 エージェントに曖昧またはリスクのあることをさせてみてください。応答を観察しましょう。ルールを調整します。
- 4.エージェントに自身の魂を書かせる。 1週間使用した後、エージェントに尋ねてみてください:「これまでのやり取りに基づいて、あなたのSOUL.mdの改善点を提案してください。」見落としていたギャップを特定してくれることがよくあります。
- 5.2,000語以内に保つ。 SOUL.mdはすべてのプロンプトにロードされます。肥大化した魂はトークンを浪費し、重要なルールを希薄化します。広範なドメイン知識が必要な場合は、代わりにスキルやメモリを使用してください。
SOUL.md vs. スキル vs. メモリ
| レイヤー | 目的 | 永続性 |
|---|---|---|
| SOUL.md | アイデンティティ、トーン、ルール | 常にロード |
| スキル | 能力(エージェントができること) | オンデマンドでロード |
| メモリ | 時間の経過とともに学んだ事実 | 時間とともに成長 |
SOUL.mdはエージェントが誰であるかを定義します。スキルはエージェントが何ができるかを定義します。メモリはエージェントが何を知っているかを定義します。3つすべてが連携しますが、SOUL.mdはスキルの使い方とメモリの解釈方法を形作る基盤です。
はじめに
- 1.SOUL.mdを開く:
nano ~/.openclaw/agents/default/SOUL.md - 2.アイデンティティ、スタイル、ルールを書く
- 3.OpenClawを再起動:
openclaw restart - 4.エージェントとチャットしてトーンと行動を観察してテスト
- 5.イテレーション
エージェントの魂は単なるMarkdownテキストです。ドキュメントが書ければ、自分だけのエージェントを作り上げることができます。
さらなる例とコミュニティ提供のテンプレートについては、公式SOUL.mdリファレンスとsoul.mdテンプレートプロジェクトをご覧ください。