在使用 Claude 時,您可以透過預填 Assistant 訊息來引導其回應。這個強大的技術可以讓您指導 Claude 的行動、跳過前言、強制使用特定格式如 JSON 或 XML,甚至幫助 Claude 在角色扮演場景中保持角色一致性。

在某些 Claude 表現不如預期的情況下,預填幾句話就能大幅改善 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 參數中的角色提示結合使用時,這特別有效。