わさびです。
Claudeに「もっといい回答を出させたい」と思ったことがある人向けの記事。
「プロンプトの書き方」は入門レベルの情報が多いけど、Claudeには他のLLMとは違う独自の設計思想がある。Anthropicの公式ドキュメント(英語)に書かれている中級テクニックを、実例つきで7つ紹介する。
1. XMLタグで構造化する
Claudeは他のLLMと比べて、XMLタグの構造を正確に認識する。これはAnthropicが公式に推奨しているテクニック。
悪い例:
以下の文章を要約してください。レビュー文はこちらです。この製品は非常に優れていて...
良い例:
<task>以下のレビュー文を3行で要約してください。</task>
<review>
この製品は非常に優れていて...
</review>
<format>
- 箇条書き3点
- 各点は30文字以内
</format>
XMLタグを使うメリット:
- 指示とデータの境界が明確になる
- 出力フォーマットの指定が正確に伝わる
- 複数の入力を区別できる
Claudeは自然言語の曖昧さよりも、構造化された指示を正確に解釈する傾向がある。
2. Few-shotで品質を安定させる
Few-shot(少数例示)は「こういう入力にはこういう出力を返して」と例を見せるテクニック。Claudeは例示に忠実に従う傾向が強い。
<examples>
<example>
<input>東京タワーの高さは?</input>
<output>333メートルです。1958年に完成した電波塔で、正式名称は日本電波塔。</output>
</example>
<example>
<input>富士山の高さは?</input>
<output>3,776メートルです。日本最高峰の活火山で、2013年にユネスコ世界文化遺産に登録。</output>
</example>
</examples>
<input>スカイツリーの高さは?</input>
こうすると「高さ + 一言補足情報」という出力パターンが安定する。
Few-shotのコツ:
| ポイント | 説明 |
|---|---|
| 例は2-3個 | 多すぎるとトークン消費が増える |
| 境界ケースを含める | 通常パターンと例外パターンの両方 |
| 出力形式を統一する | 例の出力形式がそのままテンプレートになる |
3. Chain of Thoughtで推論精度を上げる
Chain of Thought(CoT)は、Claudeに段階的に考えさせるテクニック。Extended Thinkingとは別物で、プロンプトレベルで指示する。
<task>
以下の売上データから、最も利益率が高い商品を特定してください。
</task>
<instructions>
ステップごとに考えてください:
1. 各商品の利益率を計算する
2. 利益率を比較する
3. 最も高い商品を特定する
4. その理由を説明する
</instructions>
<data>
商品A: 売上100万円, 原価60万円
商品B: 売上200万円, 原価150万円
商品C: 売上50万円, 原価20万円
</data>
「ステップごとに考えてください」の一文を入れるだけでも効果がある。Claudeは指示されると中間推論をテキストに出力するようになり、飛躍した間違いが減る。
4. ロールプロンプティング
Claudeに役割を与えると、その専門分野に適した語彙と知識の深さで回答するようになる。
<role>
あなたはセキュリティ監査の専門家です。
OWASP Top 10を熟知しており、コードレビューで脆弱性を見つけることが得意です。
</role>
<task>
以下のPythonコードのセキュリティ上の問題を指摘してください。
</task>
ロールプロンプティングの注意点:
- 具体的な専門性を指定する(「専門家」だけでは弱い)
- 知識の範囲を限定する(何を知っている専門家なのか)
- 行動の傾向を指示する(何を重視するのか)
「あなたはAIアシスタントです」は無意味。Claudeは自分がAIであることを知っている。
この先の実践テンプレート・コード例は Zenn で公開しています(有料)