Назад в блог

Few-shot или zero-shot: какой подход к промптингу выбрать

Практическое руководство по выбору подходящей техники промптинга — с готовыми примерами и простой схемой принятия решения.

Few-shot или zero-shot: какой подход к промптингу выбрать
Вы вставляете промпт в ChatGPT. Результат… в общем-то нормальный. Но вы видели, как другие добиваются заметно лучших ответов, добавив в промпт «примеры». Стоит ли так делать? Сколько примеров нужно? И вообще, имеет ли это значение для вашей задачи?
Эти вопросы возникают постоянно, а терминология только запутывает. «Zero-shot», «few-shot», «one-shot» — звучит скорее как термины из фотографии, чем практические рекомендации. В этой статье мы отбросим жаргон и дадим понятную схему выбора подхода, а ещё — готовые промпты, которые можно скопировать и проверить самому.

Что такое zero-shot промптинг на самом деле

Zero-shot промптинг — это когда вы ставите ИИ задачу, не показывая ни одного примера желаемого результата. Вы просто описываете, что вам нужно, а модель сама разбирается, как это сделать, опираясь на своё обучение.
Вот zero-shot промпт для краткого изложения встречи:

Summarize the following meeting notes into 3-5 bullet points covering the key decisions made.

Meeting notes:
{{meeting_notes}}
И всё. Никаких примеров «хорошего» резюме, никаких образцов входа и выхода. Вы доверяете модели понять, как должно выглядеть резюме и что такое «ключевые решения». Для многих задач это работает удивительно хорошо.

Что такое few-shot промптинг на самом деле

Few-shot промптинг означает, что вы добавляете в промпт 2–5 примеров, демонстрирующих нужный шаблон. По сути, вы говорите: «вот так я хочу, чтобы ты это делал», прежде чем дать саму задачу.
Та же задача про резюме встречи, но уже с примерами:

Summarize meeting notes into 3-5 bullet points covering key decisions.

Example 1:
Input: "Team discussed Q3 targets. Sarah proposed increasing the sales goal by 15%. Mark disagreed, suggested 10% was more realistic given current pipeline. Team voted and agreed on 12%. Also decided to postpone the website redesign until Q4."
Output:
- Agreed on 12% sales goal increase for Q3 (compromise between 15% and 10% proposals)
- Postponed website redesign to Q4

Example 2:
Input: "Budget review meeting. Current spending is 8% over forecast. CFO recommended cutting travel budget by 50% and freezing new hires for 60 days. CEO approved both measures effective immediately."
Output:
- Cut travel budget by 50% (effective immediately)
- 60-day hiring freeze approved
- Response to 8% budget overrun

Now summarize this:
{{meeting_notes}}
Обратите внимание на разницу. Примеры точно показывают модели, какой формат вам нужен (буллеты с пояснениями в скобках), какой уровень детализации и как обращаться с несколькими решениями сразу. Модель усваивает ваши предпочтения прямо в контексте — без всякого дообучения.

Ключевые отличия с одного взгляда

Вот как два подхода соотносятся по самым важным критериям:
  • Скорость: zero-shot быстрее. Меньше токенов на обработку — быстрее ответ.
  • Стоимость: zero-shot дешевле. Вы платите за токены, и примеры быстро накапливаются.
  • Затраты на подготовку: zero-shot почти не требует усилий. Few-shot — это поиск или составление хороших примеров.
  • Точность на простых задачах: примерно одинаковая. Современные модели хорошо справляются с прямолинейными запросами и так, и так.
  • Точность на сложных или специфичных задачах: few-shot обычно выигрывает. Когда нужен особый формат или отраслевая терминология, примеры дают заметную разницу.
Компромисс понятен: zero-shot проще и дешевле, а few-shot даёт больше контроля над результатом. Вопрос в том, когда этот дополнительный контроль того стоит.

Когда zero-shot работает лучше всего

Zero-shot хорош, когда задача — это что-то, что модель уже «понимает» из своего обучения. Сюда входит:
Вопросы общего характера: объяснения, определения, фактическая информация. Модель знает, как выглядит хорошее объяснение.

Творческий брейншторм: генерация идей, черновики, варианты решений. Здесь вам нужна вариативность, а не строгое следование шаблону.

Стандартное резюмирование: сжатие статей, писем, документов, когда не важен особый формат.

Перевод: между языками, на которых модель обучалась.

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

Когда few-shot стоит лишних токенов

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

Ваши категории классификации: если вы сортируете письма клиентов по категориям вроде «вопрос-по-оплате», «запрос-фичи», «сообщение-о-баге» и «общий-вопрос», примеры по каждой категории помогают модели понять ваши определения.

