Главная
Тарифы О нас Подход Кейсы Контакты растИИшкаблог 404ai Интеграции Глоссарий Запросить демо +7 (993) 729-59-59
Технологии · практика · 404ai

Как сформулировать промпт для бизнес-задачи

Промпт, который оценивает звонки менеджеров тысячу раз в день, по одной расплывчатой фразе ставит одному «хорошо», а другому за такой же разговор «плохо» — и по этим оценкам потом делят премии. Промпт для бизнес-задачи — это инструкция нейросети, встроенная в повторяемый процесс: от её формулировки зависит, будет ли результат воспроизводимым и можно ли на него опираться без ручной проверки каждого ответа. Разовый запрос в чате и промпт для процесса — разные жанры, и ниже разберу, из чего собирается второй, как его проверять и где формулировкой ничего не исправить.

Разовый запрос и промпт для процесса — разные жанры

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

Отсюда другое требование к качеству. Для разового запроса хорош ответ, который полезен. Для процесса хорош ответ, который на одинаковом входе одинаков, на спорном входе предсказуем, а на входе без данных честно говорит «не могу оценить». Вся дальнейшая инженерия — про эти три свойства.

Пять частей, без которых результат плавает

Рабочий промпт для повторяемой задачи почти всегда содержит одни и те же блоки. Пропуск любого из них проявляется одинаково: результат «в среднем нормальный», но нестабильный от запуска к запуску.

1. Роль и контекст. Кто отвечает и в какой ситуации. Не «ты эксперт мирового уровня», а конкретно: «ты разбираешь обращения в поддержку интернет-магазина бытовой техники».

2. Что подаётся на вход. Явно назовите, что именно будет передано: текст обращения, расшифровка звонка, выдержка из договора. Модель должна понимать границы данных.

3. Правила и границы. Что делать нельзя, что считать сомнительным случаем, как поступать при нехватке информации. Этот блок забывают чаще всех — и получают уверенные ответы там, где данных не было. Почему модель в таком случае не молчит, а достраивает, разобрано в статье о том, почему нейросеть выдумывает.

4. Формат ответа. Для процесса ответ должен быть машиночитаемым: перечисленные поля, допустимые значения, что писать, если значение определить нельзя. Свободный текст в автоматизации — источник постоянных сбоев на разборе.

5. Примеры. Два-три разобранных случая, включая один пограничный. Примеры работают лучше любых объяснений: они показывают решение, а не описывают его.

Пример: от расплывчатого к рабочему

Расплывчато: «Проанализируй звонок и скажи, хорошо ли отработал менеджер».

Рабочий вариант: «Ты специалист отдела контроля качества в компании, которая продаёт бухгалтерское ПО. На входе — расшифровка телефонного разговора менеджера с клиентом. Оцени разговор по четырём критериям: выявлена ли потребность, названа ли цена, обработано ли возражение, назначен ли следующий шаг с конкретной датой. По каждому критерию ответь "да", "нет" или "не применимо" и приведи цитату из разговора как обоснование. Если критерий невозможно оценить по расшифровке — ставь "не применимо" и не додумывай. Ответ верни полями: критерий, оценка, цитата».

Разница не в длине, а в том, что второй вариант можно применить тысячу раз и получить сравнимые между собой результаты. Требование цитаты тут не украшение: оно заставляет модель искать опору в тексте и даёт человеку способ проверить оценку за секунды. Как формулировать сами критерии, чтобы их вообще можно было проверить по расшифровке, — в статье о скрипте, который может проверить AI.

Вежливость, склейка задач и ещё две ошибки формулировки

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

Несколько задач в одном промпте. «Оцени звонок, составь резюме и предложи скрипт» — качество проседает на всех трёх. Разделите на шаги, каждый со своим промптом и своим форматом ответа.

Нет инструкции на случай нехватки данных. Без явного «пиши: недостаточно данных» модель почти всегда придумает правдоподобный ответ. Это не дефект модели, это дефект инструкции.

Нет проверки после правок. Промпт меняют «чуть-чуть», и незаметно ломается то, что работало. Об этом — два раздела ниже.

Что делать, когда ответы «плавают»

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

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

Настройка случайности. У большинства моделей есть параметр, отвечающий за разнообразие ответов. Для творческих задач он полезен, для классификации и извлечения данных его ставят в минимум — и разброс сразу падает.

Пограничные случаи без правила. Когда вход не подходит ни под один описанный вариант, модель импровизирует. Добавьте явную ветку «если ни один вариант не подходит» — и импровизация прекратится.

Диагностику я бы начинал с простого теста: прогнать один и тот же вход пять раз подряд. Если ответы расходятся на одном и том же критерии, дело в формулировке этого критерия, а не в модели целиком.

Почему длинный промпт работает хуже короткого

Естественная реакция на ошибку — дописать ещё одно уточнение. Через полгода промпт занимает три страницы, а качество не растёт и часто падает. Это закономерность, а не невезение.

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

Практический приём — периодическая чистка. Раз в квартал пройдите по промпту и по каждому требованию спросите: помню ли я, зачем это добавлено, и сломается ли что-нибудь, если убрать. Многие строки не проходят уже первый вопрос. Убирать их надо по одной, с прогоном эталонов после каждой.

Когда правка чинит одно и ломает другое

