Качество и подбор примеров

Few-shot хорош ровно настолько, насколько хороши примеры; плохие примеры систематически портят ответы.

Подбор примеров — выбор показательных пар «вход → выход», которые покрывают разнообразие задачи и задают единый формат.

Что делает пример хорошим

  • Репрезентативность. Примеры похожи на реальные входы, а не на удобные искусственные случаи.
  • Разнообразие. Покрывают разные ситуации, а не три варианта одного и того же.
  • Граничные случаи. Включите трудный пример (ирония, смешанная тональность, пустое поле) — он учит модель краю.
  • Единый формат. Все примеры размечены идентично; любая мелкая разница «протекает» в ответ.
  • Корректность. Ошибка в примере воспроизводится моделью как «правило».

Баланс классов

Для классификации не давайте подряд примеры только одного класса — модель решит, что он самый частый, и будет смещаться к нему. Если классов три, дайте примеры всех трёх. Порядок тоже имеет значение: иногда модель тяготеет к классу последнего примера, поэтому стоит перемешивать.

// Плохо: перекос — три раза «спам», один раз «не спам».
// Модель начнёт чаще отвечать «спам».

// Хорошо: сбалансированно и вперемешку
Письмо: "Вы выиграли миллион, перейдите по ссылке"  -> спам
Письмо: "Напоминание о встрече в 15:00"             -> не спам
Письмо: "Скидка 90% только сегодня, кликай!"        -> спам
Письмо: "Отчёт за квартал во вложении"              -> не спам

Граничный пример учит модель краю

Если в задаче есть «ловушки», покажите их. Для тональности — отзыв с «но»: положительное и отрицательное в одном предложении. Без такого примера модель будет хвататься за первое попавшееся слово-маркер.

Отзыв: "Интерфейс красивый, но постоянно вылетает."
Тональность: отрицательная   // вывод важнее красоты UI

Один точный граничный пример часто полезнее пяти простых.

Частые ошибки подбора

ОшибкаПоследствие
Все примеры одного классаСмещение к этому классу
Разный формат у примеров«Гуляющий» формат ответа
Ошибка в эталонном ответеМодель копирует ошибку
Только лёгкие случаиПровал на трудных входах
Примеры не похожи на продХорошо в демо, плохо в бою

Итог

  • Примеры должны быть репрезентативными, разнообразными и единообразно размеченными.
  • Включайте граничные случаи — они учат модель краю задачи.
  • Балансируйте классы и перемешивайте порядок.
  • Любая ошибка в примере становится «правилом» для модели.
Проверьте себя
1. Что произойдёт, если все few-shot примеры будут одного класса?
AНичего, классы не важны
BМодель сместится к этому классу и будет чаще выдавать его
CМодель откажется отвечать
DФормат станет строже
2. Зачем включать в примеры граничный (трудный) случай?
AЧтобы удлинить промпт
BЧтобы научить модель правильно вести себя на сложных входах, а не только на лёгких
CГраничные случаи вредны, их не включают
DЧтобы снизить стоимость
3. Чем опасна ошибка в эталонном ответе примера?
AНичем, модель её игнорирует
BМодель воспримет её как правило и воспроизведёт
CПромпт перестанет работать целиком
DУвеличится температура
Поддержать проект