ブートストラッピングとは、OpenClaw エージェントの「初回ワークスペース初期化 + 初期チューニング」の仕組みです。初回セッション時に自動で起動し、エージェントの名前・性格・行動ルールなどを対話形式で設定します。
仕組みの概要
OpenClaw はセッション開始時にワークスペース(デフォルト: ~/.openclaw/workspace)内の .md ファイルを読み込み、システムプロンプトに注入します。
~/.openclaw/workspace/
├── BOOTSTRAP.md # 初回のみ実行され、完了後に自動削除
├── AGENTS.md # エージェントの行動ルール
├── SOUL.md # エージェントのパーソナリティ
├── IDENTITY.md # エージェントの自己定義
├── USER.md # ユーザー情報・好み
├── TOOLS.md # ツール設定
├── HEARTBEAT.md # 定期タスク設定
└── MEMORY.md # 長期記憶(任意)
注意:BOOTSTRAP.mdは初回セッション時に1度だけ実行され、完了後に自動削除されます。再実行したい場合はskipBootstrap: trueを設定、または手動でファイルを再配置します。
ブートストラッピングの実行フロー
初回セッション開始時、エージェントは BOOTSTRAP.md を読み込み、対話形式で以下を設定します。
1. エージェントの自己認識(名前・キャラクター・トーン・絵文字)
↓
2. IDENTITY.md・USER.md を作成・更新
↓
3. SOUL.md で価値観を深掘り
↓
4. 通信チャネルの設定(任意)
↓
5. BOOTSTRAP.md を自動削除して完了
ロボット的な質問攻めではなく、自然な会話のトーンで進みます。
各ファイルの役割
BOOTSTRAP.md — 初回セットアップ(自動削除)
初回のみ実行される Q&A セッションです。エージェントがユーザーに以下を質問し、その回答を各ファイルに書き込みます。
| 質問内容 | 書き込み先 |
|---|---|
| エージェントの名前 | IDENTITY.md |
| キャラクター・性質 | IDENTITY.md |
| トーン(フォーマル・カジュアル等) | IDENTITY.md |
| シグネチャー絵文字 | IDENTITY.md |
| ユーザーの呼び方・大切にしていること | USER.md |
| 価値観・行動指針 | SOUL.md |
IDENTITY.md — エージェントの自己定義
エージェント自身が「自分は何者か」を定義するファイルです。
| フィールド | 内容 |
|---|---|
Name | エージェントの名前 |
Creature | 存在の定義(AI、アシスタント、使い魔 等) |
Vibe | 雰囲気(鋭い、温かい、落ち着いている 等) |
Emoji | シグネチャー絵文字 |
Avatar | アバター画像(ワークスペース相対パス / URL / データURI) |
SOUL.md — パーソナリティ定義
毎セッション最初に読み込まれ、エージェントの人格・価値観・トーンを定義します。変更は次回セッションから反映されます。
主なセクション:
| セクション | 内容 |
|---|---|
Core Truths | 表面的でなく実質的な支援、自力で問題解決してから質問 等 |
Boundaries | 機密情報の保護、外部アクション(メール送信等)は慎重に |
Vibe | 誠実で個性的なアシスタントとしての雰囲気 |
Continuity | ファイルを記憶装置として自己更新する仕組み |
ファイルは 50〜150行(1〜2ページ)程度が最も効果的とされています。
AGENTS.md — 行動ルール
毎セッション読み込まれ、エージェントの行動規則・メモリ管理・禁止事項を定義します。
主なセクション:
| セクション | 内容 |
|---|---|
First Run | 初回は BOOTSTRAP.md に従い自己認識を行う |
Memory | 日次ノート(memory/YYYY-MM-DD.md)と長期記憶(MEMORY.md)の管理ルール |
Red Lines | プライベートデータの流出禁止、破壊的コマンド実行前の確認必須 |
External vs Internal | ファイル読み込みは自由、メール送信・公開投稿は事前許可が必要 |
Group Chats | 量より質、直接質問された場合のみ応答 |
USER.md — ユーザー情報
エージェントがユーザーをより深く理解するための情報を蓄積するファイルです。
| フィールド | 内容 |
|---|---|
Name | ユーザーの実名 |
What to call them | 呼び方の好み |
Pronouns | 代名詞(オプション) |
Timezone | タイムゾーン |
Notes | その他の情報 |
Context | 大切にしていること、進行中のプロジェクト、好み等 |
TOOLS.md — ツール設定
エージェントが使用するツールのローカル設定を記録します。スキル確認には SKILL.md を参照します。
HEARTBEAT.md — 定期タスク設定
エージェントが定期的に実行するタスクを定義します。
# ファイルが空またはコメントのみの場合、ハートビートの API コールはスキップされます
# 定期チェックしたいタスクを以下に追加してください
設定例(メール・カレンダー・天気の定期チェック等)を追加すると、ハートビート実行時に自動で処理します。
MEMORY.md — 長期記憶(任意)
自動作成はされません。存在する場合、毎セッションで読み込まれます。重要な決定・教訓・学習内容を蓄積するファイルです。
ファイルの注入タイミング
| ファイル | 通常セッション | サブエージェント | ハートビート |
|---|---|---|---|
| AGENTS.md | ✅ | ✅ | - |
| SOUL.md | ✅ | - | - |
| IDENTITY.md | ✅ | - | - |
| USER.md | ✅ | - | - |
| TOOLS.md | ✅ | ✅ | - |
| HEARTBEAT.md | - | - | ✅ |
| MEMORY.md | ✅(存在する場合) | - | - |
設定の上限値
| 設定項目 | デフォルト値 |
|---|---|
| 1ファイルあたりの最大文字数 | 20,000文字 |
| 全ファイル合計の最大文字数 | 150,000文字 |
変更する場合は openclaw.json に設定します。
{
"agents": {
"defaults": {
"bootstrapMaxChars": 20000,
"bootstrapTotalMaxChars": 150000
}
}
}
ブートストラップを再実行したい場合
BOOTSTRAP.md を手動でワークスペースに再配置してから、新しいセッションを開始します。
# 公式テンプレートから再取得する場合
openclaw configure
完全リセットする場合:
openclaw onboard --reset --reset-scope full