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 заменой памяти ассистента?
Нельзя. Примеры задают форму ответа, а не знание о вас, и исчезают вместе с запросом. Постоянные факты должны храниться отдельно и подмешиваться в контекст, а не переписываться руками в каждый промпт.
Остальные термины — в глоссарии терминов ИИ.