プロンプトのベストプラクティス
このガイドは、Claude 4.xモデル向けの具体的なプロンプトエンジニアリング技術を提供し、Sonnet 4.5とHaiku 4.5に対する具体的なガイダンスを含みます。これらのモデルは、以前のClaudeモデルの世代よりも、より正確な指示追従のために訓練されています。
Claude 4.5の新機能の概要については、Claude 4.5の新機能を参照してください。以前のモデルからの移行ガイダンスについては、Claude 4.5への移行を参照してください。
一般的な原則
指示を明確にする
Claude 4.xモデルは、明確で明示的な指示に良く応答します。望ましい出力について具体的であることは、結果を向上させるのに役立ちます。以前のClaudeモデルから「期待以上」の動作を望む顧客は、新しいモデルでこれらの動作をより明示的にリクエストする必要があるかもしれません。
パフォーマンスを向上させるためにコンテキストを追加する
指示の背後にあるコンテキストまたは動機を提供することで、例えばClaudeにそのような動作がなぜ重要であるかを説明することで、Claude 4.xモデルがあなたの目標をより良く理解し、より的を絞った応答を提供するのに役立ちます。
Claudeは説明から一般化するのに十分なほど賢いです。
例と詳細に注意を払う
Claude 4.xモデルは、正確な指示追従能力の一部として、詳細と例に細心の注意を払います。あなたの例が促進したい動作と一致し、避けたい動作を最小化するようにしてください。
長期的な推論と状態追跡
Claude 4.5モデルは、例外的な状態追跡機能を備えた長期的な推論タスクに優れています。段階的な進捗に焦点を当てることで、拡張セッション全体で方向性を維持します。一度にすべてを試みるのではなく、少数のことで着実に進歩を遂行します。この機能は、複数のコンテキストウィンドウまたはタスク反復にわたって特に現れます。Claudeは複雑なタスクに取り組み、状態を保存し、新しいコンテキストウィンドウで続行できます。
コンテキスト認識とマルチウィンドウワークフロー
Claude 4.5モデルはコンテキスト認識機能を備えており、モデルが会話全体を通じて残りのコンテキストウィンドウ(つまり「トークン予算」)を追跡できます。これにより、Claudeはどのくらいの作業スペースがあるかを理解することで、タスクを実行し、コンテキストをより効果的に管理できます。
コンテキスト制限の管理:
Claudeをコンテキストを圧縮するエージェントハーネスで使用している場合、またはコンテキストを外部ファイルに保存できる場合(Claude Codeのように)、この情報をプロンプトに追加して、Claudeがそれに応じて動作するようにすることをお勧めします。そうしないと、Claudeはコンテキスト制限に近づくにつれて、自然に作業をまとめようとする場合があります。以下はプロンプトの例です:
あなたのコンテキストウィンドウは、その制限に近づくにつれて自動的に圧縮され、中断したところから無期限に作業を続けることができます。したがって、トークン予算の懸念のため、タスクを早期に停止しないでください。トークン予算の制限に近づくにつれて、コンテキストウィンドウがリフレッシュされる前に、現在の進捗と状態をメモリに保存してください。常に可能な限り永続的で自律的であり、予算の終わりが近づいていても、タスクを完全に完了してください。残りのコンテキストに関係なく、タスクを早期に人為的に停止しないでください。メモリツールは、シームレスなコンテキスト遷移のためにコンテキスト認識と自然に組み合わせられます。
マルチコンテキストウィンドウワークフロー
複数のコンテキストウィンドウにまたがるタスクの場合:
-
最初のコンテキストウィンドウに異なるプロンプトを使用する:最初のコンテキストウィンドウを使用してフレームワークを設定し(テストを作成し、セットアップスクリプトを作成)、その後のコンテキストウィンドウを使用してTODOリストを反復処理します。
-
モデルに構造化形式でテストを作成させる:Claudeに作業を開始する前にテストを作成するよう依頼し、構造化形式(例:
tests.json)で追跡してください。これにより、長期的な反復能力が向上します。Claudeにテストの重要性を思い出させてください:「テストを削除または編集することは受け入れられません。これは機能の欠落またはバグにつながる可能性があります。」 -
生活の質ツールを設定する:Claudeにセットアップスクリプト(例:
init.sh)を作成するよう促し、サーバーを適切に起動し、テストスイートとリンターを実行します。これにより、新しいコンテキストウィンドウから続行するときの繰り返し作業を防ぎます。 -
新規開始と圧縮:コンテキストウィンドウがクリアされるとき、圧縮を使用するのではなく、まったく新しいコンテキストウィンドウで開始することを検討してください。Claude 4.5モデルは、ローカルファイルシステムから状態を発見するのに非常に効果的です。場合によっては、圧縮よりもこれを利用したい場合があります。開始方法について規定的にしてください:
- 「pwdを呼び出してください。このディレクトリ内のファイルのみを読み書きできます。」
- 「progress.txt、tests.json、およびgitログを確認してください。」
- 「新しい機能の実装に進む前に、基本的な統合テストを手動で実行してください。」
-
検証ツールを提供する:自律的なタスクの長さが増すにつれて、Claudeは継続的な人間のフィードバックなしに正確性を検証する必要があります。Playwright MCPサーバーやUIテスト用のコンピュータ使用機能などのツールが役立ちます。
-
コンテキストの完全な使用を促す:Claudeにコンポーネントを効率的に完了してから先に進むよう促します:
これは非常に長いタスクなので、作業を明確に計画することが有益な場合があります。出力コンテキスト全体をタスクに費やすことが推奨されます。コンテキストを使い切らないようにしてください。重大なコミットされていない作業があります。タスクが完了するまで体系的に作業を続けてください。状態管理のベストプラクティス
- 状態データに構造化形式を使用する:構造化情報(テスト結果やタスクステータスなど)を追跡する場合、JSONまたは他の構造化形式を使用して、Claudeがスキーマ要件を理解するのに役立てます
- 進捗ノートに非構造化テキストを使用する:フリーフォーム進捗ノートは、一般的な進捗とコンテキストを追跡するのに適しています
- 状態追跡にgitを使用する:Gitは、何が行われたかのログとチェックポイントを提供し、復元できます。Claude 4.5モデルは、複数のセッション全体で状態を追跡するためにgitを使用するのに特に優れています。
- 段階的な進捗を強調する:Claudeに進捗を追跡し、段階的な作業に焦点を当てるよう明示的に依頼します
コミュニケーションスタイル
Claude 4.5モデルは、以前のモデルと比較して、より簡潔で自然なコミュニケーションスタイルを持っています:
- より直接的で根拠のある:自己祝福的な更新ではなく、事実ベースの進捗レポートを提供します
- より会話的:やや流暢で日常的で、機械的ではありません
- 冗長性が低い:特に指示されない限り、詳細な要約をスキップして効率性を優先する場合があります
このコミュニケーションスタイルは、不要な詳細説明なしに達成されたことを正確に反映しています。
特定の状況に対するガイダンス
冗長性のバランスを取る
Claude 4.5モデルは効率性に向かう傾向があり、ツール呼び出し後の口頭での要約をスキップして、次のアクションに直接ジャンプする場合があります。これはストリーミングラインされたワークフローを作成しますが、推論プロセスへのより多くの可視性を好む場合があります。
Claudeが作業中に更新を提供するようにしたい場合:
ツール使用を含むタスクを完了した後、実行した作業の簡単な要約を提供してください。ツール使用パターン
Claude 4.5モデルは正確な指示追従のために訓練されており、特定のツールを使用するための明示的な指示から利益を得ます。「いくつかの変更を提案できますか」と言う場合、実装するのではなく提案を提供する場合があります。変更を加えることがあなたの意図であるかもしれません。
Claudeがアクションを取るために、より明示的にしてください:
Claudeをデフォルトでアクションを取るようにより積極的にするために、これをシステムプロンプトに追加できます:
<default_to_action>
デフォルトでは、提案するだけでなく変更を実装してください。ユーザーの意図が不明な場合、最も有用な可能性の高いアクションを推測し、ツールを使用して欠落している詳細を発見するのではなく、推測するのではなく進めてください。ツール呼び出し(ファイル編集や読み取りなど)が意図されているかどうかについてのユーザーの意図を推測し、それに応じて行動してください。
</default_to_action>一方、モデルがデフォルトでより躊躇し、実装に直接ジャンプするのに不向きで、リクエストされた場合のみアクションを取るようにしたい場合は、以下のようなプロンプトでこの動作を操作できます:
<do_not_act_before_instructions>
明確に変更を加えるよう指示されない限り、実装またはファイル変更にジャンプしないでください。ユーザーの意図が曖昧な場合、情報提供、調査、および推奨事項の提供ではなく、アクションを取るようにデフォルトしてください。ユーザーが明示的に編集、変更、または実装をリクエストした場合のみ、編集、変更、または実装を進めてください。
</do_not_act_before_instructions>応答形式を制御する
Claude 4.xモデルで出力フォーマットを操作するのに特に効果的であることがわかった方法がいくつかあります:
-
Claudeに何をしないかではなく、何をするかを伝える
- 代わりに:「応答でマークダウンを使用しないでください」
- 試してください:「あなたの応答は、スムーズに流れるプローズ段落で構成されるべきです。」
-
XML形式インジケーターを使用する
- 試してください:「応答のプローズセクションを<smoothly_flowing_prose_paragraphs>タグで記述してください。」
-
プロンプトスタイルを望ましい出力と一致させる
プロンプトで使用されるフォーマットスタイルは、Claudeの応答スタイルに影響を与える可能性があります。出力フォーマットの操作性に関する問題が引き続き発生している場合は、可能な限りプロンプトスタイルを望ましい出力スタイルと一致させることをお勧めします。例えば、プロンプトからマークダウンを削除すると、出力のマークダウンの量を減らすことができます。
-
特定のフォーマット設定の優先順位に対して詳細なプロンプトを使用する
マークダウンとフォーマット使用をより制御するために、明示的なガイダンスを提供してください:
<avoid_excessive_markdown_and_bullet_points>
レポート、ドキュメント、技術説明、分析、または長文コンテンツを作成する場合、完全な段落と文を使用した明確で流れるプローズで記述してください。組織化のための標準的な段落区切りを使用し、マークダウンを主に`インラインコード`、コードブロック(```...```)、および単純な見出し(###、および###)に予約してください。**太字**と*イタリック*の使用を避けてください。
順序付きリスト(1. ...)または順序なしリスト(*)を使用しないでください。ただし:a)リスト形式が最良のオプションである真に離散的なアイテムを提示している場合、またはb)ユーザーが明示的にリストまたはランキングをリクエストした場合
リストアイテムを箇条書きまたは番号で表示する代わりに、それらを文に自然に組み込んでください。このガイダンスは、特に技術的な執筆に適用されます。過度なフォーマットの代わりにプローズを使用すると、ユーザーの満足度が向上します。過度に短い箇条書きのシリーズを出力しないでください。
あなたの目標は、情報を孤立したポイントに断片化するのではなく、読者を自然にアイデアを通じてガイドする読みやすく流れるテキストです。
</avoid_excessive_markdown_and_bullet_points>研究と情報収集
Claude 4.5モデルは、例外的なエージェント検索機能を示し、複数のソースから情報を効果的に見つけて統合できます。最適な研究結果のために:
-
明確な成功基準を提供する:研究質問への成功した回答が何を構成するかを定義します
-
ソース検証を促す:Claudeに複数のソース全体で情報を検証するよう依頼します
-
複雑な研究タスクの場合、構造化されたアプローチを使用する:
この情報を構造化された方法で検索してください。データを収集するにつれて、複数の競合する仮説を開発してください。進捗ノートで信頼レベルを追跡して、キャリブレーションを改善してください。定期的に自分のアプローチを自己批判し、計画してください。仮説ツリーまたは研究ノートファイルを更新して、情報を永続化し、透明性を提供してください。この複雑な研究タスクを体系的に分解してください。この構造化されたアプローチにより、Claudeはコーパスのサイズに関係なく、ほぼすべての情報を見つけて統合し、その結果を反復的に批判できます。
サブエージェント調整
Claude 4.5モデルは、大幅に改善されたネイティブサブエージェント調整機能を示しています。これらのモデルは、タスクが専門化されたサブエージェントへの委任から利益を得ることを認識し、明示的な指示なしにそれを積極的に行うことができます。
この動作を利用するために:
- 明確に定義されたサブエージェントツールを確保する:サブエージェントツールが利用可能で、ツール定義で説明されていることを確認します
- Claudeに自然に調整させる:Claudeは明示的な指示なしに適切に委任します
- 必要に応じて保守性を調整する:
タスクが新しいコンテキストウィンドウを持つ別のエージェントから明らかに利益を得る場合のみ、サブエージェントに委任してください。モデル自己認識
Claudeがアプリケーションで自分自身を正しく識別するようにしたい場合、または特定のAPI文字列を使用したい場合:
アシスタントはClaudeで、Anthropicによって作成されました。現在のモデルはClaude Sonnet 4.5です。LLMを指定する必要があるLLMを搭載したアプリの場合:
LLMが必要な場合、ユーザーが別途リクエストしない限り、デフォルトでClaude Sonnet 4.5を使用してください。Claude Sonnet 4.5の正確なモデル文字列はclaude-sonnet-4-5-20250929です。思考と相互作用する思考機能を活用する
Claude 4.xモデルは、ツール使用後の反射を含むタスクや複雑なマルチステップ推論に特に役立つ思考機能を提供します。より良い結果のために、その初期または相互作用する思考をガイドできます。
ツール結果を受け取った後、その品質を慎重に反映し、進める前に最適な次のステップを決定してください。この新しい情報に基づいて計画と反復するために思考を使用し、最適な次のアクションを取ってください。思考機能の詳細については、拡張思考を参照してください。
ドキュメント作成
Claude 4.5モデルは、プレゼンテーション、アニメーション、および視覚的なドキュメントの作成に優れています。これらのモデルは、このドメインでClaude Opus 4.1と同等またはそれを超え、印象的な創造的な才能とより強い指示追従を備えています。モデルは、ほとんどの場合、最初の試行で洗練された使用可能な出力を生成します。
ドキュメント作成で最良の結果を得るために:
[トピック]に関する専門的なプレゼンテーションを作成してください。思慮深いデザイン要素、視覚的階層、および適切な場所で魅力的なアニメーションを含めてください。並列ツール呼び出しを最適化する
Claude 4.xモデルは並列ツール実行に優れており、Sonnet 4.5は複数の操作を同時に実行するのに特に積極的です。Claude 4.xモデルは:
- 研究中に複数の推測検索を実行します
- 複数のファイルを一度に読み取ってコンテキストをより速く構築します
- bashコマンドを並列で実行します(システムパフォーマンスをボトルネックにすることもできます)
この動作は簡単に操作できます。モデルはプロンプトなしで並列ツール呼び出しで高い成功率を持っていますが、これを〜100%に上げるか、積極性レベルを調整できます:
<use_parallel_tool_calls>
複数のツールを呼び出すつもりで、ツール呼び出し間に依存関係がない場合は、すべての独立したツール呼び出しを並列で実行してください。ツール呼び出しを同時に呼び出すことができるアクションを優先してください。例えば、3つのファイルを読み取る場合、3つのツール呼び出しを並列で実行して、3つのファイルをすべて同時にコンテキストに読み込んでください。可能な限り並列ツール呼び出しの使用を最大化して、速度と効率を向上させてください。ただし、一部のツール呼び出しが前の呼び出しに依存して、パラメーターなどの依存値を通知する場合、これらのツールを並列で呼び出さず、代わりに順序立てて呼び出してください。プレースホルダーを使用したり、ツール呼び出しで欠落しているパラメーターを推測したりしないでください。
</use_parallel_tool_calls>各ステップ間の短い一時停止で操作を順序立てて実行して、安定性を確保してください。エージェント型コーディングでのファイル作成を減らす
Claude 4.xモデルは、特にコードを使用する場合、テストと反復の目的で新しいファイルを作成する場合があります。このアプローチにより、Claudeはファイル、特にPythonスクリプトを、最終出力を保存する前の「一時的なスクラッチパッド」として使用できます。一時ファイルを使用すると、特にエージェント型コーディングのユースケースで結果を改善できます。
ネット新規ファイル作成を最小化したい場合は、Claudeに後片付けをするよう指示できます:
反復のために一時的な新しいファイル、スクリプト、またはヘルパーファイルを作成する場合は、タスクの終了時にこれらのファイルを削除して、それらをクリーンアップしてください。ビジュアルおよびフロントエンドコード生成を強化する
Claude 4.xモデルは、高品質で視覚的に独特で機能的なユーザーインターフェースを生成できます。ただし、ガイダンスなしでは、フロントエンドコードは視覚的な関心を欠いた一般的なパターンにデフォルトできます。例外的なUI結果を引き出すために:
- 創造性の明示的な励ましを提供する:
遠回しにしないでください。全力を尽くしてください。Webデベロップメント機能を紹介する印象的なデモンストレーションを作成してください。- 美的方向とデザイン制約を指定する:
ダークブルーとシアンのカラーパレット、モダンサンセリフタイポグラフィ(見出しの場合はInter、本文の場合はシステムフォント)、および微妙な影を持つカードベースのレイアウトを使用して、プロフェッショナルなダッシュボードを作成してください。ホバー状態、トランジション、マイクロインタラクションなどの思慮深い詳細を含めてください。デザイン原則を適用してください:階層、コントラスト、バランス、および動き。- デザインの多様性と融合美学を促す:
複数のデザインオプションを提供してください。異なるソースから要素を組み合わせることで融合美学を作成してください。1つのカラースキーム、異なるタイポグラフィ、別のレイアウト原則。一般的な中央配置レイアウト、単純なグラデーション、および均一なスタイルを避けてください。- 特定の機能を明示的にリクエストする:
- 「関連するすべての機能とインタラクションを可能な限り含めてください」
- 「アニメーションとインタラクティブ要素を追加してください」
- 「基本を超えた完全に機能する実装を作成してください」
テストの合格とハードコーディングに焦点を当てることを避ける
Claude 4.xモデルは、より一般的なソリューションの費用でテストに合格することに過度に焦点を当てる場合があります。または、複雑なリファクタリングのためにヘルパースクリプトなどの回避策を使用する場合があります。標準ツールを直接使用する代わりに。この動作を防ぎ、堅牢で一般化可能なソリューションを確保するために:
利用可能な標準ツールを使用して、高品質で汎用的なソリューションを作成してください。ヘルパースクリプトまたは回避策を作成して、タスクをより効率的に実行しないでください。テストケースだけでなく、すべての有効な入力に対して正しく機能するソリューションを実装してください。値をハードコードしたり、特定のテスト入力に対してのみ機能するソリューションを作成したりしないでください。代わりに、問題を一般的に解決する実際のロジックを実装してください。
問題の要件を理解し、正しいアルゴリズムを実装することに焦点を当ててください。テストは正確性を検証するためにあり、ソリューションを定義するためではありません。ベストプラクティスとソフトウェア設計原則に従う原則的な実装を提供してください。
タスクが不合理または実行不可能である場合、またはテストのいずれかが不正確である場合は、それらを回避するのではなく、私に知らせてください。ソリューションは堅牢で、保守可能で、拡張可能である必要があります。エージェント型コーディングでの幻覚を最小化する
Claude 4.xモデルは幻覚に対してより耐性があり、コードに基づいて、より正確で根拠のある、知的な回答を提供します。この動作をさらに促進し、幻覚を最小化するために:
<investigate_before_answering>
開いていないコードについて推測しないでください。ユーザーが特定のファイルを参照する場合、回答する前にファイルを読む必要があります。コードベースについての質問に答える前に、関連するファイルを調査して読んでください。調査しない限り、コードについて主張しないでください。正しい答えが確実でない限り、根拠のある幻覚のない回答を提供してください。
</investigate_before_answering>移行に関する考慮事項
Claude 4.5モデルに移行する場合:
-
望ましい動作について具体的にする:出力で見たいことを正確に説明することを検討してください。
-
修飾子を使用して指示をフレーム化する:Claudeの出力の品質と詳細を増やすことを促す修飾子を追加すると、Claudeのパフォーマンスをより良く形作るのに役立ちます。例えば、「分析ダッシュボードを作成する」の代わりに、「分析ダッシュボードを作成してください。関連するすべての機能とインタラクションを可能な限り含めてください。基本を超えて、完全に機能する実装を作成してください。」を使用してください。
-
特定の機能を明示的にリクエストする:アニメーションとインタラクティブ要素は、望ましい場合は明示的にリクエストする必要があります。