Технологии

Что такое few-shot и zero-shot

Примеры в запросе не обучают модель. Она пользуется ими ровно до конца ответа, а потом забывает — и это принципиально отличает приём от дообучения.

Zero-shot — вы ставите задачу словами, без примеров. Few-shot — вы кладёте в тот же запрос несколько образцов «вход → правильный выход» и только потом даёте настоящий вход. Модель достраивает начатую закономерность.

Термин «shot» переводят как «попытка» или «пример»; никакого выстрела здесь нет.

#Как это выглядит

Zero-shot:

Определи тональность отзыва: положительная, отрицательная или нейтральная.
Отзыв: «Доставили быстро, но коробка была помята».

Few-shot:

Определи тональность отзыва.

Отзыв: «Работает как заявлено, вопросов нет.» → нейтральная
Отзыв: «Прислали не тот размер, две недели молчания.» → отрицательная
Отзыв: «Дороговато, но качество того стоит.» → положительная

Отзыв: «Доставили быстро, но коробка была помята.» →

Второй вариант выигрывает не тем, что «научил» модель распознавать тональность — она это и так умеет. Он выигрывает тем, что показал границу решений (смешанный отзыв с оговоркой — не «отрицательная») и точный формат вывода (одно слово после стрелки, без пояснений). Именно на этих двух вещах few-shot даёт основной эффект.

#Чем это не является

Примеры в промпте Дообучение (fine-tune)
Что меняется ничего веса модели
Живёт один запрос постоянно
Стоимость токены при каждом обращении разовая, но большая
Нужны данные 2–5 примеров сотни и тысячи
Откат удалить абзац заменить модель

Правый столбец нужен редко. Когда именно он оправдан, а когда нет — разобрано в тексте когда дообучение не нужно, а выбор между дообучением и подмешиванием документов — в разборе RAG против fine-tune.

#Где путают

Заблуждение первое, главное: «я обучил модель примерами». Не обучили. После ответа модель не сохраняет ничего: следующий запрос в новом чате придёт к ней в том же состоянии, что и первый. Это называется обучением в контексте, и слово «обучение» здесь метафора.

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

Заблуждение третье: примеры нужны всегда. Для сильной модели и понятной задачи zero-shot часто не хуже. Примеры оправданы там, где важен точный формат или где ваша классификация нестандартна — то есть где словами объяснить границу труднее, чем показать.

Заблуждение четвёртое: порядок и состав примеров не важны. Важны. Модель чувствительна к порядку и к перекосу: если из четырёх примеров три отрицательных, доля отрицательных ответов вырастет. Держите примеры сбалансированными и включайте в них пограничный случай.

#Частые вопросы

#Сколько примеров класть?

Начинайте с трёх и добавляйте только тогда, когда видите конкретную ошибку, которую новый пример исправляет. Практика «на всякий случай добавлю ещё пять» ухудшает и цену, и результат.

#Работает ли few-shot на маленьких локальных моделях?

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

#Чем few-shot отличается от системного промпта с описанием формата?

Системный промпт объясняет правило словами, few-shot показывает его действием. Для формата вывода показ обычно надёжнее, для стиля и общих правил поведения — описание. Часто их совмещают; общий набор приёмов — в справке про промпт-инжиниринг.

#Можно ли считать few-shot заменой памяти ассистента?

Нельзя. Примеры задают форму ответа, а не знание о вас, и исчезают вместе с запросом. Постоянные факты должны храниться отдельно и подмешиваться в контекст, а не переписываться руками в каждый промпт.

Остальные термины — в глоссарии терминов ИИ.

Хотите ИИ, который помнит вас?

Persona держит контекст между чатами и работает на вашем железе — если развернуть её у себя и подключить локальную модель.

Создать аккаунт