システムプロンプト
システムプロンプトは、モデルへの各リクエストで会話の前に送られる指示ブロックで、モデルの役割と従うルールを設定します。
Claude API では system パラメータとしてメッセージリストとは別に保持されます。コーディングエージェントでは、ユーザーではなくエージェント開発者が記述し、エージェントの動作・ツール使用方法・回答フォーマットを規定し、入力前に適用されます。Claude Code では --system-prompt で置換、--append-system-prompt で拡張できます。
他の層がそれを取り囲みます。Anthropic の API はツール定義時に独自のシステムプロンプトを、思考が有効なときに別のプロンプトを追加します。各リクエストには、クライアントが利用可能にするツール定義が含まれます。CLAUDE.md はそれに含まれず、Claude Code はシステムプロンプトの後にユーザーメッセージとしてロードします。
リクエスト間で内容が変わらないため、プロンプトキャッシュは最も効果的に扱い、最初のリクエスト以降は入力価格の一部でキャッシュから読み取ります。その反面、変更は高コストです。Anthropic はツール、システムプロンプト、メッセージの順にキャッシュするため、システムプロンプトを編集すると以降のすべてが無効化され、次のリクエストで会話全体を再処理します。
単一タスク向けの指示はシステムプロンプトではなく会話に含めるべきです。Claude Code のプランモードやスキルは指示を会話メッセージとして追加し、キャッシュされたプレフィックスを保持します。