このガイドでは、Claude 4モデル(Sonnet 4.5、Sonnet 4、Haiku 4.5、Opus 4.1、Opus 4)向けの具体的なプロンプトエンジニアリング技術を提供し、アプリケーションで最適な結果を得るためのサポートを行います。これらのモデルは、以前の世代のClaudeモデルよりも正確な指示に従うように訓練されています。
Claude 4.5の新機能の概要については、Claude 4.5の新機能をご覧ください。以前のモデルからの移行ガイダンスについては、Claude 4への移行をご覧ください。

一般的な原則

指示を明確にする

Claude 4モデルは、明確で具体的な指示によく反応します。望ましい出力について具体的に説明することで、結果を向上させることができます。以前のClaudeモデルの「期待を上回る」動作を求めるお客様は、Claude 4でこれらの動作をより明示的に要求する必要があるかもしれません。
効果的でない例:
分析ダッシュボードを作成してください
効果的な例:
分析ダッシュボードを作成してください。可能な限り多くの関連機能とインタラクションを含めてください。基本を超えて、完全に機能する実装を作成してください。

パフォーマンス向上のためのコンテキストの追加

指示の背景や動機を提供すること、例えばClaudeにそのような動作がなぜ重要なのかを説明することで、Claude 4モデルがあなたの目標をより良く理解し、より的確な回答を提供できるようになります。
効果的でない例:
省略記号は絶対に使わないでください
効果的な例:
あなたの回答は音声合成エンジンによって読み上げられるため、省略記号は音声合成エンジンがどのように発音すればよいかわからないので、絶対に使わないでください。
Claudeは説明から一般化するのに十分賢いです。

例と詳細に注意を払う

Claude 4モデルは、正確な指示に従う能力の一部として、詳細と例に細心の注意を払います。例が推奨したい動作と一致し、避けたい動作を最小限に抑えるようにしてください。

長期推論と状態追跡

Claude Sonnet 4.5は、優れた状態追跡能力を持つ長期推論タスクに優れています。一度にすべてを試みるのではなく、少数のことに着実に進歩を遂げることに焦点を当てることで、拡張セッション全体で方向性を維持します。この能力は特に、複数のコンテキストウィンドウやタスクの反復にわたって現れ、Claudeが複雑なタスクに取り組み、状態を保存し、新しいコンテキストウィンドウで継続することができます。

コンテキスト認識とマルチウィンドウワークフロー

Claude Sonnet 4.5はコンテキスト認識機能を備えており、モデルが会話全体を通じて残りのコンテキストウィンドウ(つまり「トークン予算」)を追跡できます。これにより、Claudeは作業するスペースがどれだけあるかを理解することで、タスクを実行し、コンテキストをより効果的に管理できます。 コンテキスト制限の管理: コンテキストを圧縮したり、外部ファイルにコンテキストを保存したりできるエージェントハーネス(Claude Codeなど)でClaudeを使用している場合、Claudeが適切に動作できるようにこの情報をプロンプトに追加することをお勧めします。そうでなければ、Claudeはコンテキスト制限に近づくにつれて、自然に作業を終了しようとすることがあります。以下は例のプロンプトです:
サンプルプロンプト
あなたのコンテキストウィンドウは制限に近づくと自動的に圧縮され、中断したところから無期限に作業を続けることができます。したがって、トークン予算の懸念によりタスクを早期に停止しないでください。トークン予算制限に近づいたら、コンテキストウィンドウが更新される前に現在の進捗と状態をメモリに保存してください。常に可能な限り持続的で自律的であり、予算の終了が近づいていてもタスクを完全に完了してください。残りのコンテキストに関係なく、どのタスクも人為的に早期停止しないでください。
メモリツールは、シームレスなコンテキスト移行のためにコンテキスト認識と自然にペアになります。

マルチコンテキストウィンドウワークフロー

