プロンプトの構造
プロンプトは意図的にコンパクトに保たれており、以下の固定セクションで構成されています:- Tooling: 利用可能なツールの一覧と短い説明。
- Safety: エージェントが独断で権限を拡大したり、監視を回避したりしないようにするための、短いガードレール(指針)。
- Skills (利用可能な場合): 必要に応じてスキルの指示内容をロードする方法。
- OpenClaw Self-Update:
config.applyやupdate.runを実行する方法。 - Workspace: 作業ディレクトリ (
agents.defaults.workspace)。 - Documentation: ローカルの OpenClaw ドキュメントへのパスと、それらを参照すべきタイミング。
- Workspace Files (injected): 下記のブートストラップファイルが含まれていることを示します。
- Sandbox (有効な場合): サンドボックス化された実行環境の情報、パス、および権限昇格が可能かどうか。
- Current Date & Time: ユーザーの現地時間、タイムゾーン、および時刻形式。
- Reply Tags: 対応チャネルにおけるオプションの返信タグ構文。
- Heartbeats: ハートビート(定期実行)時のプロンプトと確認(ack)の挙動。
- Runtime: ホスト名、OS、ノード、モデル、リポジトリルート(検出時)、および思考レベル(1 行)。
- Reasoning: 現在の推論プロセスの可視化レベルと
/reasoningコマンドのヒント。
プロンプトモード
OpenClaw は、サブエージェント向けにさらに小さなシステムプロンプトを生成できます。実行時にpromptMode が設定されます(ユーザー設定項目ではありません):
full(デフォルト): 上記のすべてのセクションを含みます。minimal: サブエージェントに使用されます。Skills, Memory Recall, OpenClaw Self-Update, Model Aliases, User Identity, Reply Tags, Messaging, Silent Replies, Heartbeats が省略されます。Tooling, Safety, Workspace, Sandbox, 時刻(判明している場合), Runtime, および注入されたコンテキストは引き続き利用可能です。none: 基本的なアイデンティティ情報のみを返します。
promptMode=minimal の場合、追加で注入されたプロンプトのラベルは Group Chat Context ではなく Subagent Context になります。
ワークスペースブートストラップの注入
ブートストラップファイルは適宜切り詰められ、Project Context セクションの下に追加されます。これにより、モデルは明示的なread を行わなくても、アイデンティティやプロフィールの文脈を把握できます:
AGENTS.mdSOUL.mdTOOLS.mdIDENTITY.mdUSER.mdHEARTBEAT.mdBOOTSTRAP.md(新規ワークスペースの場合のみ)MEMORY.mdおよび/またはmemory.md(ワークスペース内に存在する場合)
MEMORY.md は時間とともに肥大化しやすく、予期せぬコンテキスト消費や頻繁な圧縮(コンパクション)の原因となります。
注意:巨大なファイルはマーカーと共に切り詰められます。ファイルごとの上限はmemory/*.mdの日次ログファイルは、自動的には注入 されません。これらはmemory_searchやmemory_getツールを介してオンデマンドでアクセスされるため、モデルが明示的に読み取らない限り、コンテキストウィンドウを消費することはありません。
agents.defaults.bootstrapMaxChars(デフォルト 20,000)で制御されます。全ファイルの合計上限は agents.defaults.bootstrapTotalMaxChars(デフォルト 150,000)です。ファイルが欠落している場合は「missing」マーカーが注入されます。切り詰めが発生した際に警告を注入するかどうかは agents.defaults.bootstrapPromptTruncationWarning (off, once, always。デフォルトは once) で設定可能です。
サブエージェントのセッションでは、コンテキストを小さく保つために AGENTS.md と TOOLS.md のみが注入され、他のファイルは除外されます。
内部フック agent:bootstrap を使用して、注入される内容を変更したり、別のペルソナ用の SOUL.md に差し替えたりすることが可能です。
注入された各ファイルがどの程度コンテキストを消費しているか(生のサイズ vs 注入サイズ、切り詰め、ツールスキーマによるオーバーヘッドなど)を確認するには、/context list または /context detail を使用してください。詳細は コンテキスト を参照してください。
時刻の扱い
システムプロンプトには、ユーザーのタイムゾーンが判明している場合に Current Date & Time セクションが含まれます。プロンプトキャッシュを安定させるため、現在は タイムゾーン名 のみが含まれています(動的な時刻や形式は含まれません)。 エージェントが現在時刻を必要とする場合は、session_status ツールを使用します。このツールのステータスカードには現在のタイムスタンプ行が含まれています。
時刻関連の設定:
agents.defaults.userTimezoneagents.defaults.timeFormat(auto|12|24)
スキル (Skills)
実行条件を満たすスキルがある場合、OpenClaw は各スキルの ファイルパス を含むコンパクトな 利用可能なスキル一覧 (formatSkillsForPrompt) を注入します。プロンプト内では、必要に応じてそのパスにある SKILL.md を read ツールで読み込むようモデルに指示されます。利用可能なスキルがない場合、このセクションは省略されます。
ドキュメント (Documentation)
利用可能な場合、システムプロンプトには Documentation セクションが含まれます。これはローカルの OpenClaw ドキュメントディレクトリ(リポジトリ内のdocs/ または npm パッケージに同梱されているもの)を指し、同時に公開ミラー、ソースリポジトリ、コミュニティ Discord、およびスキルの検索場所である ClawHub (https://clawhub.com) についても言及します。プロンプト内では、OpenClaw の動作、コマンド、構成、またはアーキテクチャについて不明な点がある場合は、まずこれらのローカルドキュメントを参照するようモデルに指示されます。また、可能な限り openclaw status を自分自身で実行して確認し、どうしてもアクセスできない場合にのみユーザーに尋ねるよう指示されています。