エージェントに魂を宿す3ファイルアーキテクチャ
SOUL.md、IDENTITY.md、USER.mdが、あなたのOpenClawセットアップにおいて最も重要なファイルである理由 — そして、あなたのエージェントが画一的なチャットボットのような口調になるのを防ぐための、これらのファイルの書き方。
エージェントに魂を宿す3ファイルアーキテクチャ
OpenClawのセットアップにおいてSOUL.md、IDENTITY.md、USER.mdが最も重要なファイルである理由
エージェントインフラストラクチャシリーズ・第13回
もしあなたのOpenClawエージェ
汎用的なツールとパーソナライズされたパートナーの違いは、次の3つのマークダウンファイルにあります。
SOUL.md: エージェントのパーソナリティ、価値観、そして制約。IDENTITY.md:
1. SOUL.md: パーソナリティの核
これは、エージェントを海賊のように話させるためのものではありません(もちろん、そうしたい場合は別ですが)。SOUL.mdは、エージェントの雰囲気と制約を定義します。
悪いSOUL.mdの例:
あなたは役立つアシスタントです。親切にしてください。
良いSOUL.md:
# コア哲学
- あなたはジュニアの家庭教師ではなく、シニアエンジニアのペアプログラマーです。
- 簡潔に。余計な言葉は省く。「I hope this finds you well
---
**これが重要な理由:**このファイルは、パワーユーザーを苛立たせる、あの過度に丁寧で冗長、そして断定を避ける「ChatGPT特有の口調」を防ぎます。これにより、モデルにあなたのワークフローに合った特定のペルソナを
---
## 2. `IDENTITY.md`: プロフェッショナルとしての役割
`SOUL.md`が性格だとすれば、`IDENTITY.md`は職務経歴書です。これは、エージェントが何を*得意とする*かを示します。
**DevOps
---
## 専門知識
- Kubernetes、Terraform、AWSネットワーキングの専門家です。
- 手動での修正よりも「Infrastructure as Code」によるソリューションを優先します。
- すべての本番環境は、リスクが高く、脆弱であると想定します。
---
## メンタルモデル
- マーフィーの法則:壊れる可能性のあるものは、いずれ壊れる。まずバックアップを確認すること。
- べき等性:作成するすべてのスクリプトは、2回実行しても安全でなければならない。
- セキュリティ:最小権限をデフォルトとする。
**なぜ重要か:** これがない場合、モデルはデフォルトで「一般的な知識」に頼ります。これがあることで、その推論は特定のドメインのベストプラクティスへと方向付けられます。SREのアイデンティティを持つエージェントはデータベースを削除する際に警告しますが、汎用的なエージェントはそのまま実行してしまうかもしれません。
---
---
## 3. `USER.md`: あなたに関するコンテキスト
これは最も過小評価されているファイルです。これがあれば、同じことを何度も説明する必要がなくなります。
**ここに含まれるもの:**
* あなたの技術スタックの好み(例:「JSではなくTypeScriptを使います」)。
* あなたの環境の詳細(例:「macOSでzshを使っています」)。
* あなたのプロジェクトパス。
* あなたのコミュニケーションにおける癖や特徴。
**例:**
```markdown
# ユーザーコンテキスト
---
## 環境
- OS: macOS Sequoia
- シェル: zsh with oh-my-zsh
- エディター: Cursor
---
## 好み
- JSでのセミコロンは嫌いです。
- `npm`よりも`pnpm`を好みます。
- 警告なしに`rm -rf`を提案しないでください。
- 私が「デプロイ」と言うときは、「スクリプトの実行」ではなく「mainブランチへのプッシュ」を意味します。
---
## 現在のプロジェクト
- /Users/kingsoft/work/frontend (Next.js)
- /Users/kingsoft/work/backend (Go)
これが重要な理由: エージェントは今や「デプロイ」が git push を意味することを理解しました
「コンテキストカーネル」の実際の動作
例えば「ビルドを修正して」のようなメッセージを送信すると、OpenClawは単に「ビルドを修正して」という言葉だけを見ているわけではありません。
実際には、以下のように認識しています。
[システムコンテキスト] SOUL.mdより: 簡潔に。間違った前提を正すこと。 IDENTITY.mdより: あなたはSREです。デフォルトでは安全で冪等な修正を行うこと。 USER.mdより: ユーザーはmacOS上でpnpmを使用している。
[ユーザーメッセージ] ビルドを修正して。
その結果、一般的なトラブルシューティングのリストではなく、次のような回答が得られます。
「pnpm-lock.yamlに競合が見られます。macOSをご利用ですので、pnpm install --frozen-lockfileを実行して、依存関係を変更せずに安全に同期してください。」
これは具体的かつ安全で、あなたに合わせたものです。
設定方法
これらのファイルは、OpenClawのワークスペースディレクトリ(デフォルト: ~/.openclaw/workspace/)に配置されます。これは~/.openclaw/にある設定ファイルとは別の場所です。
フォルダ構成:
~/.openclaw/workspace/
├── SOUL.md <-- 全体的な雰囲気
├── IDENTITY.md <-- 役割
├── USER.md <-- あなた
└── AGENTS.md <-- ルール
「具体性テスト」
ファイルが適切に設定されているか確認したい場合は、具体性テストを行ってください。
エージェントにこう尋ねます: 「あなたは誰ですか?」
- 失敗: 「私は〜によって作成されたAIアシスタントです…」
- 成功: 「私はあなたのSREペアプログラマーです。冪等性のあるインフラコードに焦点を当てており、あなたがmacOSでpnpmを好むことを知っています。」
あなたの好みを引用して返答できない場合、あなたのマークダウンの記述が曖昧すぎます。
Markdownを書きたくないですか?
これらのファイルをゼロから書くのは、手間がかかり面倒です。
TinyClawには**「ペルソナジェネレーター」**機能があります。いくつかの項目(例:「役割:開発者」「スタイル