Claudeを使用する際、Assistantメッセージを事前入力することで応答を導くことができるユニークな機能があります。この強力なテクニックを使用することで、Claudeの行動を指示し、前置きをスキップし、JSONやXMLなどの特定のフォーマットを強制し、さらにはロールプレイシナリオでキャラクターの一貫性を維持することもできます。

Claudeが期待通りに動作していない場合、事前入力した数文で大幅にパフォーマンスを改善できることがあります。少しの事前入力で大きな効果が得られます!

Claudeの応答を事前入力する方法

事前入力するには、Assistantメッセージに希望する初期テキストを含めます(Claudeの応答はAssistantメッセージの終わりから続きます):

import anthropic

client = anthropic.Anthropic()
response = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "What is your favorite color?"},
        {"role": "assistant", "content": "As an AI assistant, I don't have a favorite color, But if I had to pick, it would be green because"}  # Prefill here
    ]
)

例1:出力フォーマットの制御と前置きのスキップ

パワーユーザーのヒント: {を事前入力することで、Claudeは前置きをスキップしてJSONオブジェクトを直接出力します。これにより、より簡潔で、プログラムが追加処理なしで解析しやすくなります。

例2:ロールプレイシナリオでのキャラクター維持

ロールプレイのヒント: 角括弧で囲んだ[ROLE_NAME]を事前入力することで、より長く複雑な会話でもClaudeがキャラクターを維持することができます。これは特にsystemパラメータでのロールプロンプトと組み合わせると非常に効果的です。