Skip to Content
Docs03. 実装Claude 特化プロンプティングガイド

この記事の音声は準備中です。

音声の一覧・再生リストへ

Claude 特化プロンプティングガイド

この記事の目的

Anthropic の Claude ファミリーに対して、公式ガイドが推奨する具体的なプロンプトの書き方を根拠を持って選べるようになります。汎用の基礎技法と上級パターンがモデル中立の原理を扱うのに対し、本記事は「Claude では XML タグ・アダプティブ思考・prefill の扱い」といった、このモデル固有の作法に踏み込みます。

本記事は鮮度管理型です。 モデル世代・機能名(効果や API 仕様)は変化が速いため、本文冒頭の最終確認日と各公式ページを必ず確認してください。

対象読者

  • Claude を使ったアプリ・エージェントを実装し、そのモデルに合わせてプロンプト品質を上げたいエンジニア
  • 他モデル向けに書いたプロンプトを Claude 向けに調整する、または 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.5adaptive 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 開始が公式推奨

出力の制御: 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 版。上級パターンの長文処理)

ツール使用・エージェント文脈

現行モデルの移行境界

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 時点で最新世代に共通する変化)。

移行作業の運用(回帰評価・段階リリース)は バージョニングとモデル更新追従 が正本です。

効かない・不要になった俗説

以下は 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 で構造化した
  • 使用モデルの世代と、その世代向けの公式プロンプト推奨を確認した
  • モデル更新時に評価セットで再検証する運用がある

関連トピック

参考資料

  • 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)

TODO・未確認事項

変わりやすい項目(定点観測)