Как писать промты, чтобы нейросеть выдавала нужный результат

Общение пользователя и генеративной модели напоминает диалог между людьми. Чем точнее собеседники выражают свои мысли, тем легче им понять друг друга. Как правильно составлять запросы к нейросети, чтобы получать желаемый результат, разбираемся вместе со старшим менеджером продукта в Яндекс Учебнике Никитой Андреевым и руководителем отдела разработки Яндекс Учебника Алексеем Ярошевичем

Что такое промт

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

  • Инструкцию — это условие или задача, которую модель должна выполнить.

  • Контекст — дополнительная информация от пользователя, она поможет модели меньше галлюцинировать.

  • Входные данные — вопрос, на который человек ищет ответ.

  • Индикатор вывода — формат, в котором модель должна выдать результат.

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

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

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

Один из примеров, как может выглядеть формула промта:

Действие +

Вид текста +

Тема +

Аудитория +

Ограничения

Напиши

Пост

«5 лучших IT-профессий в 2023 году»

Для выпускников школ

Уложись в 2000 символов

Объясни

Слово

«Промт»

Ребёнку 5 лет

В двух абзацах

Придумай

Историю

Про айтишника, который проспал Новый год

Для продвинутых разработчиков

Уложись в пять предложений

Составь

Тезисы для выступления

«Как развивается искусственный интеллект»

Из 8 пунктов

Ответ YandexGPT 2

Ответ YandexGPT 2

Формулу можно расширять или сокращать — всё зависит от класса задач. Например, добавлять дополнительные детали, примеры, на которые модель будет ориентироваться при ответе, или задавать роли: «Расскажи про машинное обучение, как будто ты учитель физкультуры».

Ответ YandexGPT 2

На результат ответа влияет любой токен — слово и даже знак препинания. Бывает, что модель галлюцинирует, но характером вранья можно управлять с помощью промта. Например, набрасывать нейросети дополнительные факты, на которые она будет опираться. Тогда ей останется делать то, что она хорошо умеет, — писать связный текст. Не нужно просить «Составь рассказ про полководца в войне 1812 года и одноимённый торт» и заставлять модель гадать. Лучше сразу уточнить: «Составь рассказ про полководца Наполеона Бонапарта».

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

Какие бывают промты

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

  1. Семантика ввода. Пользователь задаёт модели правила, которые она запоминает и учитывает при ответе. Это позволяет упростить синтаксис и сэкономить время. Пример запроса: «Запомни, когда я попрошу построить маршрут из точки А в Б, я введу только названия городов, а ты подставишь их вместо А и Б».

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

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

  4. Улучшение подсказок. Иногда модель отказывается отвечать. Тогда можно использовать разные приёмы, чтобы обойти её ограничения. Например, на запрос «указать мотивы в образовании у подростков» она выдаёт пять основных пунктов. А когда пользователь просит уточнить их, говорит, что нет информации. Чтобы пробить этот барьер, стоит поговорить с нейросетью и позволить ей задать уточняющие вопросы.

  5. Взаимодействие. К этой категории могут относиться задачи, когда нужно сгенерировать бесконечное количество маркетинговых слоганов или креативов по определённому правилу. Чтобы не вставлять шаблон каждый раз, можно сказать модели: «Генерируй мне ответы без остановки по заданному правилу».

  6. Управление контекстом. Пригодится, когда нужно исключить из ответа некоторые источники. Например, вы исследуете российскую аудиторию и не хотите видеть информацию о людях из других стран. Тогда можно задать нейросети условие: «Подготовь мне ответ, не включая зарубежные источники». Так отсекается ненужный контекст — и модель выдаёт результат с учётом данных, которые важны для пользователя.

Из этих шести категорий чаще всего я использую три:

1. Про ошибки. Я, как менеджер продукта, провожу исследования пользователей. Мне важно понимать, на основании каких данных модель сделала вывод. Иначе её ответ ничего не стоит.

2. Про контекст. Я работаю над продуктами для конкретных пользователей, например учеников российских школ, учителей и родителей. Мне не нужно анализировать поведение всех людей на свете. Я ищу информацию, релевантную для моей аудитории. Поэтому контроль контекста и отрезание лишних кусков значительно увеличивают качество ресёрча и полученных выводов.

3. И подсказки. Я всегда прошу нейросеть задавать мне уточняющие вопросы, которые помогут ей дать более точный ответ. Когда модель это делает, она заставляет меня задуматься, осмыслить мой исследовательский вопрос и понять, зачем я его задаю. А ещё прокачивает качество ответа.
Никита Андреев, старший менеджер продукта в Яндекс Учебнике

Что важно помнить при составлении промтов

Главная ошибка новичка — полностью полагаться на ответ нейросети и не включать критическое мышление. Важно всегда оценивать ответы модели и правильно фильтровать контент.

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

Ответ YandexGPT 2

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

Для начала стоит изучить шесть категорий промтов, возможности и ограничения выбранной модели, а дальше — только практика. Кто знает, возможно, уже через год мы научимся использовать в наших ноутбуках видеокарты, которые применяются для компьютерных игр и ускорения графики в браузере, и генерировать с их помощью текст или картинки. Это станет базовым уровнем владения компьютером, поэтому есть смысл уже сейчас учиться составлять корректные промты.
Алексей Ярошевич, руководитель отдела разработки Яндекс Учебника

Краткий пересказ от Yandex GPT

Ещё про нейросети

Смотреть всё
Смотреть всё