System Prompt
OpenClaw は、エージェント実行ごとにカスタムのシステムプロンプトを構築します。このプロンプトは OpenClaw が管理 しており、pi-coding-agent のデフォルトプロンプトは使用しません。 このプロンプトは OpenClaw によって組み立てられ、各エージェント実行に注入されます。構造
このプロンプトは意図的にコンパクトで、固定セクションを使用します:- Tooling: 現在のツール一覧 + 短い説明。
- Safety: 権力追求行動や監督の回避を避けるための短いガードレールのリマインダー。
- Skills(利用可能な場合): 必要に応じて skill の指示を読み込む方法をモデルに伝えます。
- OpenClaw Self-Update:
config.schema.lookupで安全に config を確認する方法、config.patchで config にパッチを適用する方法、config.applyで config 全体を置き換える方法、そして明示的なユーザー要求がある場合にのみupdate.runを実行する方法。owner 専用のgatewayツールも、レガシーのtools.bash.*エイリアスが保護された exec パスに正規化される場合を含め、tools.exec.ask/tools.exec.securityの書き換えを拒否します。 - Workspace: 作業ディレクトリ(
agents.defaults.workspace)。 - Documentation: OpenClaw ドキュメントのローカルパス(repo または npm package)と、それを読むべきタイミング。
- Workspace Files (injected): ブートストラップファイルが以下に含まれていることを示します。
- Sandbox(有効な場合): サンドボックス化された実行時環境、サンドボックスパス、昇格された exec が利用可能かどうかを示します。
- Current Date & Time: ユーザーのローカル時刻、タイムゾーン、時刻形式。
- Reply Tags: 対応プロバイダー向けの任意の返信タグ構文。
- Heartbeats: heartbeat プロンプトと ack の動作。
- Runtime: ホスト、OS、node、モデル、repo ルート(検出された場合)、thinking レベル(1 行)。
- Reasoning: 現在の可視性レベル +
/reasoning切り替えのヒント。
- 未来のフォローアップ(
check back later、リマインダー、定期作業)には、execの sleep ループ、yieldMsの遅延トリック、繰り返しのprocessポーリングではなく cron を使用する exec/processは、今すぐ開始してバックグラウンドで実行し続けるコマンドにのみ使用する- 自動完了 wake が有効な場合は、コマンドを一度だけ開始し、出力が出たときや失敗したときの push ベースの wake パスに依存する
- 実行中コマンドのログ、状態、入力、または介入を確認する必要がある場合は
processを使用する - タスクが大きい場合は
sessions_spawnを優先する。サブエージェントの完了は push ベースで、依頼元に自動通知される - 完了を待つためだけに
subagents list/sessions_listをループでポーリングしない
/approve コマンドを含めるのは、ツール結果がチャット承認を利用できないと示す場合、または手動承認だけが唯一の経路である場合に限られます。
プロンプトモード
OpenClaw はサブエージェント向けに、より小さいシステムプロンプトをレンダリングできます。実行時は各実行に対してpromptMode を設定します(ユーザー向け config ではありません):
full(デフォルト): 上記のすべてのセクションを含みます。minimal: サブエージェントに使用されます。Skills、Memory Recall、OpenClaw Self-Update、Model Aliases、User Identity、Reply Tags、Messaging、Silent Replies、Heartbeats を省略します。Tooling、Safety、Workspace、Sandbox、Current Date & Time(判明している場合)、Runtime、および注入されたコンテキストは引き続き利用できます。none: ベースの識別行だけを返します。
promptMode=minimal の場合、追加で注入されるプロンプトには Group Chat Context ではなく Subagent Context というラベルが付きます。
ワークスペースブートストラップの注入
ブートストラップファイルはトリミングされ、Project Context の下に追記されます。これにより、モデルは明示的に読み込まなくても識別情報と profile コンテキストを把握できます:AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(まったく新しいワークスペースでのみ)MEMORY.md。存在しない場合は小文字のフォールバックとしてmemory.md
MEMORY.md は時間とともに肥大化し、予想以上にコンテキスト使用量が増え、compaction がより頻繁に発生する原因になります。
注:大きなファイルはマーカー付きで切り詰められます。ファイルごとの最大サイズはmemory/*.mdの日次ファイルは自動では注入されません。これらはmemory_searchとmemory_getツールを通じてオンデマンドでアクセスされるため、モデルが明示的に読み取らない限り、コンテキストウィンドウにはカウントされません。
agents.defaults.bootstrapMaxChars(デフォルト: 20000)で制御されます。ファイル全体にわたる
注入済みブートストラップ内容の合計は agents.defaults.bootstrapTotalMaxChars
(デフォルト: 150000)で上限が設定されます。存在しないファイルは短い missing-file マーカーを注入します。切り詰めが発生した場合、OpenClaw は Project Context に警告ブロックを注入できます。これは
agents.defaults.bootstrapPromptTruncationWarning(off、once、always、デフォルト: once)で制御します。
サブエージェントセッションでは AGENTS.md と TOOLS.md だけが注入されます(サブエージェントのコンテキストを小さく保つため、その他のブートストラップファイルは除外されます)。
内部 hook は agent:bootstrap を介してこのステップを横取りし、注入されるブートストラップファイルを変更または置換できます(たとえば SOUL.md を別の persona に差し替えるなど)。
エージェントの話し方をより汎用的でなくしたい場合は、まず
SOUL.md Personality Guide から始めてください。
注入された各ファイルがどれだけ寄与しているか(生のサイズと注入後のサイズ、切り詰め、さらにツールスキーマのオーバーヘッド)を確認するには、/context list または /context detail を使用してください。Context を参照してください。
時刻の扱い
ユーザーのタイムゾーンが分かっている場合、システムプロンプトには専用の Current Date & Time セクションが含まれます。プロンプトキャッシュを安定させるため、現在は タイムゾーン のみを含みます(動的な時計や時刻形式は含みません)。 エージェントが現在時刻を必要とする場合はsession_status を使用してください。ステータスカードにはタイムスタンプ行が含まれます。同じツールで、セッションごとのモデルオーバーライドを任意で設定することもできます(model=default でクリア)。
設定項目:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
Skills
対象となる Skills が存在する場合、OpenClaw は、各 skill の ファイルパス を含むコンパクトな available skills list(formatSkillsForPrompt)を注入します。プロンプトは、一覧に記載された場所(workspace、managed、または bundled)にある SKILL.md を read で読み込むようモデルに指示します。対象となる skill がない場合、Skills セクションは省略されます。
対象判定には、skill メタデータのゲート、実行時環境 / config チェック、および
agents.defaults.skills または agents.list[].skills が設定されている場合の実効的なエージェント skill allowlist が含まれます。
Documentation
利用可能な場合、システムプロンプトには Documentation セクションが含まれ、ローカルの OpenClaw ドキュメントディレクトリ(repo ワークスペース内のdocs/ または同梱された npm package の docs)を指し示します。また、公開ミラー、ソース repo、コミュニティ Discord、Skills 発見用の ClawHub(https://clawhub.ai)についても記載します。プロンプトは、OpenClaw の動作、コマンド、設定、またはアーキテクチャについては、まずローカルドキュメントを参照し、可能であれば openclaw status を自分で実行するようモデルに指示します(アクセスできない場合のみユーザーに尋ねます)。