Few-shot prompting (англ. few-shot prompting) — это техника in-context prompting, при которой вы добавляете в prompt несколько примеров, чтобы модель вывела нужный шаблон задачи, формат ответа или стиль без изменения своих весов. В актуальных рекомендациях OpenAI это промежуточный шаг между zero-shot и fine-tuning: сначала стоит попробовать zero-shot, затем few-shot, и только если этого недостаточно — рассматривать fine-tuning.
Проще говоря, вы не переобучаете модель и не запускаете обновление параметров. Вы показываете ей несколько образцов прямо в тексте запроса, а она продолжает тот же паттерн для нового входа.
Английский термин: few-shot prompting. Также встречается: few-shot examples, demonstration prompts, «демонстрационные примеры в prompt». У разных вендоров названия немного различаются, но базовая идея одна: несколько примеров внутри запроса.
Простыми словами
Грубо говоря, few-shot prompting похож на ситуацию, когда вам не просто говорят «сделай задачу», а сначала показывают 2–3 уже решённых примера. После этого вы понимаете не только цель, но и форму правильного ответа.
Если zero-shot — это «сделай по инструкции», то few-shot — это «сделай по инструкции и вот тебе несколько образцов». Для языковых моделей это часто полезно, когда важны точный формат, категория ответа или тон текста.
Как это работает
В классическом описании из работы Language Models are Few-Shot Learners few-shot setting задаёт задачу и демонстрации чисто через текстовое взаимодействие, без gradient updates. В статье OpenAI про InstructGPT few-shot prompt описан как инструкция плюс несколько пар «запрос/ответ», а актуальная документация Google Cloud рекомендует делать примеры ясными, конкретными и по возможности разнообразными.
Инструкция ↓ Пример 1: вход → правильный выход ↓ Пример 2: вход → правильный выход ↓ Пример 3: вход → правильный выход ↓ Новый вход ↓ Модель продолжает обнаруженный шаблон
- Вы формулируете задачу: что именно должна сделать модель.
- Добавляете несколько демонстраций: как выглядит вход и какой выход считается правильным.
- Сохраняете единый формат: одинаковая структура примеров помогает модели уловить паттерн.
- Подаёте новый вход: без готового ответа.
- Получаете продолжение шаблона: модель пытается воспроизвести задачу, формат и стиль по образцу.
Практически это и есть основная сила метода: он позволяет уточнить поведение модели без отдельного обучения. Но важно не путать это с обучением в обычном смысле: few-shot prompting не равен процедурам вроде обратного распространения или transfer learning, где меняются параметры модели.
Где применяется
- Классификация текста по меткам. Например, когда модель должна относить сообщения к фиксированным категориям и выдавать только одну допустимую метку.
- Строгий формат ответа. Если вам нужен повторяемый шаблон, few-shot примеры помогают показать, как именно должен выглядеть результат.
- Извлечение структуры из текста. Примеры подсказывают, какие поля нужно извлечь и в каком порядке их вернуть.
- Стиль и тон ответа. Если важен не только смысл, но и манера формулировки, несколько образцов часто работают лучше, чем одна абстрактная инструкция.
Во всех этих случаях few-shot prompting особенно полезен там, где одной инструкции недостаточно, но полноценное дообучение ещё преждевременно.
Практический пример
Ниже — простой шаблон few-shot prompt в формате «инструкция + примеры + новый вход». Такой формат согласуется с описанием OpenAI для few-shot prompts и с рекомендацией Google Cloud использовать prompt-response examples и разметку там, где это помогает.
<instruction>
Классифицируйте сообщение как: позитивное, нейтральное или негативное.
Отвечайте только одной меткой.
</instruction>
<example>
<input>Спасибо, всё заработало.</input>
<output>позитивное</output>
</example>
<example>
<input>Не понимаю, где найти отчёт.</input>
<output>нейтральное</output>
</example>
<example>
<input>Оплата списалась дважды, это неприемлемо.</input>
<output>негативное</output>
</example>
<input>Всё ещё жду ответ по заявке.</input>
<output>
Что здесь делает модель: она не «учится навсегда», а выводит правило из нескольких пар вход/выход и продолжает шаблон на новом сообщении. Если такой prompt не даёт стабильного результата, актуальная рекомендация OpenAI проста: сначала уточнить zero-shot инструкцию, затем попробовать few-shot, и только потом думать о fine-tuning.
Практический вердикт: few-shot prompting стоит использовать, когда модель в zero-shot режиме понимает задачу в целом, но срывается на формате, стиле или граничных случаях. Если же и после нескольких качественных примеров поведение нестабильно, одних примеров в prompt может быть недостаточно.
Если вам нужен прикладной разбор, смотрите также как использовать few-shot промптинг и как составить system prompt.
Чем отличается от zero-shot, one-shot и fine-tuning
| Подход | Что вы даёте модели | Когда подходит | Ключевое отличие |
|---|---|---|---|
| Zero-shot prompting | Только инструкцию | Когда задача понятна без образцов | Нет примеров вообще |
| One-shot prompting | Инструкцию и один пример | Когда нужен минимальный образец формата | Один образец вместо нескольких |
| Few-shot prompting | Инструкцию и несколько примеров | Когда нужно надёжнее показать паттерн, формат или стиль | Несколько демонстраций внутри prompt, без изменения весов |
| Fine-tuning | Отдельный этап настройки модели | Когда примеров в prompt уже недостаточно | Это не просто prompt: few-shot не меняет веса, fine-tuning — следующий шаг, если нужен |
Если вам нужен более широкий контекст по терминологии, полезна статья Few-shot / zero-shot обучение.
Ограничения и заблуждения
- Заблуждение: few-shot prompting — это обучение модели.
Нет. В canonical few-shot setting задача задаётся через текст, без gradient updates и без изменения весов. - Заблуждение: чем больше примеров, тем лучше.
По текущему определению Google Cloud слишком мало примеров может не хватить, а слишком много — чрезмерно зафиксировать модель на шаблоне примеров. - Заблуждение: любые примеры одинаково полезны.
Официальные рекомендации советуют давать ясные, конкретные и разнообразные образцы. Плохие или однотипные примеры могут закрепить не тот формат. - Заблуждение: few-shot заменяет хорошую инструкцию.
Нет. И OpenAI, и Google Cloud описывают few-shot как дополнение к инструкции, а не как её замену. - Ограничение терминологии.
У разных вендоров встречаются названия few-shot prompting, few-shot examples и demonstration prompts. В этой статье они сведены к одному устойчивому смыслу.
Редакционное ограничение: часть исторического контекста опирается на архивную статью OpenAI Cookbook, которая прямо помечена как archived и может ссылаться на устаревшие модели или API. Поэтому здесь сознательно не разбираются конкретные старые синтаксисы вызова и не приводятся сравнения по ценам, регионам или лимитам контекста: таких данных в исходном пакете нет.
Связанные термины и материалы
- Few-shot / zero-shot обучение — чтобы не путать режимы работы модели по числу примеров.
- Как использовать few-shot промптинг — прикладной сценарий настройки промпта.
- Как составить system prompt — как сочетать системную инструкцию и примеры.
- Transfer learning — соседний термин, если вам нужно уже не prompting, а настройка модели.
Источники
- Best practices for prompt engineering with the OpenAI API | OpenAI Help Center
- How to work with large language models — архивный материал OpenAI Cookbook
- Language Models are Few-Shot Learners
- Training language models to follow instructions with human feedback
- Generative AI glossary | Google Cloud Documentation
- Include few-shot examples | Gemini Enterprise Agent Platform | Google Cloud Documentation
Вопросы и ответы
Few-shot prompting и few-shot learning — это одно и то же?
В контексте LLM эти выражения часто связаны: few-shot prompting — это практический способ задать few-shot режим через примеры в самом prompt. Ключевая оговорка: речь идёт о выводе паттерна из контекста, а не об обновлении весов модели.
Сколько примеров нужно для few-shot prompting?
В актуальной рекомендации OpenAI говорится о «паре примеров», а Google Cloud пишет о нескольких примерах и предупреждает, что слишком мало может не хватить, а слишком много может навязать модели слишком узкий шаблон. Универсального точного числа в источниках нет, поэтому на практике начинают с небольшого набора и проверяют качество.
Когда переходить от zero-shot к few-shot?
Когда одной инструкции недостаточно: модель понимает задачу в целом, но нестабильно держит формат, стиль или границы категорий. OpenAI рекомендует именно такую последовательность: zero-shot сначала, few-shot потом.
Few-shot prompting может заменить fine-tuning?
Не всегда. Few-shot — это способ направить модель через примеры в prompt без изменения весов. Если даже после качественных демонстраций результат остаётся ненадёжным, OpenAI предлагает уже рассматривать fine-tuning как следующий шаг.
Нужно ли оформлять примеры как пары вход/выход?
Это один из наиболее устойчивых форматов. В статье про InstructGPT few-shot prompts описаны как инструкция плюс несколько query/response pairs, а Google Cloud рекомендует prompt-response examples и разметку там, где она помогает сделать шаблон яснее.