
Как написать промпт, который даёт полезный ответ: назначьте модели роль, одной фразой сформулируйте задачу, дайте контекст и реальные исходные данные, укажите формат ответа и ограничения, а если формат важен — приложите образец. Хороший запрос к нейросети отвечает на те же вопросы, что и техзадание коллеге: что сделать, на каких данных, для кого и в каком виде вернуть.
Ниже — разбор структуры запроса, пошаговый порядок, типичные ошибки и шаблоны. Примеры взяты не из маркетинга, а из работы владельца сайта и сисадмина: разобрать HTTP-заголовки, найти причину 502 по логу nginx, составить правило robots.txt, объяснить вывод dig и openssl. На таких задачах хорошо видно, чем «спросить» отличается от «поставить задачу».
Что такое промпт и как работает промпт
Промпт — это весь текст, который языковая модель получает на входе перед тем, как начать отвечать: ваш вопрос, вставленные данные, инструкции и, в чат-интерфейсах, предыдущие сообщения диалога. Модель продолжает этот текст наиболее подходящим, с её точки зрения, образом. Отсюда главное практическое следствие: модель знает только то, что есть в промпте, в её обучающих данных и в подключённых инструментах (поиск, чтение файлов, если сервис это умеет).
Модель не видит ваш сервер, конфиг nginx и текущие DNS-записи. Если вы спросите «почему у меня 502», она перечислит типовые причины из учебников. Если вставите в запрос последние строки error.log, она будет разбирать ваш конкретный случай. Разница в качестве ответа почти всегда определяется не «волшебными словами», а тем, сколько нужной информации попало в запрос.
Второе следствие: модель может уверенно ошибаться — придумать несуществующий флаг команды или директиву конфига. Поэтому хороший промпт для технической задачи заранее просит отделять факты из ваших данных от предположений, а результат проверяется на живой системе.
Промпт или промт: как правильно пишется
Слово пришло из английского prompt — «подсказка, побуждение». В русском встречаются оба написания: «промпт» сохраняет букву «п» исходного слова, «промт» проще произносится и тоже широко используется, в том числе в документации крупных компаний. Если нужна строгая норма, сверьтесь с академическим орфографическим ресурсом «Академос» ИРЯ РАН. Для практики важнее другое: выберите одно написание и держитесь его в пределах текста. Модели понимают оба варианта одинаково.
Из чего состоит хороший промпт
У удачного запроса обычно шесть частей. Не каждая нужна всегда: для вопроса «что означает код 301» хватит одной фразы. Но чем сложнее задача и чем важнее точность, тем больше частей стоит заполнить.
| Часть | Что в ней писать | Пример для задачи сисадмина |
|---|---|---|
| Роль | Чьими глазами смотреть на задачу, какой уровень детализации | «Ты опытный администратор Linux и nginx» |
| Задача | Одно действие, глагол в начале | «Найди вероятную причину ошибки 502» |
| Контекст | Окружение, версии, что уже пробовали, зачем нужен результат | «Ubuntu 22.04, nginx проксирует на PHP-FPM через unix-сокет, ошибка появилась после обновления PHP» |
| Данные | Реальный ввод: лог, вывод команды, текст, отделённый от инструкций | 30 последних строк error.log в блоке между тройными кавычками |
| Формат ответа | Структура, длина, язык, что должно быть в конце | «Ответь списком: причина, строка лога-доказательство, команда для проверки, исправление» |
| Ограничения | Что делать нельзя и как поступать при нехватке данных | «Не предлагай перезагружать сервер. Если данных мало — скажи, какой вывод прислать» |
Иногда к этому добавляют седьмую часть — пример желаемого результата. Один образец ответа часто работает лучше абзаца описаний формата: модель повторяет структуру, стиль и длину.
Как написать промпт для нейросети: пошагово
- Сформулируйте результат до того, как писать. Что вы хотите получить на выходе: команду, конфиг, список причин, текст письма? Если не можете описать результат одной фразой, задача слишком размыта — разбейте её на части.
- Начните с задачи, а не с предыстории. Первое предложение — глагол и объект: «Составь», «Найди», «Объясни», «Сравни». Контекст идёт следом.
- Дайте данные, а не пересказ. Вместо «в логе какие-то ошибки про upstream» вставьте сами строки. Пересказ теряет ровно те детали, по которым ставится диагноз.
- Отделите данные от инструкций. Заключите лог или вывод команды в тройные кавычки, блок кода или теги вроде
<log>...</log>. Так модель не примет строку из лога за указание. - Задайте формат. Таблица, нумерованный список, готовый файл целиком, не больше N пунктов — модель соблюдает такие рамки гораздо охотнее, чем угадывает их.
- Пропишите поведение при неопределённости. «Если информации недостаточно — задай уточняющие вопросы, не угадывай». Это самая полезная фраза для технических запросов.
- Попросите показать рассуждение там, где нужна проверка. «Для каждого вывода укажи строку данных, на которой он основан» — так вы быстро отличите вывод из ваших данных от общих слов.
- Прочитайте промпт глазами постороннего. Понял бы коллега, который не видел ваш сервер, что от него хотят? Если нет — модель тоже не поймёт.
Примеры промптов «плохо → хорошо» для задач владельца сайта
Ниже четыре типичные ситуации. В каждой плохой вариант не «неправильный» — на него тоже придёт ответ. Но это будет общий ответ из учебника, а не решение вашей проблемы.
| Задача | Плохо | Хорошо | Что изменилось |
|---|---|---|---|
| HTTP-заголовки | «Какие заголовки должны быть у сайта?» | Вставлен вывод curl -sI, задача — найти отсутствующие заголовки безопасности и проблемы кэширования, ответ таблицей | Появились данные и формат |
| Ошибка 502 | «Почему nginx выдаёт 502?» | Окружение, момент появления, 30 строк error.log, запрет на догадки без доказательства в логе | Появились контекст и ограничения |
| robots.txt | «Напиши robots.txt для сайта» | Перечень URL, что закрыть и что оставить, текущий файл, требование объяснить каждую строку | Задача сузилась до проверяемой |
| dig и openssl | «Что значит этот вывод?» без контекста | Вывод команды, вопрос, на который нужен ответ, уровень объяснения | Модель знает, что искать |
Разобрать HTTP-заголовки
Сначала получите реальные заголовки. В Linux и macOS, а также в Windows 10 и новее (там утилита называется curl.exe):
curl -sI https://example.com
curl.exe -sI https://example.com
Плохой промпт: «Проверь заголовки моего сайта example.com». Модель без доступа к сети не может их получить и либо откажется, либо опишет «типичный» набор. Хороший промпт:
Ты специалист по безопасности веб-приложений.
Задача: проанализируй HTTP-заголовки ответа главной страницы интернет-магазина.
Контекст: сайт на nginx, есть личный кабинет и форма оплаты.
Заголовки ниже, между тройными кавычками.
"""
(вставьте вывод curl -sI)
"""
Ответь таблицей: заголовок | есть/нет | чем грозит отсутствие | строка для конфига nginx.
Отдельно — замечания по Cache-Control для HTML-страницы.
Если значение заголовка допускает разные трактовки — так и напиши, не выбирай за меня.
Последняя строка промпта важна: у ряда заголовков (например, Content-Security-Policy) нет единственно верного значения, и модель без неё выберет за вас что-то «типовое», что может сломать скрипты сайта.
Найти причину 502 по логу nginx
Ошибка 502 означает, что nginx не получил корректного ответа от бэкенда. Причину почти всегда называет error.log, поэтому данные важнее формулировки. Соберите их:
sudo tail -n 50 /var/log/nginx/error.log
sudo awk '$9 == 502' /var/log/nginx/access.log | tail -n 20
Вторая команда работает для стандартного формата лога combined, где код ответа — девятое поле. Если формат переопределён в log_format, номер поля будет другим.
Плохой промпт: «Сайт выдаёт 502, что делать?». Хороший:
Ты администратор Linux с опытом nginx и PHP-FPM.
Задача: определи наиболее вероятную причину ошибок 502.
Окружение: Ubuntu 22.04, nginx проксирует на PHP-FPM через unix-сокет.
Ошибка появилась сегодня после обновления пакетов PHP.
Лог ниже, IP-адреса клиентов заменены на x.x.x.x.
<log>
(вставьте строки error.log)
</log>
Формат: 1) причина; 2) строка лога, которая на это указывает;
3) команда, чтобы подтвердить; 4) исправление.
Не предлагай перезагрузку сервера как решение.
Если по логу причину не определить — перечисли, какой вывод прислать.
В таком логе модель найдёт конкретные сообщения вроде connect() to unix:/run/php/php8.1-fpm.sock failed (2: No such file or directory) — типичный признак того, что после смены версии PHP сокет называется по-новому, а в конфиге nginx остался старый путь, — или upstream prematurely closed connection while reading response header from upstream. Общий разбор причин и порядок действий — в статье 502 Bad Gateway: что значит и как починить.
Написать правило robots.txt
Здесь ошибка модели стоит дорого: одна лишняя строка Disallow: / закрывает весь сайт от индексации. Поэтому промпт должен быть максимально конкретным, а ответ — объяснённым построчно.
Задача: допиши robots.txt интернет-магазина.
Закрыть от обхода: внутренний поиск /search/, страницы с параметром сортировки ?sort=,
корзину /cart/. Оставить открытыми: весь каталог /catalog/, включая пагинацию ?page=.
Текущий файл:
"""
User-agent: *
Disallow: /admin/
Sitemap: https://example.com/sitemap.xml
"""
Верни файл целиком. После него — пояснение к каждой новой строке
и список URL из моего описания, которые твои правила НЕ затронут.
Используй только директивы, которые поддерживают Яндекс и Google.
Ожидаемый фрагмент ответа выглядит примерно так — его стоит сверить с синтаксисом, прежде чем публиковать:
User-agent: *
Disallow: /admin/
Disallow: /search/
Disallow: /cart/
Disallow: /*?sort=
Disallow: /*&sort=
Sitemap: https://example.com/sitemap.xml
Проверьте итоговый файл в инструменте анализа robots.txt в Яндекс Вебмастере и в отчёте о robots.txt в Google Search Console. Правила и частые ловушки — в статье robots.txt: синтаксис, примеры и как проверить файл.
Объяснить вывод dig и openssl
Вывод сетевых утилит плотный, и модель хорошо его «переводит» — при условии, что вы скажете, какой вопрос решаете. Данные:
dig example.com MX +short
dig example.com TXT +short
openssl s_client -connect example.com:443 -servername example.com </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer -dates
В Windows аналоги для DNS: nslookup -type=mx example.com или в PowerShell Resolve-DnsName example.com -Type MX.
Плохой промпт: «Объясни этот вывод» и вставленный текст. Хороший:
Я владелец сайта, не сетевой инженер. Письма с нашего домена попадают в спам.
Ниже вывод dig для MX и TXT и вывод openssl для сертификата сайта.
"""
(вывод команд)
"""
Задача: объясни простыми словами, что видно из этих данных,
и есть ли среди TXT-записей SPF и DMARC. Если чего-то не хватает
для вывода о спаме — скажи, какую команду выполнить ещё.
Сертификат оцени отдельно: кем выпущен, до какой даты действует.
Обратите внимание: в промпте есть уровень объяснения («не сетевой инженер»), цель («письма в спаме») и явное разрешение сказать «данных недостаточно». Без последнего модель склонна выдать вывод даже там, где его не из чего сделать.
Как улучшить промпт: итерация вместо идеального первого запроса
Первый вариант промпта редко бывает лучшим. Рабочая схема — короткие итерации:
- Ответ слишком общий — добавьте данные и контекст, а не прилагательные вроде «подробно» и «профессионально».
- Ответ не в том формате — дайте образец: «оформи так же, как этот пример».
- Модель выдумывает — потребуйте ссылку на строку исходных данных для каждого утверждения и разрешите ответ «не знаю».
- Ответ слишком длинный — задайте жёсткий предел: «не больше 5 пунктов», «только команда, без пояснений».
- Задача большая — разбейте на шаги в разных сообщениях: сначала диагноз, потом исправление, потом проверка.
Полезный приём — попросить модель саму улучшить запрос: «Вот мой промпт. Какой информации в нём не хватает, чтобы ты дал точный ответ? Задай вопросы». Это экономит несколько циклов. Когда промпт начал работать, сохраните его как шаблон: в следующий раз вы замените только данные.
Типичные ошибки при составлении промпта
- Вопрос вместо задачи. «Что можно сделать с сайтом?» не имеет хорошего ответа. «Составь список из 10 проверок перед запуском сайта на WordPress» — имеет.
- Пересказ вместо данных. Модель ищет причину в деталях, которые при пересказе теряются первыми.
- Несколько задач в одном предложении. «Проверь конфиг, оптимизируй его и напиши документацию» даст три поверхностных ответа.
- Противоречивые ограничения. «Коротко, но со всеми деталями» — модели придётся выбирать за вас.
- Ожидание, что модель знает текущее состояние. Без подключённых инструментов она не видит ваш сайт, актуальные DNS-записи и срок сертификата.
- Слепое применение ответа. Конфиг из чата — черновик. Для nginx сначала
sudo nginx -t, потомsudo systemctl reload nginx, и только на тестовом стенде, если он есть.
Что нельзя вставлять в промпт
Всё, что вы отправили в облачный чат, покидает ваш контур. Даже если сервис не использует диалоги для обучения, текст хранится у третьей стороны. Перед отправкой логов и конфигов уберите:
- пароли, API-ключи, токены, строки подключения к базе (
DATABASE_URL, содержимое.env); - приватные ключи TLS и SSH — никогда, ни целиком, ни частично;
- персональные данные: e-mail, телефоны, имена клиентов, IP-адреса посетителей из access-лога;
- внутренние адреса и имена хостов, если они сами по себе чувствительны.
IP-адреса в логе можно заменить одной командой перед копированием:
sed -E 's/([0-9]{1,3}\.){3}[0-9]{1,3}/x.x.x.x/g' error.log > error-masked.log
Проверьте и настройки самого сервиса: у многих есть переключатель, разрешающий или запрещающий использовать ваши диалоги для улучшения моделей. Если вы работаете с нейросетью через API, ключ тоже секрет — как его хранить и ограничивать, описано в гиде по API-ключам для нейросетей.
Шаблоны промптов для технических задач
Универсальный шаблон, который покрывает большинство задач администрирования и разработки:
Роль: ты [специалист: администратор Linux / SEO-специалист / PHP-разработчик].
Задача: [одно действие с глаголом в начале].
Контекст: [окружение, версии, что уже пробовали, когда началось].
Данные:
"""
[лог, вывод команды, текст, конфиг — без секретов]
"""
Формат ответа: [таблица / список / файл целиком / не больше N пунктов].
Ограничения: [чего не делать]. Если данных не хватает — задай вопросы, не угадывай.
Для каждого вывода укажи, на какой строке данных он основан.
Короткий шаблон для объяснения:
Объясни [что именно] для [кого: новичок / разработчик].
Вот данные: """ ... """
Ответ: 3–5 предложений, без жаргона, в конце — что проверить дальше.
Шаблон для генерации конфига или кода:
Напиши [конфиг / скрипт] для [платформа и версия].
Требования: [список]. Не использовать: [список].
Верни файл целиком, затем комментарий к каждому нестандартному решению
и команду, которой проверить синтаксис.
Как сделать промпт для фото и картинок
Для генерации изображений работают те же принципы, но состав частей другой. Вместо роли и формата ответа описывают объект (что изображено), окружение, стиль или тип съёмки, освещение, ракурс и композицию, а также соотношение сторон, если сервис позволяет его задать. Плохо: «красивая картинка для блога про хостинг». Лучше: «серверная стойка в полутёмном машинном зале, крупный план, синие индикаторы, фотореалистично, горизонтальный кадр, без текста и логотипов». Синтаксис параметров у разных генераторов отличается, поэтому уточняйте его в документации конкретного сервиса.
Как проверить результат, который выдала нейросеть
Любой технический ответ модели — гипотеза, пока вы не проверили её на реальной системе. Удобный порядок: получить свежие данные, дать их модели, применить совет, снова получить данные и сравнить.
- Заголовки ответа и доступность страницы посмотрите в проверке HTTP-заголовков — вывод можно вставить в промпт вместо
curl -sI. - DNS-записи до и после правки — в DNS-проверке.
- Сертификат, его цепочку и срок действия — в проверке SSL.
Если хотите, чтобы ассистент сам выполнял такие проверки, а не ждал вставленного вывода, посмотрите, как дать Claude и Cursor инструменты диагностики сайта. Из официальных источников по составлению запросов полезны руководства разработчиков моделей: Anthropic и OpenAI.
Частые вопросы
Как правильно: промпт или промт?
Встречаются оба варианта. «Промпт» ближе к английскому prompt, «промт» проще в произношении. Выберите одно написание и используйте его последовательно; на понимание запроса моделью это не влияет.
Нужно ли писать промпт на английском?
Современные крупные модели хорошо работают с русским языком. Английский оправдан, если вы вставляете англоязычные данные и хотите избежать смешения языков, или если конкретная модель заметно лучше отвечает на английском. Язык ответа можно задать явно: «Ответь на русском».
Какой длины должен быть промпт?
Такой, чтобы в нём было всё необходимое и ничего лишнего. Для простого вопроса — одно предложение, для диагностики — задача, контекст и несколько десятков строк лога. Длину определяют данные, а не вежливые вступления.
Помогает ли писать «пожалуйста» или «ты эксперт»?
Роль полезна, когда задаёт уровень и угол зрения: «объясни как администратор новичку». Сама по себе приставка «ты лучший эксперт» не добавляет модели знаний. Данные и формат влияют на результат сильнее.
Читает ли нейросеть сайт, если дать ей ссылку?
Зависит от сервиса: одни умеют загружать страницу, другие без подключённого поиска работают только с текстом запроса. Как AI-боты получают и обрабатывают страницы, разобрано в статье как AI-краулеры читают ваш сайт. Для точного ответа надёжнее вставить нужный фрагмент самому.
Почему на один и тот же промпт приходят разные ответы?
Генерация вероятностная: модель каждый раз заново выбирает продолжение текста. Для технических задач это ещё один довод просить формат и ссылки на исходные данные — так разные ответы легче сравнить и проверить.