在使用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": "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"}  # 在此处预填充
    ]
)

示例

示例1:控制输出格式并跳过前言

高级用户提示:预填充{强制Claude跳过前言并直接输出JSON对象。这更简洁、更简明,并且更容易被程序解析而无需额外处理。

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

角色扮演提示:预填充一个带方括号的[角色名称]可以提醒Claude保持角色,即使在更长和更复杂的对话中也是如此。当与system参数中的角色提示结合使用时,这种方法特别强大。