在使用 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-20240620",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "你最喜歡的顏色是什麼?"},
        {"role": "assistant", "content": "作為一個 AI 助手,我沒有最喜歡的顏色,但如果我必須選擇的話,那會是綠色,因為"}  # 在此預填
    ]
)

示例

示例 1:控制輸出格式並跳過前言

高級用戶提示:預填 { 強制 Claude 跳過前言並直接輸出 JSON 對象。這更乾淨、更簡潔,並且更容易被程序解析而無需額外處理。

示例 2:在角色扮演場景中保持角色

角色扮演提示:預填一個方括號 [角色名稱] 可以提醒 Claude 保持角色,即使在更長和更複雜的對話中也是如此。當與 system 參數中的角色提示結合使用時,這特別有效。