少样本提示与会话角色

Claude 模型入门

Nikhil Rangarajan

Data Scientist

使用消息格式的会话角色

  • 消息数组模拟多轮对话
  • 每条消息都有角色
  • 遵循特定回应风格
messages = [
    {"role": "user", 
 "content": "What's the weather like?"},
    {"role": "assistant", 
 "content": "I don't have access to 
     current weather data. You might 
     want to check a weather app."},
    {"role": "user", 
 "content": "How's traffic downtown?"}]

response = client.messages.create(
    model="claude-sonnet-4-6",
    messages=messages)
Claude 模型入门

少样本提示入门

  • 少样本提示通过示例教会 Claude
  • 用户/助理配对展示期望行为
  • 对新输入同样有效

一位用户与一位助理

Claude 模型入门

理解 zero-shot、few-shot 与 one-shot

$$

  • Zero-shot:单个提示,无示例
  • One-shot:任务前提供 1 个示例
  • Few-shot:提供多个示例展示模式
  • 更多示例通常提升一致性
Claude 模型入门

少样本代码示例

messages = [{"role": "user", "content": "Translate to French: Hello"}] # Zero-shot

# One-shot messages = [{"role": "user", "content": "Translate to French: Good morning"}, {"role": "assistant", "content": "Bonjour"}, {"role": "user", "content": "Translate to French: Hello"}]
# Few-shot (multiple examples) messages = [{"role": "user", "content": "Translate to French: Good morning"}, {"role": "assistant", "content": "Bonjour"}, {"role": "user", "content": "Translate to French: Thank you"}, {"role": "assistant", "content": "Merci"}, {"role": "user", "content": "Translate to French: Hello"}]
Claude 模型入门

少样本的实用场景

  • 格式一致:展示期望输出结构
  • 语气匹配:示范特定沟通风格
  • 复杂推理:引导多步求解
  • 领域知识:教授专门应用
# Teaching email response format
messages = [{"role": "user", "content": "Customer complaint: Late delivery"},
    {"role": "assistant", "content": "Dear Customer,\n\nWe apologize for the delay. 
     We'll track your order and update you within 24 hours.
     \n\nBest regards,\nSupport Team"},
    {"role": "user", "content": "Customer complaint: Wrong item received"}]
Claude 模型入门

少样本提示最佳实践

提示

  • 大多数任务使用 2-5 个示例
  • 确保示例高质量且一致
  • 多样化示例以展示模式,而非机械重复
  • 用边界情况测试以验证稳健性
Claude 模型入门

让我们一起练习吧!

Claude 模型入门

Preparing Video For Download...