# システムプロンプトの構築

OpenClawは、AIアシスタントが必要なコンテキストとツールをすべて備えていることを保証するために、モジュール方式でシステムプロンプトを構築します。

## コアビルダー (`src/agents/system-prompt.ts`)
`buildAgentSystemPrompt` 関数が、最終的なプロンプト文字列の組み立てを担当します。

### モジュール化されたセクション
プロンプトは、条件に応じた複数のセクションで構成されています：

1.  **Tooling (ツール群)**: 使用可能なすべてのツール（`read`, `write`, `exec`, `web_search` など）のリストと短い説明。
2.  **Safety (安全性)**: 倫理的な行動を保証するためのAnthropicの「憲法（Constitution）」に基づく指示。
3.  **CLI Reference (CLIリファレンス)**: OpenClawサービスの管理に使用するクイックコマンド。
4.  **Skills (スキル)**: ワークスペースに `SKILL.md` ファイルがある場合、それらの使用方法に関する指示が追加されます。
5.  **Memory Recall (メモリ想起)**: 過去のやり取りを想起するために `MEMORY.md` を使用する指示。
6.  **Workspace (ワークスペース)**: 作業ディレクトリの指定。
7.  **Sandbox (サンドボックス)**: Dockerで実行されている場合、環境に関する詳細が含まれます。
8.  **User Identity (ユーザー識別)**: ユーザーに関する情報（名前、電話番号など）。
9.  **Date & Time (日時)**: 現在のタイムスタンプとタイムゾーン。
10. **Project Context (プロジェクトコンテキスト)**: 特定のコンテキストファイル（ペルソナ用の `SOUL.md` など）の内容を挿入します。

### フォーマット指示
プロンプトには厳格なフォーマットルールも含まれています：
- **Reasoning (推理)**: 「Thinking」モデルが使用されている場合、`<think>...</think>` タグの使用を強制します。
- **Reply Tags (リプライタグ)**: チャンネル固有のアクションのための `[[reply_to_current]]` などの特殊タグ。
- **Silent Replies (サイレントリプライ)**: 応答が不要な場合に使用される `SILENT_REPLY_TOKEN`。

## 動的なアップデート
システムプロンプトは**静的なものではありません**。以下を含めるために、セッション内の**毎ターン**再構築されます：
- 最新のツール概要。
- 現在の日時。
- 更新されたサンドボックスまたはランタイムのステータス。
- CLIやサブエージェントから渡された「追加の」システムプロンプト。