Типичная ситуация: добавили уточнение, чтобы исправить конкретную ошибку, — она исчезла, а через неделю выяснилось, что перестало работать что-то другое. Без набора эталонов это обнаруживается случайно и через месяцы.

Механизм понятен: инструкции влияют не только на тот случай, ради которого добавлены. Требование «отвечай кратко» чинит многословие и одновременно обрезает нужные детали в сложных ответах.

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

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

Где живут формулировки и кто за них отвечает

Промпт для процесса — часть системы, а не заметка. Пока он живёт в переписке или в интерфейсе сервиса, у него нет ни истории, ни автора, ни возможности вернуться к прошлой версии.

Минимальные требования те же, что к любому рабочему документу. Хранение в одном месте с историей изменений. Отметка, кто, когда и зачем менял, — одна строка на правку. Возможность вернуть предыдущую версию за минуту, а не восстанавливать по памяти. В Эхо, например, промпты скоринга звонков настраиваются под скрипт отдела без программиста и хранятся версиями.

Отдельно — вопрос авторства, и здесь у меня твёрдая позиция. Формулировки, описывающие содержание работы, пишет тот, кто в этой работе разбирается: специалист по контролю качества, юрист, руководитель поддержки, а не разработчик. Разработчик отвечает за то, как это встроено, и за проверки. Смешение ролей даёт промпт, который технически исправен и содержательно не о том.

Чего промптом добиться нельзя

Часть проблем формулировкой не решается, и попытки их так решить съедают недели. Полезно знать границу заранее.

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

И промпт не заменит проверку там, где цена ошибки высока. Формулировка «будь особенно внимателен» не является механизмом контроля. Если ошибка стоит дорого, нужен отдельный шаг проверки — сверка с источником, второй проход, подтверждение человеком, — а не более настойчивая просьба.

Когда хватит запроса своими словами

Честно о границах. Вся описанная инженерия — эталоны, версии, прогоны — окупается только там, где промпт выполняется много раз и его результат идёт в работу без человека. Если сотрудник раз в неделю просит нейросеть сократить письмо или набросать план встречи, строить для этого набор эталонов не нужно: он сам прочитает ответ и поправит. Время на формализацию здесь дороже любой ошибки.

Не стоит начинать с промпта и там, где процесс ещё не описан словами. Если руководитель отдела не может сформулировать, чем хороший звонок отличается от плохого, модель тоже не сможет: промпт лишь закрепит неопределённость в виде уверенных оценок. Сначала договориться о критериях между людьми, потом переводить их в инструкцию. Мы в 404ai именно с этого начинаем разбор задачи: какой результат нужен и по какой метрике его проверять, — а формулировки появляются потом.

Как проверять промпт как код

Как только промпт становится частью процесса, к нему применимы обычные инженерные практики. Минимальный набор такой.

  1. Набор эталонов. 30–50 реальных случаев с ответами, размеченными руками. Это ваш тест.
  2. Прогон после каждой правки. Изменили формулировку — прогнали набор, сравнили долю совпадений. Стало хуже — откатили.
  3. Отдельное внимание пограничным случаям. Именно на них проявляется разница между «работает» и «работает надёжно».
  4. Версионирование. Промпт хранится рядом с кодом и меняется через ту же процедуру, что и код: с историей и возможностью откатиться.

Как такая проверка выглядит перед выпуском агента к клиентам, разбирали в статье про тестирование агента перед запуском.

С чего начать промпт для бизнес-задачи на своих данных

Главное, что меняет этот подход: качество промпта для процесса оценивается не на глаз по трём удачным ответам, а долей совпадений с разметкой человека на наборе реальных случаев. Начать можно за один день. Возьмите тридцать реальных случаев, разметьте правильные ответы руками, прогоните текущий промпт и посчитайте долю совпадений. Эта цифра — ваша точка отсчёта: любая правка, которая её не поднимает, не нужна, а любая, которая её роняет, откатывается. Если после нескольких правок доля совпадений не растёт, проблема не в формулировке, а в том, что у самой задачи нет однозначного правильного ответа, — и её сначала нужно решить между людьми.

Частые вопросы

Если не нашли ответа — напишите нам в Telegram, ответим за 15 минут.

Разовый запрос достаточно сформулировать своими словами: результат оценивает человек прямо сейчас. Промпт для процесса выполняется тысячи раз без надзора, поэтому в нём обязательны роль, описание входных данных, правила на спорные случаи, машиночитаемый формат ответа и примеры — иначе результат будет нестабильным от запуска к запуску.
Для повторяемых задач — да, два-три примера, включая один пограничный. Примеры показывают решение вместо того, чтобы его описывать, и обычно дают больший прирост стабильности, чем удлинение инструкции.
Написать это явным правилом: если по входным данным критерий оценить нельзя, вернуть пометку о нехватке данных и не делать предположений. Без такой инструкции модель почти всегда выдаст правдоподобный ответ, потому что её задача — продолжить текст, а не отказаться.
Держать набор из 30–50 реальных случаев с эталонными ответами и прогонять его после каждой правки, сравнивая долю совпадений. Промпт при этом хранится вместе с кодом и версионируется так же, чтобы можно было откатиться.

Разберём вашу задачу и соберём промпт, который держит нагрузку

Покажем на ваших примерах, где нужен один запрос, а где процесс придётся разбить на шаги.

Разберём ваши звонкиПилот бесплатно
Обсудить задачу