Михаил ЛопатинМоскваДмитровское шоссе д. 50 оф.240

Блог

Блог

Как написать промпт для нейросети: разбор по частям

Дизайн
Аватар
Баннер поста

«Миш, я твой же промпт скопировал слово в слово, а выдаёт какую-то кашу. У тебя работает, у меня нет. В чём подвох?»

Это написал мне Артём, монтажник кухонь из Ростова, которому я месяц назад помогал настроить генерацию описаний товаров. Он взял мой шаблон, поменял пару слов и удивился, что результат поплыл.

Я попросил прислать его версию. Открыл — и всё стало понятно за десять секунд. Он выкинул три строки, которые считал «лишней водой». А это были не вода, а несущие стены.

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

Промпт, который экономит мне два часа в день: разбираю по частям

🧱 Промпт — это не заклинание, а конструкция из шести деталей

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

На деле рабочий промпт состоит из шести частей, и каждая отвечает за свой кусок результата:

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

Убери любую из них — и получишь то, что прислал Артём. Формально ответ есть, а пользоваться нельзя.

Разберу каждую деталь на живом примере. Возьму задачу, которую делаю почти каждый день: превратить голосовую заметку клиента после созвона в структурированное ТЗ.

🎭 Роль решает, каким языком с тобой будут разговаривать

Первая строка любого моего промпта — назначение роли. Не «ты помощник», а конкретно.

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

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

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

Роль — это настройка словаря и глубины. Без неё модель берёт самый средний регистр из всего, что видела.

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

🗺 Контекст объясняет, зачем всё это, и отсекает лишнее

Вторая деталь — контекст. Здесь я объясняю ситуацию вокруг задачи.

Для ТЗ пишу: «Заказчик — владелец небольшого производства, в технике не разбирается, говорит бытовым языком. Задание пойдёт разработчику, который клиента не слышал и будет опираться только на текст».

Что ломается без контекста. Модель не знает, для кого пишет, и выбирает адресата наугад. Иногда объясняет заказчику, что такое база данных, — хотя текст читать будет разработчик, которому это оскорбительно.

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

Контекст — это рамка. Он говорит модели, что важно, а что можно отбросить.

Один абзац контекста экономит потом полчаса правок под нужную аудиторию.

📥 Входные данные надо отделять от инструкции жёсткой границей

Третья часть — сами данные. То, с чем модель работает: текст созвона, список товаров, черновик письма.

Тут главная ошибка новичков — свалить инструкцию и данные в одну кучу. Модель перестаёт понимать, где команда, а где материал для обработки.

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

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

У Артёма как раз это и сломалось. Он вставил описание товара прямо в текст промпта без разделителя. В описании была фраза «пиши коротко» — и модель на неё среагировала, обрубив все остальные карточки до одной строки.

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

🚧 Ограничения — это те самые строки, которые кажутся лишними

Четвёртая деталь — ограничения. Список того, чего делать нельзя. Именно их Артём выкинул как «воду».

В промпте для ТЗ у меня стоит: - не придумывай требования, которых не было в разговоре - если данных не хватает — помечай пробел словом «уточнить», а не заполняй догадкой - не предлагай технические решения, только фиксируй потребности

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

Это самая дорогая ошибка. Разработчик читает выдуманные требования, закладывает их в оценку, срок раздувается, а клиент потом говорит: «Я такого не заказывал».

Именно строка «не придумывай того, чего не было» держит весь результат в реальности. Убрал её — и получил красивое, подробное, наполовину выдуманное задание.

Ограничения не сужают модель. Они не дают ей соскользнуть туда, где начинается враньё.

📐 Формат вывода превращает текст в готовый к работе документ

Пятая часть — формат. Как именно оформить ответ.

Без формата модель выдаёт сплошную простыню текста. Вроде всё есть, но чтобы этим пользоваться, надо самому разбивать на разделы и вычищать.

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

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

Когда формат зафиксирован, я беру ответ и вставляю прямо в договор почти без правок. Экономия — минут двадцать на каждом ТЗ.