複数のコンテキストウィンドウにまたがるタスクの場合:
  1. 最初のコンテキストウィンドウには異なるプロンプトを使用する:最初のコンテキストウィンドウを使用してフレームワークを設定し(テストを書く、セットアップスクリプトを作成する)、その後のコンテキストウィンドウを使用してto-doリストを反復します。
  2. モデルに構造化された形式でテストを書かせる:Claudeに作業を開始する前にテストを作成し、構造化された形式(例:tests.json)でそれらを追跡するよう依頼します。これにより、長期的な反復能力が向上します。Claudeにテストの重要性を思い出させてください:「テストを削除または編集することは、機能の欠落やバグのある機能につながる可能性があるため、受け入れられません。」
  3. 生活の質向上ツールを設定する:Claudeにセットアップスクリプト(例:init.sh)を作成して、サーバーを優雅に起動し、テストスイートやリンターを実行するよう促します。これにより、新しいコンテキストウィンドウから継続する際の重複作業を防げます。
  4. 新規開始 vs 圧縮:コンテキストウィンドウがクリアされた場合、圧縮を使用するのではなく、まったく新しいコンテキストウィンドウで開始することを検討してください。Sonnet 4.5は、ローカルファイルシステムから状態を発見することに非常に効果的です。場合によっては、圧縮よりもこれを活用したいかもしれません。どのように開始すべきかについて指示的になってください:
    • 「pwdを呼び出してください;このディレクトリ内のファイルのみ読み書きできます。」
    • 「progress.txt、tests.json、gitログを確認してください。」
    • 「新機能の実装に移る前に、基本的な統合テストを手動で実行してください。」
  5. 検証ツールを提供する:自律的なタスクの長さが増すにつれて、Claudeは継続的な人間のフィードバックなしに正確性を検証する必要があります。UIをテストするためのPlaywright MCPサーバーやコンピューター使用機能などのツールが役立ちます。
  6. コンテキストの完全な使用を促す:Claudeに移行する前にコンポーネントを効率的に完了するよう促します:
サンプルプロンプト
これは非常に長いタスクなので、作業を明確に計画することが有益かもしれません。出力コンテキスト全体をタスクに費やすことが推奨されます - 重要な未コミット作業でコンテキストが不足しないよう注意してください。このタスクを完了するまで体系的に作業を続けてください。

状態管理のベストプラクティス

  • 状態データには構造化された形式を使用する:構造化された情報(テスト結果やタスクステータスなど)を追跡する際は、JSONや他の構造化された形式を使用して、Claudeがスキーマ要件を理解できるようにします
  • 進捗メモには非構造化テキストを使用する:自由形式の進捗メモは、一般的な進捗とコンテキストの追跡に適しています
  • 状態追跡にgitを使用する:Gitは何が行われたかのログと復元可能なチェックポイントを提供します。Claude Sonnet 4.5は、複数のセッションにわたって状態を追跡するためのgitの使用において特に優れたパフォーマンスを発揮します。
  • 段階的な進歩を強調する:Claudeに進捗を追跡し、段階的な作業に焦点を当てるよう明示的に依頼します
