У меня было это странное чувство, как будто я разговариваю не с умным помощником, а с человеком, который вроде согласился помочь, но вообще не понял, что от него хотят. Пишу: «Сделай мне короткий текст для лендинга, чтобы было бодро, без воды, и с конкретикой». ИИ отвечает что-то в духе: «Наша компания стремится к высокому качеству и индивидуальному подходу…» Ну вы поняли. Три абзаца гладкой каши, ни одного нормального факта, и ещё этот тон — как у пресс-релиза из 2009-го. Я сижу, смотрю и думаю: да что ж такое, я же по-русски написал.
И вот тут важный момент: чаще всего проблема не в том, что модель «тупая» или «ленится». Она просто не угадала, какой именно результат вы считаете хорошим. Ей не хватает ваших внутренних критериев: насколько коротко, насколько дерзко, что считать «конкретикой», какой стиль допустим, какие слова нельзя, где должен быть заголовок, а где — список. Мы-то в голове всё это держим как само собой разумеющееся, а она — нет.
И самое смешное (и спасительное) — это лечится не криками «делай нормально», а парой показательных примеров. Два-три кусочка вроде: «вот так плохо», «вот так хорошо», или «вот формат, который мне нужен», — и модель внезапно начинает попадать. Потому что примеры — это не абстрактное “будь лаконичнее”, а наглядная демонстрация ожиданий. Как если бы вы на месте преступления не словами объясняли, что искать, а просто показали улику.
Задача одна и та же: написать клиенту вежливый отказ в возврате (прошло 45 дней, по правилам — 30), но предложить альтернативу: скидку или обмен.
Запрос (фрагмент):
Напиши вежливый отказ в возврате. Клиент купил 45 дней назад, возврат до 30. Предложи альтернативу.
Ответ (2–3 строки):
К сожалению, возврат невозможен, так как прошло больше 30 дней.
Мы не можем принять товар обратно.
Можем предложить скидку 10% на следующую покупку.
Вроде ок, но сухо и чуть “рублено”. И главное — модель сама придумала 10%, хотя я не просил. Самодеятельность пошла.
Запрос (фрагмент):
Пример: “Здравствуйте! Спасибо за обращение… К сожалению, по правилам… Зато можем предложить… С уважением, …”
Теперь напиши для случая: покупка 45 дней назад, лимит 30.
Ответ (2–3 строки):
Здравствуйте! Спасибо, что написали нам.
К сожалению, оформить возврат не получится: срок 30 дней уже прошёл.
Зато можем предложить обмен или скидку на следующую покупку.
Сразу ровнее тон, меньше резких формулировок. Но всё ещё расплывчато: нет структуры, нет понятных шагов “что делать дальше”.
Запрос (фрагмент):
Пример 1 (коротко, дружелюбно): … структура: привет → причина → варианты → что нужно от клиента → подпись
Пример 2 (формальнее, без извинений): … та же структура
Пример 3 (очень вежливо + эмпатия): … та же структура
Теперь случай: 45 дней, возврат до 30. Варианты: обмен или купон 15%. Не придумывай новые условия.
Ответ (2–3 строки):
Здравствуйте! Понимаю, что ситуация неприятная. По правилам возврат возможен в течение 30 дней, а у вас прошло 45.
Можем предложить обмен или купон 15%. Напишите, пожалуйста, номер заказа — и я помогу оформить удобный вариант.
С уважением, служба поддержки.
Тут уже прям “прилично”: тон стабильный, формат попадает, лишнего не придумывает, и есть следующий шаг для клиента.
Что реально меняется от примеров:
Тон: от сухого “не можем” к нормальному человеческому “понимаю / спасибо / вот варианты”.
Структура: появляется повторяемый каркас (привет → причина → варианты → следующий шаг).
Формат и дисциплина: меньше фантазий типа “скидка 10% откуда-то”, модель держится рамок.
И ощущение такое: объяснять стажёру на словах (zero-shot) — он вроде понял, но сделает по-своему. А показать пару образцов (three-shot) — и он просто повторяет правильный стиль, без креатива “в никуда”.
Модель в промпте не «думает», как человек. Она, по сути, продолжает текст и цепляется за то, что в нём повторяется. Поэтому примеры работают как рельсы: вы показали кусочек дороги — и дальше ей проще ехать по той же колее, чем изобретать новую. Это больше похоже на подражание стилю, чем на понимание смысла.
Один пример — штука коварная. Он может быть просто случайностью: вы один раз оформили ответ списком, и модель решит, что это не правило, а разовый каприз. А вот 2–3 примера уже выглядят как «так тут принято». Как образец в тетради: когда сверху два-три раза написано одинаково, рука сама повторяет. Или как в кофейне — покажите бариста два заказа подряд (“капучино без сахара”, “латте на овсяном”), и он уже примерно понял, что у вас за привычка, и третий заказ угадает в нужном духе.
И в этом вся магия few-shot: вы не объясняете долго, как правильно, вы просто демонстрируете шаблон пару раз — и модель начинает его копировать. 2–3 примера дают устойчивый паттерн, а дальше она аккуратно достраивает ответы «в том же жанре».
Примеры в промпте должны быть не «красивыми», а показательными. То есть такими, которые реально учат модель, как себя вести, когда входные данные разные, а не только когда всё гладко и похоже на демо из презентации. Я обычно думаю о них как о маленькой витрине задачи: один пример — самый частый, «как бывает в 70% случаев», второй — пограничный (коротко, шумно, двусмысленно), третий — в духе «не делай так», чтобы зафиксировать запрет или нежелательный стиль. И да, пусть они будут короткими. Важнее, чтобы формат был кристально одинаковый (одинаковые поля, тон, структура ответа), чем чтобы пример был длинный и умный.
Была история: мы делали промпт для поддержки, чтобы модель превращала сообщения клиента в аккуратные тикеты. Положили два идеальных примера — оба вежливые, со всеми деталями, прямо мечта оператора. На тестах — красота. А потом в жизнь прилетело третье: «не работает. срочно.» и ещё скрин без текста. Модель поплыла: начала выдумывать детали, назначать приоритет «как ей кажется», придумывать шаги воспроизведения. Ну потому что она видела только «идеальных клиентов», и честно пыталась продолжать этот паттерн.
Исправили смешно просто: выкинули один «глянцевый» пример и вместо него добавили пограничный — как раз короткий, нервный, без контекста. И в ожидаемом ответе явно показали: если данных не хватает — не фантазируй, задай 2–3 уточняющих вопроса и поставь статус “needs info”. Всё. После этого ответы стали стабильнее, хотя примеры стали менее симпатичные. В общем, выбирайте не самые приятные случаи, а самые разные — тогда 2–3 штуки реально вытягивают качество.
Первый классический фейл — примеры слишком похожи, и модель просто “залипает” на шаблоне. Мы дали три одинаковых кейса (одинаковая структура, похожие слова), а на четвёртом получили ответ в том же стиле, но мимо смысла. Заметили быстро: всё стало подозрительно однообразным, будто копипаст. Починили без героизма: один пример выкинули, второй переформулировали, третий сделали “крайним случаем”, чтобы расширить диапазон.
Второй провал — примеры конфликтуют с инструкцией. Типа в начале пишем “будь кратким, без воды”, а в примерах сами расписываем по 12 строк с лирикой. И модель, естественно, выбирает то, что ближе к телу: примеры. Мы это увидели по симптомам — ответы стали длинными, хотя просили коротко. Фикс простой: примеры приводим в соответствие, а инструкцию усиливаем явным ограничением: “2–3 предложения, без вступлений”.
Третий — в примере закралась ошибка, и модель её честно размножила. Например, одна неверная формула, не тот формат даты, странная классификация — и дальше всё едет по этим рельсам. Обычно это всплывает, когда начинаешь сравнивать ответы с реальностью и видишь повторяющийся “почерк” ошибки. Лечится тоже приземлённо: заменили пример, добавили короткую проверку (“если сомневаешься — уточни”), иногда прямо вставляли негативный пример в духе: “так НЕ делай”.
И ещё неприятная штука — тон. В примерах кто-то написал резко, с сарказмом или канцеляритом, и модель потом раздаёт это всем подряд, даже там, где нужно мягко. Узнали по реакции: ответы стали “кусаться” или звучать не в бренд. Починка быстрая: переписали примеры в нужном голосе, а в промпт добавили одну строку-страховку: “дружелюбно, без пассивной агрессии”. Иногда помогало тупо сократить примеры — меньше текста, меньше шансов подцепить плохую интонацию.
Если хочется стабильно нормальных ответов, я делаю так: сначала договариваюсь с моделью «кто ты» и «как отвечать», потом показываю 2–3 примера (прям как мини-черновик), и только затем даю новый запрос. Это не магия и не “секретный хак”. Это просто способ объяснить правила игры без долгих обсуждений — на примерах все понимают быстрее.
Универсальный шаблон (копируй и подставляй):
РОЛЬ:
Ты — {кто: редактор/аналитик/саппорт/юрист}.
ЗАДАЧА:
Сделай {что именно} для {аудитория/контекст}.
ПРАВИЛА:
- Тон: {дружелюбный/деловой/коротко}
- Не выдумывай факты; если данных нет — так и скажи
- Учитывай: {ограничения, стиль, длина}
- Если есть варианты — предложи 2 и кратко сравни
ФОРМАТ ОТВЕТА:
{структура: список/таблица/JSON/письмо/шаги}
ПРИМЕР 1:
Вход: {…}
Выход: {…}
ПРИМЕР 2:
Вход: {…}
Выход: {…}
(ПРИМЕР 3 — опционально)
Вход: {…}
Выход: {…}
НОВЫЙ ЗАПРОС:
Вход: {твой реальный запрос}
Вариант 1 — для переписки (письма/ответ клиенту):
РОЛЬ:
Ты — специалист поддержки, пишешь по-человечески.
ЗАДАЧА:
Составь ответ клиенту так, чтобы: 1) признать проблему, 2) дать решение/следующий шаг, 3) не обещать лишнего.
ПРАВИЛА:
- 4–7 предложений, без канцелярита
- 1 вопрос в конце, чтобы двигаться дальше
- Если виноваты мы — извинись одной фразой, без драматизма
ФОРМАТ:
Тема письма + текст
ПРИМЕР 1:
Вход: Клиент: “Заказ задержался на 3 дня, что происходит?”
Выход:
Тема: По заказу №…
Здравствуйте! Понимаю, неприятно ждать дольше обещанного — извините за задержку. Сейчас посылка на сортировке, ориентировочно доставим завтра. Если вам критично получить сегодня, могу предложить самовывоз или возврат доставки. Подскажите, какой вариант вам удобнее?
ПРИМЕР 2:
Вход: Клиент: “Хочу вернуть подписку, списали деньги.”
Выход:
Тема: Возврат по подписке
Здравствуйте! Похоже, списание прошло по автопродлению — давайте разберёмся. Могу отключить продление и оформить возврат за последний платёж, если вы не пользовались сервисом после списания. Напишите, пожалуйста, дату списания и почту аккаунта.
НОВЫЙ ЗАПРОС:
Вход: {вставь сообщение клиента + контекст}
Вариант 2 — для извлечения данных (структура из текста):
РОЛЬ:
Ты — аккуратный аналитик. Извлекай только то, что есть в тексте.
ЗАДАЧА:
Вытащи ключевые поля из сообщения и верни в JSON.
ПРАВИЛА:
- Ничего не додумывай
- Если поля нет — null
- Даты приводи к YYYY-MM-DD, суммы — число + валюта
ФОРМАТ:
JSON с полями: {"company":..., "contact":..., "email":..., "request":..., "deadline":..., "budget":...}
ПРИМЕР 1:
Вход: “Привет, я Олег из Nordbyte. Нужен лендинг, бюджет до 200k ₽, дедлайн 15 марта. Пиши на oleg@nordbyte.io”
Выход:
{"company":"Nordbyte","contact":"Олег","email":"oleg@nordbyte.io","request":"лендинг","deadline":"2026-03-15","budget":{"amount":200000,"currency":"RUB"}}
ПРИМЕР 2:
Вход: “Нужна консультация по CRM. Компания — Альфа. Сроки пока не знаю.”
Выход:
{"company":"Альфа","contact":null,"email":null,"request":"консультация по CRM","deadline":null,"budget":null}
НОВЫЙ ЗАПРОС:
Вход: {вставь твой текст}
И да, если что-то едет — почти всегда лечится не “ещё одним абзацем инструкций”, а заменой примеров: добавь один пограничный случай или пример «как НЕ надо». Модель не телепат, но по двум-трём удачным примерам обычно быстро становится понятливой.
Решайте любые задачи с помощью ИИ — от генерации текста до создания изображений и видео.
Генерация контента, перевод, анализ данных и автодополнение кода.
Создание иллюстраций, видеоконтента и уникальных треков любого жанра.
Визуализация данных, построение графиков и генерация блок-схем.
Личный кабинет