Few-shot промптинг и роли в диалоге

Введение в модели 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

Введение в few-shot промптинг

  • Few-shot промптинг обучает Claude на примерах
  • Пары сообщений user/assistant задают желаемое поведение
  • Эффективно работает на новых входных данных

Пользователь и ассистент

Введение в модели Claude

Zero-shot, one-shot и few-shot: в чём разница

$$

  • Zero-shot: один запрос без примеров
  • One-shot: один пример перед заданием
  • Few-shot: несколько примеров, задающих паттерн
  • Больше примеров — выше согласованность
Введение в модели Claude

Пример кода: few-shot промптинг

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

Практическое применение few-shot промптинга

  • Формат вывода: задайте нужную структуру ответа
  • Тон общения: покажите желаемый стиль
  • Сложные рассуждения: направьте многошаговое решение
  • Экспертная область: обучите применению специализированных знаний
# 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

Рекомендации по few-shot промптингу

Промптинг

  • Используйте 2–5 примеров для большинства задач
  • Примеры должны быть качественными и согласованными
  • Варьируйте примеры, чтобы показать паттерн, а не повторение
  • Проверяйте граничные случаи для оценки устойчивости
Введение в модели Claude

Давайте потренируемся!

Введение в модели Claude

Preparing Video For Download...