Tone of voice бренда: хотите, чтобы ИИ писал в стиле уже существующего контента вашей компании? Покажите 2–3 примера такого голоса. Указания вроде «пиши профессионально, но дружелюбно» — расплывчатые, а примеры — конкретные.

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

Граничные случаи и нюансы: распознавание сарказма, иронии или тонких различий, на которых zero-shot обычно спотыкается. Исследования показывают, что few-shot заметно улучшает работу с граничными случаями анализа тональности — отрицанием и сарказмом.
В одном исследовании показано, что для классификации тональности твитов few-shot всего с 20–50 примерами приближается по качеству к моделям, дообученным на 10 000+ примеров. Вот в чём сила хорошо подобранных демонстраций.
Если вы замечаете, что начинаете собирать целую библиотеку few-shot промптов под разные задачи, такой инструмент, как PromptNest, помогает сохранять их вместе с переменными вроде {{meeting_notes}} — заполните пропуски при копировании, и готовый промпт можно сразу вставлять.

Подход «начни с zero, доработай при необходимости»

Вот практичный сценарий, который экономит и время, и токены:
Шаг 1: сначала попробуйте zero-shot. Напишите чёткий промпт с описанием задачи. Будьте конкретны, но пока без примеров.

Шаг 2: оцените результат. Получили то, что нужно? Если да — готово. Если нет — определите, что именно не так: формат? тон? не хватает деталей? модель вообще неверно поняла задачу?

Шаг 3: добавьте точечные примеры. Создайте 2–3 примера, которые конкретно показывают то, в чём модель ошиблась. Если проблема в формате — покажите правильный формат. Если в тоне — покажите нужный тон.
Этот сценарий важен потому, что вы не гадаете, нужны ли примеры — вы реагируете на конкретные пробелы. Иногда добавить «Давай подумаем шаг за шагом» к zero-shot промпту хватает, чтобы починить рассуждения вообще без примеров. Исследования подтверждают, что zero-shot chain-of-thought на задачах с рассуждениями часто опережает few-shot.

Сколько примеров реально нужно?

Исследования стабильно указывают на оптимальные 2–5 примеров для большинства задач. Что говорят данные:
- Самый большой прирост точности дают первые 2–3 примера - После 4–5 примеров отдача резко падает - Большее количество примеров может даже ухудшить результат, внося противоречивые шаблоны - Качество примеров важнее количества — три отличных примера лучше десяти посредственных
Есть ещё один важный момент — порядок примеров: исследования показывают, что последовательность примеров влияет на результат, и удачный порядок иногда отделяет хороший ответ от плохого. Если ваш few-shot промпт работает плохо, попробуйте сначала переставить примеры, а уже потом добавлять новые.
Иллюстрация: к промпту добавляются карточки с примерами, после первых нескольких отдача снижается
Иллюстрация: к промпту добавляются карточки с примерами, после первых нескольких отдача снижается
Для большинства случаев начинайте с 2 примеров. Если точности не хватает — добавьте третий, покрывающий другую вариацию. Больше четырёх нужно редко.

Chain-of-thought: золотая середина для рассуждений

Есть и третий вариант, особенно полезный для математики, логики и многошаговых задач — chain-of-thought, или промптинг по цепочке рассуждений. Вместо примеров «вход — выход» вы просите модель «думать шаг за шагом».
Zero-shot chain-of-thought выглядит так:

A store has 45 apples. They sell 12 in the morning and receive a shipment of 30 more. Then they sell 18 in the afternoon. How many apples do they have at closing?

Let's work through this step by step.
Эта простая фраза — «Let's work through this step by step» — заставляет модель показать ход рассуждений вместо того, чтобы выпаливать ответ. На сложных задачах это часто бьёт и zero-shot, и few-shot.
Свежее исследование на arXiv показало, что для сильных моделей вроде GPT-4 и Claude zero-shot chain-of-thought нередко обходит few-shot на задачах с рассуждениями. Примеры могут даже сужать ход мысли модели, а не помогать ей.
Используйте chain-of-thought, когда:
  • Задача требует нескольких логических шагов
  • Нужно, чтобы модель объяснила свои рассуждения (удобно ловить ошибки)
  • Речь о математике, логике в коде или аналитических задачах
  • Хочется проверить подход модели, а не только её ответ

Готовые примеры промптов, которые можно скопировать

Посмотрим три подхода рядом на реальных задачах. Все промпты протестированы на GPT-4 и Claude и готовы к использованию.

Задача 1: классификация тона письма

Zero-shot версия:

Classify the tone of this customer email as: frustrated, satisfied, neutral, or urgent.

Email:
{{email_text}}

Tone:
Few-shot версия (лучше для граничных случаев):

Classify customer email tone as: frustrated, satisfied, neutral, or urgent.

Email: "I've been waiting 3 weeks for my order. This is ridiculous. I want a refund NOW."
Tone: frustrated

Email: "Just wanted to say thanks — the product arrived early and works great!"
Tone: satisfied

Email: "Hi, can you confirm my order shipped? Order #12345."
Tone: neutral

Email: "Our system is down and we need the replacement part TODAY or we lose the contract."
Tone: urgent

Email: {{email_text}}
Tone:
Few-shot версия помогает модели понять именно ваши определения. «Срочно» и «раздражён» легко спутать — примеры чётко проводят границы.

Задача 2: переписать описание товара

Zero-shot версия:

Rewrite this product description to be more engaging and benefit-focused. Keep it under 100 words.

Original: {{product_description}}

Rewritten version:
Few-shot версия (лучше для единого стиля бренда):

Rewrite product descriptions to be engaging and benefit-focused. Match this style:

Original: "Stainless steel water bottle. 24oz capacity. Keeps drinks cold for 24 hours."
Rewritten: "Stay hydrated all day with our sleek 24oz steel bottle. Your morning coffee stays hot through your commute. Your afternoon water stays ice-cold at the gym. One bottle, endless possibilities."

Original: "Wireless earbuds. 8-hour battery. Noise cancelling."
Rewritten: "Eight hours of your favorite podcasts, uninterrupted. Our wireless earbuds block out the noise so you can focus on what matters — whether that's deep work, your workout playlist, or finally finishing that audiobook."

Original: {{product_description}}
Rewritten:
Few-shot версия задаёт конкретный стиль копирайтинга — упор на пользу, разговорный тон, конкретные сценарии использования. Zero-shot выдаст вам какой-то переписанный текст, но не обязательно ваш голос.

Задача 3: структурирование баг-репорта

Zero-shot версия:

Convert this bug report into a structured format with: Summary, Steps to Reproduce, Expected Behavior, and Actual Behavior.

Bug report: {{bug_report}}
Few-shot версия (лучше для единообразного оформления):

Convert bug reports into structured format.

Input: "The app crashes when I try to upload a PDF. I was on the dashboard, clicked upload, selected a 5MB PDF, and it just closed. Should show the file in my uploads but instead the whole app dies."

Output:
**Summary:** App crashes when uploading PDF files
**Steps to Reproduce:**
1. Navigate to dashboard
2. Click upload button
3. Select a PDF file (tested with 5MB file)
**Expected:** File appears in uploads section
**Actual:** Application crashes/closes unexpectedly

---

Input: {{bug_report}}

Output:
В технической документации единообразие критично. Few-shot версия гарантирует, что каждый баг-репорт будет в одной структуре и с одинаковым уровнем детализации.

Быстрая схема принятия решения

Когда перед вами новая задача, пройдитесь по этим вопросам:
1. Задача простая и чётко поставлена? → начинайте с zero-shot 2. Нужен особый формат, который модель может не угадать? → используйте few-shot 3. Задача требует многошагового рассуждения? → сначала попробуйте zero-shot chain-of-thought 4. Нужен единый голос бренда или отраслевая терминология? → используйте few-shot с примерами в нужном стиле 5. Zero-shot выдал 80% того, что нужно? → оставьте как есть. Идеал не стоит троекратного расхода токенов.
Цель — не использовать самую модную технику, а получать хорошие результаты экономно. Zero-shot — это значение по умолчанию. Усложняйте только тогда, когда более простые подходы не дотягивают.

Как применять это на практике

Лучший способ закрепить это — поэкспериментировать. Возьмите задачу, с которой работаете регулярно — резюмирование отчётов, черновики писем, разбор обратной связи — и попробуйте оба подхода. Заметьте, где zero-shot не дотягивает. Заметьте, где few-shot реально меняет дело.
Когда вы найдёте промпты, которые работают, сохраните их там, где сможете потом найти. Если вы собираете коллекцию промптов с примерами и переменными, PromptNest — это нативное Mac-приложение ($19.99 единоразово в Mac App Store, без подписки, без аккаунта, работает локально), которое держит их в порядке, с поиском и быстрым вызовом сочетанием клавиш из любого приложения. Больше не придётся рыться в разрозненных заметках в поисках того идеального few-shot промпта, который вы написали три недели назад.
Начинайте с простого. Усложняйте по мере необходимости. Сохраняйте то, что работает. Вот и вся стратегия.