Формат — это то, что отличает черновик от документа, который не стыдно отправить.

✅ Самопроверка заставляет модель поймать себя за руку

Шестая деталь, которую почти все пропускают, — критерии самопроверки. Я прошу модель проверить свой ответ до того, как показать его мне.

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

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

С самопроверкой качество заметно ровнее. Модель реже придумывает, чаще ставит «уточнить» вместо догадки. Она как бы перечитывает себя вашими глазами.

Один пример. Без строки самопроверки модель регулярно забывала блок «что НЕ входит в работу». Добавил проверку формата — блок перестал пропадать вообще.

Самопроверка — дешёвый способ поднять качество без единой лишней строки в инструкции по сути задачи.

🔍 Один запрос до и после: разница видна сразу

Теперь покажу на одном материале. Расшифровка созвона: клиент минуту сумбурно рассказывал про сайт для доставки обедов.

Промпт без деталей — просто «сделай из этого ТЗ». Что вернула модель:

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

Такое отдать разработчику нельзя. Пришлось бы переписывать минут сорок.

Тот же материал через полный промпт с шестью частями:

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

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

Материал один и тот же. Меняется только оболочка вокруг него.

💰 Куда уходят два часа в день и сколько это в деньгах

Посчитаю честно, без круглых красивых цифр.

Раньше на одно ТЗ после созвона уходило: - расшифровка и вычитка аудио — 25 минут - структурирование в документ — 30 минут - вычистка формулировок — 15 минут

Итого около 70 минут на задание. В день таких задач бывает две-три.

С отлаженным промптом на то же ТЗ уходит: - прогнать расшифровку через модель — 3 минуты - прочитать, поправить метки «уточнить» — 10 минут

Около 13 минут вместо 70. На двух-трёх задачах в день набегает от полутора до двух часов.

При моей ставке час работы — это примерно 1500 рублей. Два часа в день, двадцать рабочих дней — выходит около 60 тысяч рублей в месяц освободившегося времени, которое я трачу на другие заказы.

Настройка одного такого промпта заняла у меня вечера три с проверками. Окупился он за первую неделю.

Цифры у каждого свои. Но порядок экономии одинаковый: минуты вместо часа на рутинной, повторяющейся задаче.

🛠 Что можно собрать самому за один вечер

Не нужен n8n, не нужны интеграции. Начните с обычного окна чата и текстового файла.

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

Главный секрет — дорабатывать промпт от ошибок, а не выдумывать заранее. Увидели враньё — дописали строку «не придумывай». Увидели кашу в оформлении — уточнили формат.

Вот скелет, который адаптируете под себя:

«Ты [узкая роль с опытом]. Ситуация: [контекст, для кого результат]. Ниже данные между тройными кавычками, работай только с ними. Ограничения: [не придумывай, помечай пробелы, не выходи за рамки]. Формат ответа: [перечисли разделы]. Перед выводом проверь себя по пунктам: [что проверить] — при нарушении исправь и выведи заново».

Подставьте свои слова в каждую скобку — и у вас рабочая заготовка.

🤝 Что стоит делать самому, а что быстрее отдать

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

Отдавать в работу стоит другое: - когда промптов много и они завязаны в цепочку - когда нужно, чтобы одно решение автоматически кормило другое - когда результат должен сам уходить в таблицу, письмо или CRM без вашего участия

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

Границу я провожу так: разовая задача для себя — делайте сами. Конвейер, от которого зависит поток заказов, — надёжнее поручить тому, кто на этом набил руку.

А какую свою рутину вы бы первой прогнали через такой разбор на шесть частей? Напишите задачу — подскажу, какой детали в вашем случае будет не хватать в первую очередь.

Такие разборы промптов по косточкам я выкладываю регулярно, с примерами до и после на живых задачах — заходите туда, где вам удобнее читать: Telegram, ВКонтакте, MAX, мой сайт, YouTube, Instagram, Pinterest