Назад
Нейросети и инструменты

Как написать промпт для кода: 7 приёмов с примерами

Как написать промпт для кода: цель, контекст, примеры данных и критерии результата. Семь приёмов, готовые запросы для бота, сайта и таблицы, общий шаблон.

Как написать промпт для кода: 7 приёмов с примерами

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

Разберем, как написать промпт для кода на примерах бота, формы сайта и обработки таблицы. Семь приемов ниже помогут собрать исходные условия в одном запросе. Их можно использовать в чате или адаптировать для помощника, который работает непосредственно с файлами проекта.

Что такое промпт для кода

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

Такую работу с запросами часто называют промпт-инжинирингом. Здесь важнее конкретные условия, чем сложные формулировки. Например, GitHub рекомендует давать релевантный контекст, показывать примеры и разбивать сложные задачи на более простые. А в руководстве Anthropic отдельно отмечены ясные инструкции, ограничения и формат ответа.

1. Опишите результат и того, кто им пользуется

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

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

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

2. Дайте контекст существующего проекта

Укажите язык, используемую среду и файлы, которые относятся к изменению. Версии берите из проекта, а не из предположений. В чате нужный фрагмент придется приложить; у помощника в редакторе стоит уточнить, какие файлы он должен посмотреть.

Пример запроса: «В проекте уже есть форма и обработчик ее полей. Прикладываю HTML, стили формы и связанный JavaScript. Нужно добавить понятные сообщения для незаполненных обязательных полей. Сначала учти текущие названия полей и существующие правила».

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

3. Покажите входные данные и ожидаемый ответ

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

Пример запроса: «В таблице есть строки: “Новая, Анна”, “Закрыта, Анна”, “Новая, Борис”. В итог попадают только новые заявки. Ожидаемый результат: Анна — 1, Борис — 1. Если у новой заявки не указан ответственный, учитывай ее в группе “Не назначен”».

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

4. Зафиксируйте границы изменения

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

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

Если способ решения пока неизвестен, прямо укажите это: «Предложи варианты в рамках текущего проекта и объясни, каких данных не хватает для выбора». Выбор технологии лучше привязать к условиям, которые действительно известны.

5. Выберите один этап сложной задачи

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

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

Когда этап завершен, продолжайте с его результатом. Если изменились исходные правила, обновите их в следующем запросе, чтобы модель работала с актуальным описанием.

6. Укажите формат результата

Уточните, что хотите получить: объяснение, функцию, изменение в конкретных файлах или последовательность действий. Это особенно важно, когда вы переносите ответ из обычного чата в редактор самостоятельно.

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

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

7. Назовите признаки готового результата

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

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

Попросите указать, какие условия удалось проверить, а для каких не хватило доступа или данных. Сформулированные критерии задают ориентир; готовое изменение все равно нужно проверять в работающем проекте.

Три готовых запроса для разных задач

Следующие примеры можно взять за основу. Перед отправкой замените детали на свои и приложите упомянутые материалы.

Для Telegram-бота: «Есть бот приема вопросов, прикладываю текущие обработчики. Нужно добавить выбор темы перед вводом вопроса: “Доступ”, “Документы”, “Другое”. Выбранная тема должна сохраняться вместе с текстом обращения и отображаться сотруднику. Сохрани текущую выдачу номера обращения. При возврате к выбору темы используй последнее подтвержденное значение. Внеси изменение в связанные обработчики и укажи, как проверить сценарий с каждой темой».

Для формы сайта: «Прикладываю разметку, стили и JavaScript формы. Нужно добавить проверку обязательных полей имени и электронной почты с сообщениями рядом с полем. Существующий обработчик отправки сохраняется. При ошибке введенный текст должен оставаться на месте. После исправления ошибка соответствующего поля исчезает. Используй текущие классы оформления. Покажи измененные участки и объясни, где их заменить. Если для подключения проверки нужен другой файл, укажи какой».

Для Google Таблицы: «Есть лист “Заявки”: столбец A — номер, B — статус, C — ответственный. Нужен итог по количеству строк со статусом “Новая” для каждого ответственного. Пустого ответственного объединяй в группу “Не назначен”, пустые строки пропускай. Исходный лист сохраняй без изменений, результат размести на отдельном листе “Итог”. Пример: две новые заявки Анны и одна новая без ответственного дают Анна — 2, Не назначен — 1. Предложи подходящий способ для этой структуры. Сначала покажи ожидаемый итог и объясни, какие уточнения нужны до реализации».

Общий шаблон промпта для кода

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

  • Цель: кому нужна функция и какое действие она должна выполнять.
  • Что уже есть: текущий проект, язык, среда и относящиеся к задаче файлы.
  • Что изменить: конкретный участок и ожидаемое поведение.
  • Данные: пример входа, ожидаемый выход и правила для особых случаев.
  • Границы: какие части проекта и способы работы нужно сохранить.
  • Текущий этап: описание, предложение вариантов или реализация.
  • Формат ответа: функция, фрагмент, изменения в файлах или инструкция.
  • Критерии: по каким действиям и результатам будете проверять выполнение.

Как уточнять запрос после первого ответа

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

Сохраняйте актуальные условия и примеры рядом с задачей. При переходе к другому проекту полезно начать отдельный разговор и передать нужный контекст заново. Это поможет не смешивать разные файлы и договоренности.

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

Когда пригодится помощь исполнителя

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

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

Домой
Избранное
Добавить
Чат
Профиль