Zero-shot и few-shot: почему примеры работают
Иногда достаточно описать задачу словами (zero-shot), а иногда несколько примеров дают то, чего не добиться никаким описанием.
Few-shot — приём, когда в промпт добавляют несколько примеров «вход → желаемый выход», по которым модель достраивает ответ для нового входа. Zero-shot — без примеров, только описание задачи.
Zero-shot
Zero-shot — это просто инструкция без примеров. Современные модели хорошо справляются с типовыми задачами в этом режиме.
Определи тональность отзыва: положительная, отрицательная или нейтральная.
Отзыв: "Доставка опоздала на три дня, но товар отличный."Тут модель, скорее всего, ответит верно. Но формат ответа может «гулять»: «Скорее нейтральная», «Смешанная (mixed)», «Положительная с оговоркой» — а вам нужно одно слово из трёх.
Few-shot фиксирует и поведение, и формат
Добавим примеры. Они задают и логику разметки, и точный формат выхода.
Определи тональность отзыва. Отвечай ровно одним словом:
положительная, отрицательная или нейтральная.
Отзыв: "Прекрасный сервис, вернусь снова!"
Тональность: положительная
Отзыв: "Ужасно, деньги на ветер."
Тональность: отрицательная
Отзыв: "Заказ пришёл, всё по описанию."
Тональность: нейтральная
Отзыв: "Доставка опоздала на три дня, но товар отличный."
Тональность:Теперь модель почти наверняка ответит одним словом из трёх — потому что три примера задали шаблон, который она достраивает. Это и есть сила few-shot: вы показываете, а не только рассказываете.
Почему это работает
С точки зрения предсказания токенов few-shot создаёт в промпте локальный «образец задачи». Модель видит повторяющуюся структуру (Отзыв → Тональность → одно слово) и продолжает её. Это особенно ценно, когда задачу трудно описать словами, но легко показать примерами: специфический стиль, нестандартная разметка, ваш внутренний формат.
Сколько примеров
Обычно 2–5. Один пример («one-shot») задаёт формат, но мало показывает разнообразие. Слишком много примеров раздувают промпт (дороже, медленнее) и иногда вредят, если примеры однобокие. Начинайте с 3 и смотрите.
Когда хватает zero-shot
Если задача типовая (перевод, суммаризация, простая классификация) и формат вы и так задали явной инструкцией — примеры могут не понадобиться. Few-shot нужен, когда: формат нестандартный, важны граничные случаи, или zero-shot стабильно ошибается в одну и ту же сторону.
Итог
- Zero-shot — инструкция без примеров; хорош для типовых задач.
- Few-shot — 2–5 примеров «вход → выход»; фиксирует и логику, и формат.
- Примеры показывают то, что трудно описать словами.
- Не переусердствуйте: лишние примеры дороже и могут смещать ответ.