// 構造化された状態ファイル (tests.json)
{
  "tests": [
    {"id": 1, "name": "authentication_flow", "status": "passing"},
    {"id": 2, "name": "user_management", "status": "failing"},
    {"id": 3, "name": "api_endpoints", "status": "not_started"}
  ],
  "total": 200,
  "passing": 150,
  "failing": 25,
  "not_started": 25
}
// 進捗メモ (progress.txt)
セッション3の進捗:
- 認証トークン検証を修正
- エッジケースを処理するためにユーザーモデルを更新
- 次:user_managementテストの失敗を調査(テスト#2)
- 注意:機能の欠落につながる可能性があるため、テストを削除しないでください

コミュニケーションスタイル

Claude Sonnet 4.5は、以前のモデルと比較してより簡潔で自然なコミュニケーションスタイルを持っています:
  • より直接的で根拠に基づく:自己祝賀的な更新ではなく、事実に基づく進捗報告を提供します
  • より会話的:わずかにより流暢で口語的、機械的でない
  • より簡潔:他の方法で促されない限り、効率性のために詳細な要約をスキップすることがあります
このコミュニケーションスタイルは、不必要な詳細化なしに達成されたことを正確に反映します。

特定の状況に対するガイダンス

冗長性のバランス

Claude Sonnet 4.5は効率性に向かう傾向があり、ツール呼び出し後の口頭での要約をスキップして、次のアクションに直接ジャンプすることがあります。これにより合理化されたワークフローが作成されますが、その推論プロセスへのより多くの可視性を好むかもしれません。 Claudeに作業中の更新を提供してもらいたい場合:
サンプルプロンプト
ツール使用を含むタスクを完了した後、行った作業の簡単な要約を提供してください。

ツール使用パターン

Claude Sonnet 4.5は正確な指示に従うように訓練されており、特定のツールを使用するための明示的な指示から恩恵を受けます。「いくつかの変更を提案できますか」と言うと、変更を実装することが意図されていたかもしれなくても、時々実装ではなく提案を提供します。 Claudeにアクションを取らせるには、より明示的にしてください:
効果的でない例(Claudeは提案のみ):
この関数を改善するためのいくつかの変更を提案できますか?
効果的な例(Claudeは変更を実行):
この関数のパフォーマンスを向上させるために変更してください。
または:
認証フローにこれらの編集を行ってください。
Claudeをデフォルトでアクションを取ることについてより積極的にするには、システムプロンプトに以下を追加できます:
積極的なアクション用のサンプルプロンプト
<default_to_action>
デフォルトでは、変更を提案するだけでなく実装してください。ユーザーの意図が不明確な場合は、最も有用と思われるアクションを推測して進行し、推測する代わりにツールを使用して不足している詳細を発見してください。ツール呼び出し(ファイル編集や読み取りなど)が意図されているかどうかについてユーザーの意図を推測し、それに応じて行動してください。
</default_to_action>
一方で、モデルをデフォルトでより慎重にし、実装に直接飛び込む傾向を少なくし、要求された場合にのみアクションを取るようにしたい場合は、以下のようなプロンプトでこの動作を誘導できます:
保守的なアクション用のサンプルプロンプト
<do_not_act_before_instructions>
明確に変更を指示されない限り、実装や変更ファイルに飛び込まないでください。ユーザーの意図が曖昧な場合は、アクションを取るのではなく、情報提供、調査、推奨事項の提供をデフォルトとしてください。ユーザーが明示的に要求した場合にのみ、編集、修正、または実装を進めてください。
</do_not_act_before_instructions>

応答の形式を制御する

Claude 4モデルで出力フォーマットを誘導するのに特に効果的であることがわかったいくつかの方法があります:
  1. 何をしないかではなく、何をするかをClaudeに伝える
    • 代わりに:「応答でマークダウンを使用しないでください」
    • 試してください:「あなたの応答は滑らかに流れる散文段落で構成されるべきです。」
  2. XML形式インジケーターを使用する
    • 試してください:「応答の散文セクションを<smoothly_flowing_prose_paragraphs>タグで書いてください。」
  3. プロンプトスタイルを望ましい出力に合わせる プロンプトで使用されるフォーマットスタイルは、Claudeの応答スタイルに影響を与える可能性があります。出力フォーマットでの操縦性の問題がまだ発生している場合は、可能な限りプロンプトスタイルを望ましい出力スタイルに合わせることをお勧めします。例えば、プロンプトからマークダウンを削除すると、出力でのマークダウンの量を減らすことができます。
  4. 特定のフォーマット設定に詳細なプロンプトを使用する マークダウンとフォーマット使用をより制御するには、明示的なガイダンスを提供してください:
マークダウンを最小限に抑えるサンプルプロンプト
<avoid_excessive_markdown_and_bullet_points>
レポート、文書、技術的説明、分析、または長文コンテンツを書く際は、完全な段落と文を使用して明確で流れる散文で書いてください。組織化のために標準的な段落区切りを使用し、マークダウンは主に`インラインコード`、コードブロック(```...```)、および簡単な見出し(###、および###)のために予約してください。**太字**と*斜体*の使用は避けてください。

以下の場合を除いて、順序付きリスト(1. ...)または順序なしリスト(*)を使用しないでください:a)リスト形式が最良の選択肢である真に離散的なアイテムを提示している場合、またはb)ユーザーが明示的にリストまたはランキングを要求した場合

箇条書きや番号でアイテムをリストする代わりに、それらを文に自然に組み込んでください。このガイダンスは特に技術文書に適用されます。過度なフォーマットの代わりに散文を使用することで、ユーザー満足度が向上します。過度に短い箇条書きの連続を出力しないでください。

あなたの目標は、情報を孤立したポイントに断片化するのではなく、読者をアイデアを通じて自然に導く読みやすく流れるテキストです。
</avoid_excessive_markdown_and_bullet_points>

研究と情報収集

Claude Sonnet 4.5は優れたエージェント検索能力を示し、複数のソースから情報を効果的に見つけて統合できます。最適な研究結果のために:
  1. 明確な成功基準を提供する:研究質問に対する成功した回答を構成するものを定義します
  2. ソース検証を促す:Claudeに複数のソースにわたって情報を検証するよう依頼します
  3. 複雑な研究タスクには、構造化されたアプローチを使用する
複雑な研究用のサンプルプロンプト
この情報を構造化された方法で検索してください。データを収集する際に、いくつかの競合する仮説を開発してください。キャリブレーションを改善するために、進捗メモで信頼度レベルを追跡してください。定期的にあなたのアプローチと計画を自己批判してください。情報を持続させ透明性を提供するために、仮説ツリーまたは研究メモファイルを更新してください。この複雑な研究タスクを体系的に分解してください。
この構造化されたアプローチにより、Claudeはコーパスのサイズに関係なく、事実上あらゆる情報を見つけて統合し、その発見を反復的に批判できます。

