Anthropic公式ガイドから学ぶ — プロンプトエンジニアリング7つの法則
「AIが思い通りに動かない」— そんな悩みを持ってない? 実はプロンプトエンジニアリングは魔法じゃない。AnthropicがClaude Opus 4.6 / Sonnet 4.6 / Haiku 4.5向けに公式に公開しているPrompting Best Practicesから、最重要の7つの法則をピックアップして日本語で解説するよ。
これを知ってるだけで、ChatGPTだろうがGeminiだろうが、どんなAIでも劇的に結果が変わる。いこう。
法則1:明確で直接的に書く
AnthropicはClaudeをこう例えてる — 「優秀だけど新入社員」。頭はめちゃくちゃいいけど、社内のルールも仕事の進め方も知らない状態。
だからこそ、ゴールデンルールがある:
あなたのプロンプトを、そのタスクの背景を知らない同僚に見せてみよう。彼らが混乱するなら、Claudeも混乱する。
「もっと頑張って」とか「いい感じにして」じゃ伝わない。具体的に、ステップバイステップで書く。
Before / After
❌ Before:
分析ダッシュボードを作って
⭕ After:
分析ダッシュボードを作成してください。
基本的な機能だけでなく、関連する機能やインタラクションを
できるだけ多く含めてください。
基本的な実装を超えて、完全な機能を持つ実装にしてください。
「 Above and beyond」な結果が欲しいなら、それを明示的に頼む。AIは気を利かせて超頑張ってくれるタイプじゃない — 頼まれたことしかしない。
法則2:「なぜ」を説明する — 文脈を加える
単にルールを羅列するより、背景や理由を添えると精度がグッと上がる。AIは「なぜそのルールがあるのか」を理解すると、意図を汲み取って柔軟に対応してくれる。
Before / After
❌ Before:
省略記号(...)は絶対に使わないで
⭕ After:
あなたの回答はテキスト読み上げエンジン(TTS)で
読み上げられます。省略記号(...)は使用しないでください。
TTSエンジンが省略記号を正しく発音できないためです。
「なぜダメなのか」を説明すると、AIは省略記号だけでなく、他のTTSで問題になりそうな表現も避けるようになる。これが文脈の力。
法則3:例を効果的に使う(Few-shot / Multishot)
AIの出力フォーマットやトーンをコントロールする最も確実な方法 — それが例を示すこと。これをFew-shot(1〜2例)やMultishot(3例以上)プロンプティングと呼ぶ。
Anthropicの推奨:
- 3〜5例がベストバランス
- 例は実際のユースケースに近いものを
- エッジケースも含めてバリエーションを出す
<example>タグで囲んで構造化する
例:感情分析プロンプト
テキストの感情を「positive」「negative」「neutral」の
いずれかに分類してください。
<examples>
<example>
入力: "今日のランチ最高だった!"
出力: positive
</example>
<example>
入力: "また電車遅延かよ..."
出力: negative
</example>
<example>
入力: "明日は水曜日です"
出力: neutral
</example>
</examples>
<example>タグで囲むことで、AIは「ここは指示ではなく例だ」と明確に認識できる。
法則4:XMLタグでプロンプトを構造化する
プロンプトが長く複雑になると、AIがどこまでが指示で、どこからがデータなのか迷子になる。XMLタグで明確に分割しよう。
構造化の例
<instructions>
以下の文書を3文で要約してください。
専門用語には簡単な説明を添えてください。
</instructions>
<context>
あなたは小学生向けの科学解説者です。
</context>
<input>
{{ここに要約対象の文章}}
</input>
よく使うタグ:
<instructions>— やってほしいこと<context>— 背景情報<input>— 処理対象のデータ<output_format>— 出力の形式指定<examples>/<example>— 例
複数の文書を扱うときはネストもOK:
<documents>
<document index="1">
<source>report_2023.pdf</source>
<document_content>{{内容}}</document_content>
</document>
<document index="2">
<source>analysis_q2.xlsx</source>
<document_content>{{内容}}</document_content>
</document>
</documents>
上記の文書を分析し、戦略的優位性を特定してください。
法則5:ロール(役割)を与える
System Promptで役割を設定するだけで、回答のトーンや専門性がガラッと変わる。たった1文でも効果あり。
例
あなたはPython専門の親しみやすいプログラミング講師です。
初心者にもわかるように、コード例を交えて説明してください。
これだけで、AIは「専門用語を避ける」「例を多用する」「ステップバイステップで説明する」という振る舞いをするようになる。
役割設定のコツ:
- 専門分野を指定する(「Python専門」「法律アドバイザー」等)
- 対象読者を指定する(「小学生向け」「エンジニア向け」)
- トーンを指定する(「カジュアル」「フォーマル」)
法則6:長文コンテキストのコツ
大量の文書(2万トークン以上)をAIに読ませるときは、配置の順序が超重要。Anthropicのテストで最大30%品質向上が確認されたテクニックだ。
3つのルール
- 長文データはプロンプトの上部に — 文書やデータを先に置く
- クエリ(質問)は最後に — データを読んでから質問に答える構造
- 引用を先に行わせる — いきなり回答させるのではなく、まず関連箇所を引用させてから分析させる
Before / After
❌ Before(質問が先):
以下の文書から主要な収益源を特定してください。
{{50ページの決算報告書}}
⭕ After(データが先、質問が後、引用あり):
<documents>
<document index="1">
<source>決算報告書_2025.pdf</source>
<document_content>
{{50ページの決算報告書}}
</document_content>
</document>
</documents>
まず、決算報告書から収益に関する記述を
<quotes>タグ内に引用してください。
その後、引用内容に基づいて主要な収益源を分析し、
<analysis>タグ内にまとめてください。
「先に引用させてから分析させる」この2ステップが、回答の根拠を明確にし、ハルシネーション(嘘)を防ぐ。
法則7:AIに自分自身を認識させる
アプリケーションでAIを使う場合、AIが「自分は何者か」を正しく認識している必要がある。特にAPI経由で使うときは、モデル名やバージョンの指定が重要。
設定例
あなたはAnthropicが開発したAIアシスタントClaudeです。
現在のモデルはClaude Opus 4.6です。
LLMを切り替えて使うアプリなら:
LLMを使用する際は、ユーザーが特に指定しない限り
Claude Opus 4.6をデフォルトとしてください。
モデル文字列は "claude-opus-4-6" です。
これを設定しておくことで、AIが「私はChatGPTです」と間違った自己紹介をしたり、存在しないモデル名を指定したりするのを防げる。
まとめ:7つの法則はAI全般に応用可能
今回紹介した7つの法則をまとめよう:
- 明確に書く — 新入社員に説明するつもりで
- 文脈を加える — 「なぜ」を説明すると精度UP
- 例を示す — 3〜5例がベスト、
<example>タグで構造化 - XMLタグで構造化 — 指示・データ・例を明確に分離
- ロールを与える — たった1文で回答の質が変わる
- 長文はデータ→質問の順 — 引用を先に行わせる(最大30%品質UP)
- 自己認識させる — モデル名・役割を明示
これらはAnthropicの公式ガイドに基づくものだけど、ChatGPT、Gemini、その他どんなAIでも通用する普遍的なテクニックだ。プロンプトは「AIへの命令」じゃなくて「AIとの対話」。相手が一番理解しやすい言葉で話しかける — それがプロンプトエンジニアリングの本質だと思う。
公式ドキュメント(英語)はこちら:
Prompting Best Practices — Anthropic