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

Я потратил много часов на различные курсы по промт-инжинирингу и постоянно тестировал различные структуры запросов, чтобы построить формулу, которая могла бы приблизить меня к качественным ответам.

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

ChatGPT я пользовался через русифицированный сервис MashaGPT, который работает без VPN и виртуальных сим-карт. Все примеры взяты из него.

Схема промта: приоритет сверху вниз
Схема промта: приоритет сверху вниз

6 составляющих промта

Перечислим эти элементы в порядке убывания их важности: задача, контекст, пример, роль, формат и тон. Задача – основной элемент любого промта, без которого ChatGPT вас просто не поймет.

Если мы будем вводить в чат-бот только задачи по отдельности, то все равно получим значимые результаты. Обратная ситуация возникает, если мы вводим в ChatGPT только контекст, то мы просто не получим значимой для нашей цели информации.

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

Теперь давайте начнем подробно анализировать каждый из этих шести элементов.

1. Задача

Ключевой принцип – всегда начинать запрос с задания с глаголом действия (генерировать, вести, писать, анализировать и т. д.) и четко формулировать конечную цель.

Например, мы можем составить сложные трехэтапные задачи (которые включают сбор информации, обобщение и написание финального ответа).

Запрос к ChatGPT выражен глаголами в повелительном наклонении.
Запрос к ChatGPT выражен глаголами в повелительном наклонении.

2. Контекст

Второй элемент – самый сложный. Не забывайте предоставлять ChatGPT достаточно информации, чтобы он мог давать высококачественные результаты. Позже я обнаружил, что полезно и практично использовать три составляющих. Это проясняет ситуацию, цель и задачу в контексте соответственно. То есть рассказываем о своем опыте (1), описываем, что хотим достичь(2), и пишем команду для ChatGPT (3).

Разберем следующий запрос:

Я вешу 70 кг и хочу нарастить 5 кг мышечной массы в следующие 3 месяца. У меня есть время на посещение спортзала только дважды в неделю и только 1 час за одно занятие. Напиши мне 3-месячную программу тренировок.

Контекст состоит из ситуации, цели и задания для ChatGPT.
Контекст состоит из ситуации, цели и задания для ChatGPT.

С учетом этого контекста получаем следующий ответ от чат-бота:

Достаточный контекст ограничивает разброс возможных ответов.
Достаточный контекст ограничивает разброс возможных ответов.
  1. Примеры

Включение примеров в промты приводит к более качественным ответам. Рассмотрим на примере, где я взял отрывок из своего резюме, и теперь ChatGPT переписывает всю эту информацию через метод STAR для выявления моих слабых сторон:

Основываясь на моем собственном резюме, помоги мне структурировать ответ на вопрос собеседования: «Какая ваша самая большая слабость?»

Используй структуру ответов STAR: Situationситуация, Task – задача, Action – действие и Results – результаты.

Вот мое резюме для справки: […].

Примеры дают дополнительную информацию для ChatGPT, которой изначально нет у нейросети.
Примеры дают дополнительную информацию для ChatGPT, которой изначально нет у нейросети.

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

4. Роль

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

Вы также можете указать конкретную персону, но только если она достаточно известна. Например, Илон Маск или Уоррен Баффет.

Давайте рассмотрим следующий пример, где я прошу ChatGPT принять личность Бэтмена при составлении электронного письма.

Я собираю встречу команды из 10 сотрудников. Темой будут супергерои и Лига справедливости. Составь электронное письмо с объявлением о встрече команды, как будто ты Бэтмен. Мероприятие продлится 2 дня и будет сочетать в себе тимбилдинг и деловые мероприятия.

Бэтмен пишет письмо.
Бэтмен пишет письмо.
  1. Формат

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

Мы можем получить такие форматы, как таблицы, электронные письма, списки, блоки кода и др. Например, попробуем структурировать данные о народонаселении последовательно в маркированный список, таблицу, коды HTML и CSS.

Промт: Какие страны самые населенные в мире? Укажи их столицы и численность населения. Напиши только пять в виде маркированного списка.
Промт: Какие страны самые населенные в мире? Укажи их столицы и численность населения. Напиши только пять в виде маркированного списка.
Промт: Представь эту информацию в таблице.
Промт: Представь эту информацию в таблице.
Промт: Представь результаты в формате HTML.
Промт: Представь результаты в формате HTML.
Промт: Вынеси стили CSS отдельно внутри тега <style>, а дальше напиши HTML код с моими данными.
Промт: Вынеси стили CSS отдельно внутри тега <style>, а дальше напиши HTML код с моими данными.
  1. Тон

Для текстов важна тональность, реакция читателей. Поэтому следует правильно определять тип используемого тона. Можно спросить у самого чат-бота об используемых tone-of-voice. Так мы легче поймем, что нам больше подходит.

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

Выбираем тональность своего письма.
Выбираем тональность своего письма.

Финальная формула промтаТеперь давайте объединим все рассмотренные элементы. Допустим, нам нужно отправить электронное письмо, содержащее актуальную и полезную информацию. Применим все 6 элементов.

Все 6 элементов в одном промте
Все 6 элементов в одном промте

Ты старший продакт-менеджер в Apple. Только что ты анонсировал новый продукт, созданный в сотрудничестве с Tesla – Apple Car, и получил 12 тысяч предзаказов, что на 200% выше запланированных показателей.

Напиши письмо твоему шефу, Тиму Куку, и поделись этой позитивной новостью.  

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

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

Черновик письма: осталось убрать ошибки в пунктуации и устранить стилистические промахи.
Черновик письма: осталось убрать ошибки в пунктуации и устранить стилистические промахи.

Включение 6 элементов в промт гарантирует, что ответы от ChatGPT будут высокого качества и очень близки к тому, что мы ожидаем получить. Вы можете использовать формулу для инструкций не только для ChatGPT, но и для Google Bard, Claude или любой другой языковой модели.

Комментарии (4)


  1. dimars08
    04.10.2023 13:25

    Спасибо! Я у МИФА (не реклама), которого канал "Нетепичный безопасник" в телеге, брал неплохой курс по промтам. Вроде как скоро выкатит новый, там обещают пушку!)


  1. VSAI
    04.10.2023 13:25

    Эти рекомендации действительно лучше, чем ничего. Но затыкают дыры интерфейса и эргономика технарей, забывших о том, как думает большинство людей. Надо инвестировать в инженерных ПСИХОЛОГОВ, а не в "Сам дурак, учи мат. часть" .


  1. dimitrii_z
    04.10.2023 13:25

    В этом тексте из нового я узнал только то, что есть уже курсы по промптам (да, промпт а не промт, от англ. prompt).

    И эти вещи, конечно, удобнее подавать ему через API, там для запроса и примеров (которых может быть несколько) есть отдельные поля в JSON запроса. Конечно, если есть возможность оплатить соответствующую подписку.

    А ещё можно задать т.н. температуру (они так и называют temperature) для регулировки "креативности". В работе я именно API использую, удобно полуавтоматически подавать массивы данных для циклического анализа, перевода и пр.


    1. Parfois Автор
      04.10.2023 13:25

      Спасибо за комментарий! Использую форму слова "промт", как это сложилось в рунете.