サブエージェントオーケストレーション

Claude Sonnet 4.5は、大幅に改善されたネイティブサブエージェントオーケストレーション能力を示します。モデルは、タスクが専門化されたサブエージェントに作業を委任することで恩恵を受ける場合を認識し、明示的な指示を必要とせずに積極的にそれを行います。 この動作を活用するには:
  1. 明確に定義されたサブエージェントツールを確保する:サブエージェントツールを利用可能にし、ツール定義で説明します
  2. Claudeに自然にオーケストレーションさせる:Claudeは明示的な指示なしに適切に委任します
  3. 必要に応じて保守性を調整する
保守的なサブエージェント使用のサンプルプロンプト
タスクが新しいコンテキストウィンドウを持つ別のエージェントから明確に恩恵を受ける場合にのみ、サブエージェントに委任してください。

モデルの自己知識

アプリケーションでClaudeが自分自身を正しく識別したり、特定のAPI文字列を使用したりしたい場合:
モデルアイデンティティのサンプルプロンプト
アシスタントはAnthropic社によって作成されたClaudeです。現在のモデルはClaude Sonnet 4.5です。
モデル文字列を指定する必要があるLLM駆動アプリの場合:
モデル文字列のサンプルプロンプト
LLMが必要な場合、ユーザーが他の方法を要求しない限り、デフォルトでClaude Sonnet 4.5を使用してください。Claude Sonnet 4.5の正確なモデル文字列はclaude-sonnet-4-5-20250929です。

思考と交互思考能力の活用

Claude 4は、ツール使用後の反省や複雑な多段階推論を含むタスクに特に役立つ思考能力を提供します。より良い結果のために、初期または交互思考を誘導できます。
例のプロンプト
ツール結果を受け取った後、その品質を慎重に反省し、進行する前に最適な次のステップを決定してください。この新しい情報に基づいて計画し反復するために思考を使用し、その後最良の次のアクションを取ってください。
思考能力の詳細については、拡張思考をご覧ください。

文書作成

Claude Sonnet 4.5は、プレゼンテーション、アニメーション、視覚的文書の作成に優れています。この分野でClaude Opus 4.1と同等またはそれを上回り、印象的な創造的才能とより強力な指示に従う能力を持っています。モデルはほとんどの場合、最初の試行で洗練された使用可能な出力を生成します。 文書作成で最良の結果を得るには:
サンプルプロンプト
[トピック]に関する専門的なプレゼンテーションを作成してください。思慮深いデザイン要素、視覚的階層、適切な場合は魅力的なアニメーションを含めてください。

並列ツール呼び出しの最適化

Claude 4モデルは並列ツール実行に優れており、Sonnet 4.5は複数の操作を同時に実行することに特に積極的です。モデルは以下を行います:
  • 研究中に複数の投機的検索を実行
  • コンテキストをより速く構築するために複数のファイルを一度に読み取り
  • bashコマンドを並列で実行(システムパフォーマンスをボトルネックにすることさえある)
この動作は簡単に操縦できます。モデルはプロンプトなしで並列ツール呼び出しで高い成功率を持っていますが、これを〜100%に押し上げたり、積極性レベルを調整したりできます:
最大並列効率のサンプルプロンプト
<use_parallel_tool_calls>
複数のツールを呼び出すつもりで、ツール呼び出し間に依存関係がない場合は、すべての独立したツール呼び出しを並列で行ってください。アクションを順次ではなく並列で実行できる場合は、ツールを同時に呼び出すことを優先してください。例えば、3つのファイルを読み取る場合、3つのツール呼び出しを並列で実行して、すべての3つのファイルを同時にコンテキストに読み込んでください。速度と効率を向上させるために、可能な限り並列ツール呼び出しの使用を最大化してください。ただし、一部のツール呼び出しがパラメーターなどの依存値を通知するために以前の呼び出しに依存している場合は、これらのツールを並列で呼び出さず、代わりに順次呼び出してください。ツール呼び出しでプレースホルダーを使用したり、不足しているパラメーターを推測したりしないでください。
</use_parallel_tool_calls>
並列実行を減らすサンプルプロンプト
安定性を確保するために、各ステップ間に短い休止を入れて操作を順次実行してください。

エージェントコーディングでのファイル作成の削減

Claude 4モデルは、特にコードを扱う際に、テストと反復の目的で新しいファイルを作成することがあります。このアプローチにより、Claudeは最終出力を保存する前に、特にpythonスクリプトをファイルを「一時的なスクラッチパッド」として使用できます。一時ファイルの使用は、特にエージェントコーディングの使用例で結果を改善できます。 新しいファイル作成を最小限に抑えたい場合は、Claudeに後片付けをするよう指示できます:
サンプルプロンプト
反復のために一時的な新しいファイル、スクリプト、またはヘルパーファイルを作成する場合は、タスクの最後にこれらのファイルを削除してクリーンアップしてください。

