😽

Anthropic流プロンプトエンジニアリングを実践

に公開

Anthropic流プロンプトエンジニアリングを実践してみた:Claude向けテンプレートと出力例

AIモデルを「使いこなす」うえで最も再現性を左右するのが プロンプトエンジニアリング です。
Anthropic は公式ドキュメントで Claude 向けのベストプラクティスを公開していますが、理論だけでは掴みづらい部分もあります。
本記事では、それを踏まえて私自身が 実際にClaude向けテンプレートを設計し、出力を比較 した結果を共有します。


1. Anthropicの原則(要点まとめ)

Anthropic公式のプロンプトプロンプトエンジニアリング指針から、重要な原則は次の3つです。

  1. Explicitness(明示性) — 出力形式・文体・制約を具体的に書く
  2. Decomposition(分割) — 思考ステップを明示して順序立てる
  3. Role Definition(役割付与) — モデルに「役割」を明確に設定する

出典:


2. 実践:Claude向けプロンプトテンプレートを設計してみた

以下は、実際にAnthropic推奨構成を取り入れて作ったテンプレート例です。

🧩 プロンプトテンプレート

あなたは {role} です。

# 目的
{goal}

# 入力情報
{context}

# 出力条件
- 出力形式: {format}
- 制約: {constraints}
- 手順: 以下の順で考え、出力してください。
  1. 問題の要約
  2. 分析ステップ
  3. 結論または提案

# 注意事項
- 不明点があれば仮定を明示する
- 必ず構造化された出力を生成する

これを Python 経由で Claude API に渡す場合は以下のようになります:

from anthropic import Anthropic

client = Anthropic(api_key="YOUR_API_KEY")

prompt = """
あなたは 経営戦略コンサルタント です。

# 目的
生成AIを使った中小企業の業務効率化戦略を3つ提案する。

# 入力情報
対象企業:従業員30名、製造業、国内販売中心

# 出力条件
- 出力形式: Markdown
- 制約: 各提案は100字以内、コスト目安を付記
- 手順:
  1. 現状課題を要約
  2. 改善案を3つ提案
  3. 最後に総括コメント
"""

response = client.messages.create(
    model="claude-3-5-sonnet-20240620",
    max_tokens=500,
    messages=[{"role": "user", "content": prompt}]
)

print(response.content[0].text)

3. Claudeの出力例(実際の応答)

※これはClaude 3.5 Sonnetの実際の応答を再現した例です。

### 現状課題の要約
生産計画や在庫管理が属人化しており、データ活用が進んでいない。業務効率化余地が大きい。

### 改善提案
1. **AI需要予測ツール導入**  
   - 月次販売データを用いた自動予測。  
   - コスト:約30万円/月

2. **社内FAQチャットボット構築**  
   - 社内規程・操作マニュアルの自動回答。  
   - コスト:約15万円/月

3. **画像検査AIの試験導入**  
   - 製造ラインで不良品検知。  
   - コスト:約50万円/月

### 総括コメント
初期導入は限定範囲で試行し、業務プロセスの自動化度を定量評価するのが効果的。

4. テンプレート適用の効果(比較)

比較項目 通常のざっくり依頼 テンプレート利用後
出力構成 バラバラ、毎回違う 安定してMarkdown構造
内容の一貫性 回答ごとに偏りあり 各提案が均一化
再現性 低い 高い(再実行でもほぼ同構成)

Anthropicのドキュメントでも「再現性=品質の第一条件」とされており、テンプレート化の効果が大きいことが分かります。


5. 応用:社内利用のための簡易テンプレート化

プロンプトテンプレートは Jinja2 や f-string で変数化すれば、Python/Node.jsから容易に再利用可能です。

template = """
あなたは {role} です。
# 目的
{goal}
# 入力情報
{context}
# 出力条件
- 出力形式: Markdown
- 制約: {constraints}
"""

prompt = template.format(
    role="プロジェクトマネージャー",
    goal="開発スケジュールの改善提案を3点示す",
    context="Webアプリ開発チーム:5名、納期3ヶ月",
    constraints="各提案は50字以内"
)

この形にしておくと、業務ツールや Notion 連携などにも組み込みやすくなります。


6. 所感・まとめ

  • Anthropic流の設計は「構造化 × 明示性 × 再現性」の三拍子。
  • Claudeは自然言語の曖昧さをうまく吸収してくれますが、逆に言えば曖昧なプロンプトは曖昧な出力しか返さない
  • 個人的に一番効いたのは、「手順を明示」する部分。
    Claude はステップ構造を非常に忠実に守るため、出力安定性が大幅に向上しました。

💡Tips

  • 一度にすべて完璧なテンプレートを作ろうとせず、
    「構造 → 制約 → 出力形式」の順で徐々に追加していくのが◎
  • Prompt Improver(Anthropic公式ツール)を使うと、自分のテンプレートを自動改善してもらえる

7. 参考リンク


Discussion