Few-shot-примеры для нейросети: как показать нужный результат
Когда нейросеть знает тему, но каждый раз оформляет ответ по-разному, длинная инструкция помогает не всегда. Часто надёжнее показать два или три образца «вход → правильный выход». Этот приём называют few-shot: модель не получает обучение в обычном смысле, а ориентируется на примеры внутри текущего запроса. Главное — выбрать образцы так, чтобы они отражали правило, а не случайный удачный ответ.
Сначала сформулируйте правило
Не начинайте с копирования старых сообщений в чат. Запишите, что должно оставаться неизменным: порядок полей, тон, длина, категория, обязательная цитата или способ обозначить неизвестное. Для обращений клиентов это может быть таблица из темы, срочности и следующего шага. Для редакторской задачи — заголовок, лид, три тезиса и список фактов для проверки.
Если правило нельзя описать одной фразой, сначала упростите задачу. Few-shot хорошо работает с повторяемой трансформацией, но не заменяет редакционное решение, исследование или согласование с клиентом.
Отберите три вида примеров
Первый пример должен быть обычным: он показывает основной формат без исключений. Второй — пограничным: в нём не хватает данных, есть двойной смысл или неполная фраза. Третий — сложным: несколько условий, длинный ввод или конфликтующие признаки. Такая тройка учит модели не только красивому виду ответа, но и поведению при неоднозначности.
Не берите примеры, которые отличаются сразу всем: темой, тоном, объёмом и структурой. Тогда модель не поймёт, что именно повторять. Лучше меняйте один параметр за раз. Перед вставкой удалите имена, телефоны, реквизиты и внутренние ссылки; эти данные не делают образец полезнее.
Оформите запрос явно
Отделите инструкции, примеры и новый вход. Например:
Задача: распределяй обращения по теме и срочности.
Правила: не придумывай отсутствующие данные; при сомнении ставь needs_review.
Пример 1
Вход: «Не пришла накладная за заказ 421»
Выход: {"topic":"документы","priority":"обычный","status":"ready"}
Пример 2
Вход: «По оплате есть вопрос, перезвоните»
Выход: {"topic":"оплата","priority":"неизвестно","status":"needs_review"}
Новый вход: «..."
Указывайте формат ответа отдельно: только JSON, Markdown-таблица или список. Если результат должен попадать в автоматизацию, добавьте допустимые значения и запрет на пояснение вне структуры. Для ручной работы можно попросить короткое обоснование после ответа, но не смешивайте его с машинно читаемыми полями.
Проверьте не только похожие случаи
Сделайте контрольный набор из десяти новых входов. Пять должны быть похожи на примеры, три — отличаться формулировкой, два — быть намеренно неполными. Сравните результат с эталоном: соблюдён ли формат, правильно ли отмечена неопределённость, не появились ли выдуманные поля. Сохраняйте ошибки рядом с версией промпта.
Если модель копирует слово из примера вместо смысла, замените пример более нейтральным. Если она путает категории, добавьте именно конфликтный кейс, а не пять одинаковых удачных. После каждого изменения прогоняйте всю выборку заново: одно новое исключение может испортить старый сценарий.
Сколько примеров достаточно
Для простого формата обычно достаточно двух-трёх. Четыре-пять нужны, когда есть устойчивые исключения. Десятки примеров увеличивают контекст, стоимость и риск противоречий. Если после пяти качественных образцов задача не держится, проблема может быть в неясной категории, недостатке входных данных или неподходящей модели.
Для длинной инструкции и сложной структуры можно сравнить карточку Claude Sonnet и карточку Gemini 3.1 Pro. Для коротких русскоязычных шаблонов имеет смысл проверить карточку YandexGPT. Выбирайте модель по доле принятых ответов на своей выборке, а не по единичному красивому примеру.
Где few-shot применять не стоит
Не показывайте модели конфиденциальные переписки как образцы. Не используйте приём для подтверждения медицинских, юридических или финансовых решений без специалиста. И не превращайте примеры в скрытую команду «всегда отвечай так», если задача требует проверить факты: образец задаёт форму, но не делает содержание достоверным.
После удачного теста сохраните промпт, дату, модель и контрольную выборку. Передать этот пакет коллеге гораздо полезнее, чем сказать «я нашёл хороший запрос». Шаблон можно собрать через генератор промптов, а фактические утверждения в результате проверить по редакционному протоколу.
Few-shot — это способ сделать ожидания видимыми. Хорошие примеры показывают модели, как выглядит принятый результат, а контрольный набор доказывает, что правило работает за пределами одной удачной фразы.
Контроль после обновления модели
Как не превратить пример в копипасту
После утверждения правила замените темы и имена в контрольной выборке, оставив структуру неизменной. Если модель всё ещё воспроизводит отдельную фразу из образца, значит пример слишком узнаваемый или содержит лишнюю деталь. Уберите её и проверьте, сохранилась ли нужная форма ответа. Для командного процесса храните эталоны отдельно от пользовательского текста и указывайте владельца, который может изменить их только после повторного теста.
Полезный критерий — переносимость: другой сотрудник должен получить сопоставимый результат, не зная историю создания примеров. Если этого нет, few-shot остаётся личным трюком, а не надёжной частью процесса.
Даже сохранённый шаблон может повести себя иначе после изменения версии сервиса. Раз в месяц повторяйте контрольный набор и сравнивайте не только итоговые категории, но и формат, длину и число ответов со статусом needs_review. Если качество изменилось, не переписывайте все примеры сразу: сначала найдите конкретный тип входа, на котором нарушилось правило, затем добавьте или уточните один эталон.