視覚的およびフロントエンドコード生成の強化

Claude 4モデルは、高品質で視覚的に特徴的で機能的なユーザーインターフェースを生成できます。ただし、ガイダンスなしでは、フロントエンドコードは視覚的な興味を欠く汎用パターンにデフォルトすることがあります。優れたUI結果を引き出すには:
  1. 創造性に対する明示的な励ましを提供する:
サンプルプロンプト
遠慮しないでください。全力を尽くしてください。ウェブ開発能力を示す印象的なデモンストレーションを作成してください。
  1. 美的方向性とデザイン制約を指定する:
サンプルプロンプト
ダークブルーとシアンのカラーパレット、モダンなサンセリフタイポグラフィ(見出しにはInter、本文にはシステムフォントなど)、微妙な影を持つカードベースのレイアウトを使用して、プロフェッショナルなダッシュボードを作成してください。ホバー状態、トランジション、マイクロインタラクションなどの思慮深い詳細を含めてください。デザイン原則を適用してください:階層、コントラスト、バランス、動き。
  1. デザインの多様性と融合美学を促す:
サンプルプロンプト
複数のデザインオプションを提供してください。異なるソースからの要素を組み合わせて融合美学を作成してください—1つのカラースキーム、異なるタイポグラフィ、別のレイアウト原則。汎用的な中央揃えレイアウト、単純なグラデーション、均一なスタイリングを避けてください。
  1. 特定の機能を明示的に要求する:
  • 「可能な限り多くの関連機能とインタラクションを含めてください」
  • 「アニメーションとインタラクティブ要素を追加してください」
  • 「基本を超えた完全に機能する実装を作成してください」

テスト合格への集中とハードコーディングの回避

Claude 4モデルは、より一般的なソリューションを犠牲にしてテストを合格させることに過度に集中したり、標準ツールを直接使用する代わりに複雑なリファクタリングのためにヘルパースクリプトなどの回避策を使用したりすることがあります。この動作を防ぎ、堅牢で一般化可能なソリューションを確保するには:
サンプルプロンプト
利用可能な標準ツールを使用して、高品質で汎用的なソリューションを書いてください。タスクをより効率的に達成するためにヘルパースクリプトや回避策を作成しないでください。テストケースだけでなく、すべての有効な入力に対して正しく動作するソリューションを実装してください。値をハードコーディングしたり、特定のテスト入力に対してのみ動作するソリューションを作成したりしないでください。代わりに、問題を一般的に解決する実際のロジックを実装してください。

問題要件を理解し、正しいアルゴリズムを実装することに焦点を当ててください。テストは正確性を検証するためにあり、ソリューションを定義するためではありません。ベストプラクティスとソフトウェア設計原則に従った原則的な実装を提供してください。

タスクが不合理または実行不可能な場合、またはテストのいずれかが正しくない場合は、それらを回避するのではなく、私に知らせてください。ソリューションは堅牢で保守可能で拡張可能であるべきです。

エージェントコーディングでの幻覚の最小化

Claude 4モデルは幻覚を起こしにくく、コードに基づいてより正確で根拠のある知的な回答を提供します。この動作をさらに促し、幻覚を最小化するには:
サンプルプロンプト
<investigate_before_answering>
開いていないコードについて推測しないでください。ユーザーが特定のファイルを参照している場合、回答する前にファイルを読む必要があります。コードベースに関する質問に回答する前に、関連ファイルを調査して読むことを確認してください。正しい回答を確信していない限り、調査する前にコードについて何も主張しないでください - 根拠があり幻覚のない回答を提供してください。
</investigate_before_answering>

移行に関する考慮事項

Sonnet 3.7からClaude 4(Sonnet 4.5を含む)に移行する際:
  1. 望ましい動作について具体的にする:出力で見たいものを正確に説明することを検討してください。
  2. 修飾子で指示をフレーム化する:Claudeに出力の品質と詳細を向上させるよう促す修飾子を追加することで、Claudeのパフォーマンスをより良く形作ることができます。例えば、「分析ダッシュボードを作成してください」の代わりに、「分析ダッシュボードを作成してください。可能な限り多くの関連機能とインタラクションを含めてください。基本を超えて、完全に機能する実装を作成してください。」を使用してください。
  3. 特定の機能を明示的に要求する:アニメーションとインタラクティブ要素は、望ましい場合に明示的に要求する必要があります。