Claudeを使用する際、systemパラメータを使用して役割を与えることで、パフォーマンスを大幅に向上させることができます。このテクニックは、役割プロンプティングとして知られており、Claudeでシステムプロンプトを使用する最も強力な方法です。

適切な役割は、Claudeを一般的なアシスタントから仮想ドメインエキスパートに変えることができます!

システムプロンプトのヒント: systemパラメータを使用してClaudeの役割を設定します。タスク固有の指示など、他のすべてをuserターンに入れてください。

役割プロンプティングを使用する理由

  • 精度の向上: 法的分析や財務モデリングなどの複雑なシナリオでは、役割プロンプティングによりClaudeのパフォーマンスが大幅に向上します。
  • トーンのカスタマイズ: CFOの簡潔さやコピーライターの才能など、役割プロンプティングによりClaudeのコミュニケーションスタイルを調整できます。
  • フォーカスの改善: 役割のコンテキストを設定することで、Claudeはタスクの特定の要件の範囲内にとどまります。

Claudeに役割を与える方法

Messages APIsystemパラメータを使用して、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は実行可能な洞察を提供します: