Перейти к основному содержимому

Few-shot примеры как надо

Средний
What you'll learn
  • Что такое few-shot-промптинг и почему примеры лучше описаний
  • Как читать чистый few-shot-промпт, который модель завершает
  • Как подбирать, форматировать и упорядочивать примеры (включая пограничные случаи)
  • Когда использовать zero-shot, а когда few-shot
  • Почему небрежный пример хуже, чем отсутствие примера

Few-shot-промптинг означает показ модели нескольких разобранных примеров задачи, прежде чем попросить выполнить новую. Сделанный хорошо, это самый быстрый способ зафиксировать формат, стиль или поведение в пограничных случаях — зачастую лучше, чем описывать желаемое словами.

Почему примеры лучше описаний

«Будь кратким и дружелюбным» расплывчато. Показ двух кратких, дружелюбных выводов однозначен. Модель сопоставляет паттерн примеров и продолжает его.

Чистый few-shot-промпт

Обратите внимание на форму: несколько пар Message → Label в одинаковом формате, затем финальное сообщение с пустым Label:, которое модель должна заполнить.

Few-shot-промпт для классификации

Classify each support message as: billing, bug, or feature.

Message: "I was charged twice this month."
Label: billing

Message: "The app crashes when I upload a photo."
Label: bug

Message: "Can you add dark mode?"
Label: feature

Message: "My subscription renewed at the wrong price."
Label:

У модели есть паттерн; она завершает последнюю строку.

Как подбирать и форматировать примеры

Guided walkthrough1 of 5
  1. Включайте пограничные случаи, которые вам важны. Если категория редкая или каверзная, включите её.

Стоимость токенов, упомянутая выше, реальна — смотрите Токены и контекст. Для подхода с разделителями XML-теги — это чистый и надёжный разделитель.

Zero-shot против few-shot

Сначала попробуйте zero-shot (просто спросите) — современные модели сильны. Добавляйте примеры, когда вам нужен конкретный формат/стиль или задача неоднозначна. Если zero-shot уже справляется на отлично, не платите за примеры.

Pro tip
  • Примеры — это данные, держите их чистыми. Неверный или небрежный пример активно учит неправильному. Курируйте их, как обучающие данные.
Key takeaways
  • Показывайте, а не рассказывайте: разобранные примеры лучше расплывчатых описаний.
  • Охватывайте разнообразие, особенно пограничные случаи, и держите каждый пример в одинаковом формате.
  • 2–5 примеров обычно достаточно; больше может привести к переобучению и стоит токенов.
  • Порядок имеет значение — самые понятные первыми, и не группируйте одну метку вместе.
  • Начинайте с zero-shot; добавляйте примеры только ради конкретного формата/стиля или при неоднозначности.

Проверь себя

0/5
  1. Почему примеры часто лучше письменного описания вроде «будь кратким и дружелюбным»?
  2. Сколько примеров «часто достаточно» для few-shot-промпта?
  3. Для задачи классификации, как следует упорядочивать примеры?
  4. Когда стоит предпочесть zero-shot, а не few-shot?
  5. В чём риск небрежного или неверного примера?

Дальше