COMRAD404 / GLOSSARY

Few-shot prompting: что это и как работает

few-shot prompting

Few-shot prompting — это способ задать модели несколько примеров прямо в prompt, чтобы она уловила задачу, формат или стиль ответа без изменения весов. Ниже — простое объяснение, схема, пример и сравнение с zero-shot, one-shot и fine-tuning.

TL;DR

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

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: вход → правильный выход
   ↓
Новый вход
   ↓
Модель продолжает обнаруженный шаблон
  1. Вы формулируете задачу: что именно должна сделать модель.
  2. Добавляете несколько демонстраций: как выглядит вход и какой выход считается правильным.
  3. Сохраняете единый формат: одинаковая структура примеров помогает модели уловить паттерн.
  4. Подаёте новый вход: без готового ответа.
  5. Получаете продолжение шаблона: модель пытается воспроизвести задачу, формат и стиль по образцу.

Практически это и есть основная сила метода: он позволяет уточнить поведение модели без отдельного обучения. Но важно не путать это с обучением в обычном смысле: 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 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 и разметку там, где она помогает сделать шаблон яснее.

Источники

SOURCES

Вопросы и ответы

FAQ
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 работает без изменения весов модели; если даже после качественных примеров результат остаётся ненадёжным, OpenAI предлагает рассматривать fine-tuning как следующий шаг.

Нужно ли оформлять примеры как пары вход/выход?

Это один из самых устойчивых форматов. В работе про InstructGPT few-shot prompts описаны как инструкция плюс несколько query/response pairs, а Google Cloud рекомендует prompt-response examples и разметку, если она делает шаблон яснее.

Читайте также

LINKS