プロンプトエンジニアリング
システムプロンプトを使用してClaudeに役割を与える
Claudeを使用する際、system
パラメータを使用して役割を与えることで、パフォーマンスを大幅に向上させることができます。このテクニックは、役割プロンプティングとして知られており、Claudeでシステムプロンプトを使用する最も強力な方法です。
適切な役割は、Claudeを一般的なアシスタントから仮想ドメインエキスパートに変えることができます!
システムプロンプトのヒント:
system
パラメータを使用してClaudeの役割を設定します。タスク固有の指示など、他のすべてをuser
ターンに入れてください。役割プロンプティングを使用する理由
- 精度の向上: 法的分析や財務モデリングなどの複雑なシナリオでは、役割プロンプティングによりClaudeのパフォーマンスが大幅に向上します。
- トーンのカスタマイズ: CFOの簡潔さやコピーライターの才能など、役割プロンプティングによりClaudeのコミュニケーションスタイルを調整できます。
- フォーカスの改善: 役割のコンテキストを設定することで、Claudeはタスクの特定の要件の範囲内にとどまります。
Claudeに役割を与える方法
Messages APIのsystem
パラメータを使用して、Claudeの役割を設定します:
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-3-5-sonnet-20240620",
max_tokens=2048,
system="あなたはFortune 500企業のベテランデータサイエンティストです。", # <-- 役割プロンプト
messages=[
{"role": "user", "content": "このデータセットで異常を分析してください: <dataset>{{DATASET}}</dataset>"}
]
)
print(response.content)
役割プロンプティングのヒント: 役割を試してみてください!
データサイエンティスト
は、同じデータに対してマーケティング戦略家
とは異なる洞察を持っているかもしれません。 Fortune 500企業の顧客インサイト分析を専門とするデータサイエンティスト
は、さらに異なる結果をもたらすかもしれません!例
例1: 法的契約分析
役割がない場合、Claudeは重要な問題を見落とす可能性があります:
役割がある場合、Claudeは数百万ドルのコストがかかる可能性のある重大な問題を発見します:
例2: 財務分析
役割がない場合、Claudeの分析は深みに欠けます:
役割がある場合、Claudeは実行可能な洞察を提供します: