Few-shot prompting: учите AI на примерах
Когда не получается описать желаемое — покажите. Few-shot prompting — давать модели 2–3 примера стиля вывода — самый быстрый способ получить консистентный, бренд-выдержанный результат.
Самый быстрый способ научить AI ровно тому, что вам нужно, — не описывать. А показать. Два-три конкретных примера желаемого вывода дают радикально лучшие результаты, чем те же инструкции словами.
Этот приём называется few-shot prompting и является одним из самых высокорычажных трюков во всём арсенале промптинга. Он же — драматически недоиспользуемый новичками, которые пытаются описать желаемый вывод прилагательными и в итоге расстраиваются, когда модель выдаёт нечто близкое, но не совсем то.
Эта статья проводит через то, что такое few-shot prompting, когда его применять и как делать его хорошо — с разобранными примерами.
Почему примеры работают лучше описаний
Маленький мысленный эксперимент. Допустим, я хочу описать вам tone of voice моей компании для маркетинговых текстов. Я мог бы сказать: «дружелюбно, но профессионально, тепло, но не панибратски, уверенно, но никогда не высокомерно, простой язык без упрощений». Прочитав эти четыре фразы, вы вероятно кивнёте — и выдадите потом нечто заметно отличное от того, что я на самом деле хотел.
Но если бы я вместо этого показал вам три коротких абзаца, написанных нами, которые, по моему мнению, попадают в нужный тон — и ничего бы не объяснил, — у вас было бы куда более ясное ощущение, как писать в этом голосе. Скорее всего, вы воспроизвели бы его с первой попытки.
Ровно так же модель воспринимает ваши инструкции. Прилагательные вроде «дружелюбный», «профессиональный», «уверенный» — расплывчаты. Конкретные примеры — конкретны. Модель умеет паттерн-матчить против примеров; против прилагательных ей приходится интерпретировать.
Этот паттерн изучен в литературе по in-context learning: большие языковые модели обычно гораздо лучше обобщают на основании горстки примеров, чем на основании описаний того же поведения. Отчасти поэтому совет «show, do not tell» всегда был правильным писательским советом.
Когда тянуться за few-shot
Несколько ситуаций, где примеры спасут вас больше, чем любой другой трюк промптинга:
Совпадение конкретного тона. «Пиши в голосе нашей компании». Если вы не можете определить голос тремя чёткими прилагательными — покажите два-три примера.
Консистентное форматирование. Что угодно, где вывод должен выглядеть одинаково каждый раз — описания продуктов, сообщения об ошибках, ответы API, еженедельные отчёты, статус-апдейты. Покажите формат, не описывайте.
Нишевые или необычные выводы. «Напиши ветку в Twitter так, как пишет [конкретный человек, на которого вы подписаны]». «Сгенерируй заголовки для внутреннего блога про инструменты». «Пиши комментарии к коду в стиле нашей команды». У этого есть конкретные конвенции, которые тяжело артикулировать.
Воспроизведение стиля для перевода, суммаризации или переписывания. «Перепиши это в том же стиле, что и три примера, которые я покажу».
Что-либо, что вы постоянно исправляете в одном направлении. Если замечаете, что правите вывод модели в одну и ту же сторону каждый раз — делаете короче, заменяете слово, подтягиваете структуру — дайте модели примеры исправленной версии.
Базовая структура
Few-shot промпт состоит из трёх частей: краткая инструкция, два-три примера и новая задача.
Сгенерируй однострочное описание продукта для B2B SaaS-инструмента. Подстройся под стиль этих примеров.
>
Пример 1: Продукт: ProjectHub Описание: A shared workspace for project teams who are tired of switching between five tools to do one job.
>
Пример 2: Продукт: TimeFlow Описание: A time-tracking app for people who hate time-tracking apps.
>
Пример 3: Продукт: ClearStack Описание: A reporting tool that turns spreadsheets into decisions.
>
Теперь напиши для: Продукт: PromptDesk Описание:
Модель выдаст что-то, попадающее в стиль: коротко, с позицией, чуть нахально, выстроено вокруг конкретной жалобы или аудитории. Без примеров вы получили бы что-то общее. С примерами — то, что подходит.
Три разобранных примера
Пройдёмся по трём реальным ситуациям, где few-shot преображает вывод.
1. Комментарии к багам в стиле вашей команды
Допустим, ваша команда пишет тикеты в Jira определённым образом — кратко, с акцентом на пользовательский эффект, без жаргона. Вы хотите, чтобы AI готовил тикеты, попадающие в этот стиль.
Подготовь описание Jira-тикета в формате ниже.
>
Пример 1: User logging in via Google sees a brief flash of the wrong language before the UI updates. Happens consistently on Chrome desktop. Not blocking, but feels janky.
>
Steps: 1. Sign out 2. Sign back in with Google 3. Observe initial page flicker
>
Expected: language stays consistent Actual: brief flash of (apparent default) English
>
Пример 2: Export to CSV button returns an empty file on weekly reports >1000 rows. Smaller reports export correctly.
>
Steps: 1. Open weekly report with 1000+ rows 2. Click Export → CSV 3. Open downloaded file
>
Expected: full data Actual: file is 0 bytes
>
Теперь подготовь для: Issue: Users on Safari say the mobile menu won't close after they tap a link. Refresh fixes it. Looks like a focus-trap issue.
Модель выдаст тикет, попадающий ровно в эту структуру и тон, каждый раз. Без примеров вы получили бы чуть более многословную, чуть более формальную версию.
2. Переписывание под бренд-голос
Допустим, у вас есть черновик письма, и вы хотите переписать его под бренд-голос. Сказать модели «будь теплее» даёт неровные результаты. Показать примеры — консистентные.
Перепиши письмо ниже, чтобы оно соответствовало голосу примеров. Голос: прямо, без корпоративного наполнителя, с лёгкой самоиронией, никогда не использует «synergy» или «leverage».
>
Пример 1: "We pushed the release back by a week. The autoscaling change was bigger than we thought. New ship date: Friday the 22nd."
>
Пример 2: "Quick favour — could you sanity-check this draft? Specifically the second section. I think it's overreaching but I can't tell."
>
Пример 3: "Heads up: I'm going to push back on the deadline in tomorrow's meeting. The math doesn't work and I'd rather flag it now than miss it."
>
Перепиши это в том же голосе:
>
[вставьте свой черновик]
Модель выдаст нечто, звучащее как примеры, а не как стандартная корпоративная проза. Этот промпт можно сохранить как Custom GPT и тянуться за ним всякий раз, когда нужно быстро переписать в бренд-голосе.
3. Структурированное извлечение
Допустим, у вас инвойсы в PDF, и вы хотите, чтобы модель извлекала из них данные в чистый формат. Классический ход — загрузить один, вставить пример желаемого вывода и попросить остальное.
Извлекай данные из PDF-инвойсов ровно в этом JSON-формате.
>
Пример:
>
Input: [invoice PDF where vendor is "Lufthansa", date is 2026-04-12, total is 423.50 EUR, line items are flight + bag fee]
>
Output:json { "vendor": "Lufthansa", "date": "2026-04-12", "currency": "EUR", "total": 423.50, "line_items": [ {"description": "Flight TLL-LHR", "amount": 387.00}, {"description": "Checked bag", "amount": 36.50} ], "category": "Travel" }
>
Теперь извлеки из этого инвойса: [приложите новый PDF]
Получите чистый, консистентный вывод. Без примера вы получили бы JSON, чья структура варьировалась бы между инвойсами, — а это кошмар на последующих шагах.
Типичные ошибки с few-shot
Три ошибки, на которые стоит обратить внимание:
Примеры, противоречащие друг другу. Если ваши три примера различаются по стилю, модель не поймёт, какому следовать. Подберите плотный, консистентный набор.
Слишком мало примеров. Одного примера часто недостаточно — модель может счесть его разовым. Два — обычно низ, три — золотая середина для большинства задач. Больше пяти редко помогает и начинает съедать контекстное окно.
Примеры с ошибками, которые вы не хотите видеть скопированными. Модель добросовестно скопирует любой паттерн в ваших примерах — включая опечатку, неуклюжую формулировку или структурный выбор, сделанный случайно. Очищайте примеры перед тем, как делиться ими.
Особо тонкая ошибка: показывать примеры входа, но не выхода. «Вот три статьи, для которых нужны заголовки: [три статьи]». Это zero-shot, а не few-shot. Модель не видела, как выглядит хороший заголовок. Сравните:
Вот три статьи с такими заголовками, какие мне нравятся. Подстройся под стиль:
>
Пример 1: [статья] → Заголовок: «…» Пример 2: [статья] → Заголовок: «…» Пример 3: [статья] → Заголовок: «…»
>
Теперь напиши заголовок для: [новая статья]
Пара (вход → выход) — это единица few-shot. Без выходной стороны модели не из чего учиться.
Как собрать библиотеку примеров
Как только начнёте использовать few-shot, у вас накопятся наборы «примеров, которые сработали». Сохраняйте их в:
- Custom GPT / Claude Projects — вставьте примеры в поле инструкций, и они останутся там навсегда.
- Менеджер текстовых сниппетов (TextExpander, Raycast, Espanso) — шорткаты, разворачивающиеся в ваши примеры.
- Файл заметок, организованный по вариантам использования («примеры бренд-голоса», «примеры формата тикетов», «примеры заголовков»), откуда легко вставлять.
Шесть месяцев такой работы — и у вас появится личный набор инструментов, который ни один готовый «prompt pack» не сравняет, — потому что он откалиброван под вашу конкретную работу.
Вывод
Когда можете описать вывод — описывайте. Когда не можете — когда стиль вывода вы узнаёте, но артикулировать его толком не получается — покажите два-три примера. Две минуты на поиск хороших примеров сэкономят вам двадцать минут на правку не того стиля, который никакое описание не предотвратило бы.
Примеры бьют прилагательные. Почти никто так не делает. Те немногие, кто делает, стабильно получают лучший вывод AI, чем те, кто пишет более длинные и умные описания. Попробуйте на следующем промпте, где важен стиль, — и посмотрите, что произойдёт.