Как писать промпты, чтобы ИИ понимал с первого раза
Мои первые запросы к ИИ выглядели так: «сделай сайт». И я искренне не понимал, почему получаю что-то бесполезное. Потом я неделями переделывал результат, злился и думал, что инструмент сырой.
Потом до меня дошло: проблема была не в ИИ, а в том, что я ставил задачу так, как никогда не поставил бы её живому исполнителю. Если бы я написал фрилансеру «сделай сайт» и ушёл, я бы получил ровно то же самое. Поэтому сейчас я учу вас сразу рабочей схеме.
Рабочая схема промпта — четыре части. Не обязательно писать их по пунктам, но все четыре должны быть в тексте.
1. Контекст. Что за продукт, для кого, на чём сделан. «У меня сервис записи к мастеру маникюра, на Next.js, данные лежат в Postgres».
2. Задача. Что конкретно нужно сделать, одним ясным предложением. «Добавь страницу, где клиент видит свои будущие записи».
3. Ограничения. Чего делать не надо и что трогать нельзя. «Не меняй существующую страницу входа, не подключай новые библиотеки».
4. Критерий готовности. Как вы поймёте, что получилось. «Готово, когда я захожу под тестовым пользователем и вижу список своих записей, отсортированный по дате».
Сравните сами.
Плохо:
сделай личный кабинет
Хорошо:
У меня сервис записи к мастеру маникюра на Next.js, данные в Postgres. Добавь страницу /account, где вошедший клиент видит список своих будущих записей: дата, услуга, мастер. Сортировка — ближайшие сверху. Не меняй страницу входа и не добавляй новых библиотек. Готово, когда я под тестовым пользователем вижу свои записи.
Второй промпт длиннее в шесть раз — и именно поэтому он экономит вам час переделок.
Теперь — четыре официальных приёма из документации Anthropic. Я не выдумал их: это то, что рекомендует сама компания, сделавшая Claude (раздел Prompting best practices на platform.claude.com). Пересказываю своими словами, как применять на практике.
Приём 1. Будьте ясны и прямолинейны (Be clear and direct). Пишите так, будто ставите задачу новому сотруднику, который умён, но ничего не знает о вашем проекте. Не намекайте. «Хочу, чтобы выглядело поприличнее» — плохо. «Увеличь отступы между карточками до 24px и сделай заголовок крупнее основного текста» — хорошо.
Приём 2. Добавляйте контекст (Add context to improve performance). Объясняйте не только что сделать, но и зачем. Официальная рекомендация прямо говорит: объяснение цели улучшает результат. «Эта страница для мастеров маникюра, они открывают её с телефона между клиентами — им нужно увидеть расписание за две секунды». С таким контекстом ИИ примет десяток мелких решений в нужную сторону.
Приём 3. Показывайте примеры (Use examples effectively). Один пример стоит абзаца объяснений. Если нужен определённый формат ответа — покажите готовый образец. Если нужен определённый вид — приложите скриншот: Claude Code принимает картинки прямо в диалог, их можно перетащить мышкой или вставить через Ctrl+V.
Приём 4. Разделяйте части промпта тегами (Structure prompts with XML tags). Когда в запросе есть и инструкция, и данные, и пример — их легко перепутать. Оберните каждую часть в теги, и путаницы не будет:
<задача> Составь письмо клиенту по образцу ниже. </задача> <образец> [текст вашего образца] </образец> <данные> Имя клиента: Мария, услуга: маникюр, дата: 12 мая </данные>
Выглядит непривычно, но работает заметно лучше сплошного текста — и это официально рекомендованный способ.
Ещё несколько правил, которые я вывел на своей практике.
Одна задача — один промпт. Если написать «сделай регистрацию, оплату и админку», ИИ сделает всё три вещи поверхностно. Просите по одной и проверяйте каждую.
Просите план до кода. У Claude Code для этого есть отдельный режим планирования: нажмите Shift+Tab, пока в строке состояния не появится plan mode on. В этом режиме он читает файлы и предлагает план, но ничего не меняет на диске, пока вы не согласитесь. Прочитаете план за минуту и поймаете неверное направление до того, как будет написано 300 строк.
Показывайте, а не пересказывайте. Если что-то сломалось — вставляйте текст ошибки целиком, а не «выдаёт ошибку».
И последнее, самое важное. Никогда не подтверждайте изменения, которых не поняли. Если не ясно, что делает предложенный код, — спросите: «объясни простыми словами, что делает этот файл и зачем». Вы здесь главный, ИИ — исполнитель.
Короткие задания по материалу урока. Они идут в зачёт вместе с домашкой — без них урок считается непройденным.
Чего не хватает в промпте: «У меня сервис записи на Next.js, данные в Postgres. Добавь страницу со списком записей клиента»?
Зачем оборачивать части промпта в теги вроде <задача> и <данные>?
Что делает режим планирования по Shift+Tab в Claude Code?
Возьмите задачу из своего продукта и напишите промпт по схеме из четырёх частей: контекст, задача, ограничения, критерий готовности. Вставьте его сюда целиком.
Напишите два промпта под свой продукт: сначала так, как написали бы раньше («сделай Х»), а потом по схеме из четырёх частей — контекст, задача, ограничения, критерий готовности. Отправьте оба в Claude Code, по очереди, и сравните результат. В ответе пришлите оба промпта и напишите, в чём была разница в результате.
Хотите, напишу, когда открою набор в поток? Один раз, в Telegram, без рассылок и без пересылки кому-либо ещё.
Внутри курса это задание можно сдать на проверку — разбор придёт по каждому пункту. Дальше идут скиллы, коннекторы, база данных, оплата и поиск первых клиентов.
Посмотреть тарифы