この記事の音声は準備中です。
音声の一覧・再生リストへClaude 特化プロンプティングガイド
この記事の目的
Anthropic の Claude ファミリーに対して、公式ガイドが推奨する具体的なプロンプトの書き方を根拠を持って選べるようになります。汎用の基礎技法と上級パターンがモデル中立の原理を扱うのに対し、本記事は「Claude では XML タグ・アダプティブ思考・prefill の扱い」といった、このモデル固有の作法に踏み込みます。
本記事は鮮度管理型です。 モデル世代・機能名(効果や API 仕様)は変化が速いため、本文冒頭の最終確認日と各公式ページを必ず確認してください。
対象読者
- Claude を使ったアプリ・エージェントを実装し、そのモデルに合わせてプロンプト品質を上げたいエンジニア
- 他モデル向けに書いたプロンプトを Claude 向けに調整する、または Claude の世代交代に追従したいエンジニア
前提知識
- プロンプトエンジニアリングの基礎技法 — 汎用技法(本記事はその Claude 具体)
- 主要 LLM の全体像(モデルカタログ) — Claude ファミリーの顔ぶれ・選び方
本文
最終確認日: 2026-09-10 — Fable 5.1 の非互換と設定更新を確認しました。従来の共通指針は参考資料の確認日を参照してください。
部分再確認: 2026-10-08 — 会話途中の effort 更新について、対応モデル・提供経路と Fable 5.1 の Bedrock InvokeModel の beta 指定を確認しました。共通プロンプト指針・全モデルの互換性を一括再確認したものではありません。
概要: 汎用記事との分担
| 層 | 正本 | 本記事 |
|---|---|---|
| 汎用技法(名前・使いどころ) | 基礎技法 | — |
| 中立な原理と検証(なぜ効くか) | 上級パターン | — |
| Claude 固有の作法 | 本記事 | XML・思考制御・prefill 移行・長文配置・世代差 |
| モデルの選び方 | モデル選定ガイド / モデルカタログ | — |
| 世代交代への追従運用 | バージョニングとモデル更新追従 | — |
OpenAI・Gemini との横並び比較と移行は モデル間の違いと移行 が扱います。本記事は Claude 単体の作法に集中します。
モデルファミリーの前提(プロンプトに効く差分だけ)
顔ぶれ・価格・選び方は モデルカタログ が正本です。ここではプロンプト設計に効く差分だけを押さえます(2026-08 時点)。
- 思考は「モード」ではなくパラメータで制御する: 推論専用の別モデルはなく、汎用モデルの思考の深さをアダプティブ思考と effort で制御します(後述)
- 世代でプロンプトの効き方が変わる: 最新世代(Opus 4.7 以降)は指示をより逐語的に解釈し、旧世代向けの「補助」が過剰・不要になります(後述の移行)
- 一部の作法は API で強制される: 応答の書き出し指定(prefill)や
temperatureなどの非既定値は、最新世代では拒否(400 エラー)されます。プロンプト側で代替する必要があります
メッセージ構造とシステムプロンプト
- 役割はシステムプロンプトで与える: 用途に合わせて挙動とトーンを絞れます。一文でも効果があり(「あなたは Python に詳しいコーディング支援です」)、大げさな人格設定より判断基準を書く方が効きます(上級パターンの役割設計)
- 指示に「なぜ」を添える: 「省略記号を使うな」より「読み上げられるので省略記号を使わないで」の方が、Claude は理由から一般化して従います
- 明確・直接に書く: 公式の黄金律は「文脈のない同僚に見せて混乱するならモデルも混乱する」。順序や網羅性が重要なら番号付き・箇条書きの手順で与えます
- 会話の途中で指示を差し込む: セッション中に方針を変える指示は、
messages配列にrole: "system"のメッセージとして追加できます(2026-08 時点では Opus 5 / Fable 5 / Mythos 5 が対応。Opus 4.7 では 400 エラー、Opus 4.8 の対応可否は未確認)。開始時から効かせる指示は最上位のsystemを使います
構造化: XML タグが第一選択
Claude では、指示・文脈・例・入力の区切りに XML タグを使うのが一貫した公式推奨です。マークダウン主体の他社ガイドとの明確な差分です。
- 役割ごとにタグで囲む:
<instructions>/<context>/<input>のように種類別のタグで囲むと、混在したプロンプトを曖昧さなく解析できます - 一貫した記述的なタグ名 + 自然な入れ子:
<documents>の中に<document index="1">のように階層を表現します - 出力形式の誘導にも使う:
<prose>のような形式インジケータのタグで出力を囲ませると、形式が安定します
例示(few-shot)
Claude 公式は例示を「出力の形式・トーン・構造を操る最も信頼できる手段の一つ」と位置づけます。汎用の例示設計(上級パターン)に加え、Claude 固有の作法は次のとおりです。
- 良い例の 3 条件: Relevant(実ユースケースを反映)/ Diverse(エッジケースを含め、意図しないパターンを拾わせない)/ Structured(
<example>タグで囲む) - 3〜5 個が目安。数より代表性・多様性です
- 思考と併用する: 例の中で
<thinking>タグを使って推論の型を見せると、Claude は自分の思考にそのスタイルを一般化します
思考の制御: アダプティブ思考と effort
Claude の思考制御は、固定のトークン予算ではなく 2 つのつまみで行います(2026-08 時点)。
| つまみ | 何をするか | 補足 |
|---|---|---|
アダプティブ思考(thinking: {type: "adaptive"}) | 複雑さに応じて「いつ・どれだけ考えるか」をモデルが動的に決める | 既定はモデルで異なる(下表) |
effort(output_config.effort) | 思考だけでなく応答全体(テキスト・ツール呼び出し)の労力を low〜max で調整 | 既定値も推奨開始点もモデルで異なる(下表) |
モデル別の既定と推奨開始点は次のとおりです。現行 3 モデルは 2026-10-03、旧世代は 2026-08 の確認範囲です。
| モデル | 思考の既定 | 推奨開始 effort(コーディング・エージェント用途) |
|---|---|---|
| Claude Opus 5(旧世代・Active) | 既定オン。effort xhigh / max では thinking: {type: "disabled"} が 400 エラー | high(既定)から開始が公式推奨。effort は応答の長さを確実に縮める手段ではない |
| Claude Opus 5.5 | 常時 adaptive thinking(無効化不可) | 既定 medium から自社評価。強制ツール any / tool は 400 |
| Claude Sonnet 5.5 | adaptive thinking 既定オン。high 以下で between_tools により先行思考を止められる | 既定 high。disabled と強制ツール any / tool は 400 |
| Claude Fable 5.1 | 常時オン(無効化不可)。入力 / 出力枠は 1M / 128K | まず既定の high、最も要求の高い作業のみ xhigh |
| Claude Sonnet 5(旧世代・Active) | 既定オン | high(既定) |
| Claude Opus 4.8 / 4.7 | 明示設定しないと思考オフ | xhigh 開始が公式推奨 |
- 固定のトークン予算(
budget_tokens)は使わない: 旧世代の手法で、最新世代では 400 エラーになります。推論の労力は effort で調整し、生成トークンの上限にはmax_tokensを使います。effort はハードなトークン上限ではありません - プロンプトでも思考を誘導できる: 思考が多すぎるなら「When in doubt, respond directly.」、増やしたいなら「Think carefully before responding.」をユーザーターン末尾に添えます
- 手順を細かく指示するより「よく考えて」: Claude の推論は人が指示する以上に及ぶため、詳細なステップ列より一般的な指示の方が良い結果になりがちです(推論モデル応答の前に中間の思考(推論トークン)を生成してから答える LLM。多段推論・検証可能な問題で精度が上がる一方、単純タスクでは遅く高くなる(overthinking)。思考量は努力パラメータ等で制御する。一般の原則の Claude 版。上級パターンの思考制御)
- 自己検証をさせる: 「終える前に、次の基準で答えを検証して」はコード・数学で有効です(ただし検証可能な基準を渡すこと)
出力の制御: prefill から構造化出力へ
- prefill(応答の書き出し指定)は最新世代で非対応: Claude 4.6 以降では最終アシスタントターンの prefill が 400 エラーになります(旧世代は引き続き可)。用途別の代替は次のとおりです。
| prefill の旧用途 | Claude での代替 |
|---|---|
| 出力形式(JSON 等)の強制 | 構造化出力LLM の出力を JSON Schema などの機械可読なスキーマに従わせる技術。後続の処理がコードである出力(分類・抽出・スコア)に使う。(output_config.format)/ 「スキーマに従え」と指示 |
| 前置き(「はい、〜」)の除去 | system で「前置きなしで直接答えよ」/ XML 形式タグ |
| 中断した応答の継続 | 中断テキストをユーザーターンに移して続けさせる |
- 機械処理する出力は構造化出力で強制する: パラメータは
output_config.format。制約付きデコードでスキーマ準拠を保証します(基本は 構造化出力 が正本。ここでは Claude のパラメータ名だけ押さえます) - 形式は「するな」でなく「せよ」で誘導: 「markdown を使うな」より「散文の段落で書いて」。加えて、プロンプト自体のスタイルが出力に伝染します(プロンプトから markdown を除くと出力の markdown も減る)
- 数式は既定で LaTeX: プレーンテキストが要るなら明示的に指示します
長文・長コンテキストの作法
大きな文書(20k トークン超)を扱うときの Claude 固有の配置作法です。
- 長文データは上、クエリは末尾: 長い資料を指示・例より前に置き、質問を末尾に置くと応答品質が上がります(公式テストで最大 30% 向上との自己報告)
- 文書は XML で構造化: 複数文書は
<document>で囲み、<document_content>と<source>のサブタグを付けます - 引用でグラウンディングする: 作業前に関連箇所を
<quotes>に引用させてから本題に入らせると、ノイズを切り分けられます(汎用の「引用させてから答えさせる」の Claude 版。上級パターンの長文処理)
ツール使用・エージェント文脈
- 行動させたいなら明示する: 最新モデルは精密な指示追従に振れており、「変更を提案できますか」だと提案だけで実装しないことがあります。「この関数を変更して」と行動を明示します
- 強調のトーンを下げる: 「CRITICAL: You MUST use this tool…」は最新モデルでは過剰反応(over-trigger)を招きます。「Use this tool when…」程度に抑えます
- ツールを使ってほしいのに使わないなら、定義側に「いつ・どう使うか」を書く: effort を上げるとツール使用LLM が外部機能の呼び出し要求を出し、アプリケーションまたはプロバイダーの実行基盤が検証・権限に従って実行し、結果をモデルへ返す仕組み。実行主体と制御点を区別する Agent の中核機構。も増えます(特に Opus 4.8)
- サブエージェント委任は控えめが既定: 最新世代は明示指示なしでは委任を控えます。並列で回したいなら「独立した作業は委任する」と明示します(コンテキスト分離の設計は 圧縮と隔離)
現行モデルの移行境界
Opus 5.5 / Sonnet 5.5 は強制ツール指定 any / tool を拒否します。思考ブロックはモデル・会話に結び付くため、履歴変更・フォールバック・アカウント移動の互換性も移行ガイドで確認します。旧世代の設定をそのまま再利用しません。
Fable 5.1 の移行境界
2026-09-01 公開の Fable 5.1 では、tool_choice の any / tool が 400 エラーになります。auto + ツール定義の strict: true は引数のスキーマを制約しますが、呼出し自体の強制とは別です。JSON が必要なだけなら構造化出力へ移し、必要な操作はツール記述と指示で明示します。
思考ブロック前の system・tools・過去のメッセージを変更すると、保持した思考との結び付きが無効になります。2026-08-31 以降に作成されたアカウントでは検査が強制され、無効なブロックの再送は既定で 400 です。それ以前のアカウントや明示的な drop 設定では扱いが異なります。履歴は追記し、圧縮は対応するサーバー側機構か、思考の再送方針を定めたクライアント処理で行います。Fable 5.1 の思考を旧モデルへ渡すとブロックが破棄されるため、フォールバック時にも継続性を検証します。
会話途中のメッセージ単位の effort 更新は mid-conversation-output-config-2026-07-01 beta と対応モデル・提供経路を確認します。2026-10-08 の effort ガイドでは、Claude API と Google Cloud の Fable 5.1 / Mythos 5.1 / Opus 5.5 / Opus 5 / Sonnet 5.5 が対象です。Sonnet 5.5 でターンごとに effort を変える場合は thinking.type: "adaptive" を使います。between_tools では、有効な値と異なるメッセージ単位の output_config.effort を送ると 400 エラーになります。Fable 5.1 の変更ガイドは、Bedrock InvokeModel でもリクエスト本文の anthropic_beta 配列に同じ beta を指定する方式を案内します。この条件を他の Bedrock API やモデルへ一般化しません。ターン限定の system は clear_at: "next_user_message" と mid-conversation-system-clear-at-2026-08-21 beta を使い、期限後も履歴から削除せず再送します。任意の過去本文の編集とは区別します。
Fable 5.1 のキャッシュ読取は入力単価の 2.5% です。また 30 日保持があり、Anthropic の明示的許可がない限り ZDR では利用できません。能力評価とともに モデルカタログ の費用・保持条件を確認します。
世代交代で見直すこと
Claude はモデル更新のたびにプロンプトを見直す前提です(2026-08 時点で最新世代に共通する変化)。
- 逐語的な解釈: 指示を暗黙に一般化しなくなりました。広く適用したい規則はスコープを明示します(「最初のセクションだけでなく全セクションに適用して」)
- 冗長性の自動調整: タスクの複雑さで応答長を変えます。固定の長さが要るなら明示します
- 補助プロンプトを外す: 「3 ツールごとに進捗を要約」のような強制スキャフォールドや anti-laziness 系の指示は、内蔵の挙動改善により不要・逆効果になりがちです
- API の非互換に対応:
temperature/top_p/top_kの非既定値は最新世代で 400 エラーです。挙動誘導はプロンプトで行います。新トークナイザテキストとトークン列を相互変換する部品。分割のされ方は言語・内容で大きく変わり、モデル(世代)ごとに異なるため、コスト・コンテキストの見積りは公式のカウント手段による実測を正とする。(Opus 4.7 以降)で同じ文章が最大約 35% 多くトークン化されるため、max_tokensに余裕を持たせます
移行作業の運用(回帰評価・段階リリース)は バージョニングとモデル更新追従 が正本です。
効かない・不要になった俗説
以下は Claude 公式が明示的に非推奨・非対応としたもの(またはその副作用)です。逆に、XML タグ・few-shot・役割付与・長文配置は陳腐化していません — 陳腐化したのは「モデルの弱さを補う強制系ハック」です。
- prefill 依存: 最新世代で 400。構造化出力・system 指示へ
budget_tokens依存: 最新世代で 400。effort へ- 過度な
CRITICAL/MUST/ 全大文字強調: over-trigger を招く - 「If in doubt, use [tool]」「Default to using [tool]」: 過剰なツール起動の原因
- temperature でのデザイン多様性: 400 エラー。「先に複数案を提示させる」方式へ
実務での注意点
アンチパターン
- 他モデル向けのマークダウン主体プロンプトをそのまま流用する → Claude は XML タグの方が構造を正確に読む → 区切りを XML タグに置き換えて回帰評価する
- prefill・
budget_tokens・temperatureを最新世代に送る → 400 エラーで動かない、または静かに無効化される → 構造化出力・effort・プロンプト誘導へ移行する - 旧世代向けの強い強調(CRITICAL/MUST)を残す → 最新世代で過剰反応し、意図しないツール起動や冗長化を招く → トーンを下げ、必要な箇所だけ明示する
- モデル更新後に無検証で使い続ける → 逐語的解釈・冗長性調整・トークナイザ変更で挙動とコストがずれる → 更新時に評価セットで再検証する
- バージョン固有の書き方を「Claude 一般の作法」と誤解する → 世代交代で崩れる → 「〜時点」で記録し、公式の移行ガイドを追う
チェックリスト
- 指示・文脈・例・入力を XML タグで区切っている
- 役割をシステムプロンプトで与え、重要な指示に「なぜ」を添えた
-
思考制御をアダプティブ思考 + effort で行い、
budget_tokensを使っていない - 最終ターンの prefill・非既定サンプリングパラメータを最新世代に送っていない
-
機械処理する出力を
output_config.format(構造化出力)で強制している - 長文は上・クエリは末尾に配置し、文書を XML で構造化した
- 使用モデルの世代と、その世代向けの公式プロンプト推奨を確認した
- モデル更新時に評価セットで再検証する運用がある
関連トピック
- プロンプトエンジニアリングの基礎技法 — 汎用技法(本記事の前提)
- プロンプトエンジニアリングの上級パターン — なぜ効くかの中立な原理
- モデル間の違いと移行(横断比較) — OpenAI・Gemini との横並びと乗り換え
- OpenAI(GPT 系)特化プロンプティングガイド — 対になるベンダー別ガイド
- Gemini 特化プロンプティングガイド — 対になるベンダー別ガイド
- モデル選定ガイド / モデルカタログ — Claude の選び方
- バージョニングとモデル更新追従 — 世代交代への追従運用
- 構造化出力 —
output_config.formatの設計
参考資料
- Claude Opus 5.5 — 思考・effort の既定(アクセス日: 2026-10-03)
- Claude Sonnet 5.5 — 思考設定と非互換条件(アクセス日: 2026-10-03)
- Migrating to Claude Opus 5.5 — 強制ツール・履歴の移行境界(アクセス日: 2026-10-03)
- What’s new in Claude Fable 5.1 — メッセージ単位の effort 更新・Bedrock InvokeModel の beta 指定(アクセス日: 2026-10-08。強制ツール・思考の結び付き・保持条件は 2026-09-10 の確認範囲)
- Prompt engineering overview(Anthropic) — プロンプト設計の入口(アクセス日: 2026-08-18)
- Claude prompting best practices(Anthropic) — 全モデル共通技法 + モデル別ガイド + 移行考慮点の正本(アクセス日: 2026-08-18)
- Thinking(Anthropic) — 思考制御の正本。2026-08 時点で「Steering thinking and cost」「Tool workflows」「Troubleshooting」の分冊構成に再編済み(旧 Adaptive thinking ページの URL は Steering thinking へ移行)(アクセス日: 2026-08-18)
- Effort(Anthropic) — メッセージ単位の effort 更新の対応モデル・提供経路(アクセス日: 2026-10-08。一般的な effort の説明は 2026-08-18 の確認範囲)
- Structured outputs(Anthropic) —
output_config.formatの仕様(アクセス日: 2026-08-18) - Model migration guide(Anthropic) — 世代間の変更点(prefill 廃止・サンプリング・トークナイザ)(アクセス日: 2026-08-18)