Как писать промты, чтобы нейросеть выдавала нужный результат
Что такое промт
Промт — текстовый запрос пользователя к нейросети. Он может включать разные элементы, но не обязательно все сразу:
-
Инструкцию — это условие или задача, которую модель должна выполнить.
-
Контекст — дополнительная информация от пользователя, она поможет модели меньше галлюцинировать.
-
Входные данные — вопрос, на который человек ищет ответ.
-
Индикатор вывода — формат, в котором модель должна выдать результат.
Нет универсального промта, который подходил бы под любую ситуацию. В зависимости от задачи можно добавлять в запрос информацию, задавать стиль ответа или ограничения.
Правильных или неправильных промтов не бывает. Одни запросы достигают цели и отвечают на вопрос. На другие модель даёт фейковую или неполную информацию, а иногда отказывается отвечать.
Корректные промты кратно увеличивают вероятность того, что пользователь получит правильный вывод в нужном виде. Они сокращают время, которое человек тратит на взаимодействие с нейросетью. Например, если ответ должен быть в виде таблицы, можно указать это в запросе и прописать, по каким ячейкам нужно распределить информацию.
Никита Андреев, старший менеджер продукта в Яндекс Учебнике
Один из примеров, как может выглядеть формула промта:
Действие + |
Вид текста + |
Тема + |
Аудитория + |
Ограничения |
Напиши |
Пост |
«5 лучших IT-профессий в 2023 году» |
Для выпускников школ |
Уложись в 2000 символов |
Объясни |
Слово |
«Промт» |
Ребёнку 5 лет |
В двух абзацах |
Придумай |
Историю |
Про айтишника, который проспал Новый год |
Для продвинутых разработчиков |
Уложись в пять предложений |
Составь |
Тезисы для выступления |
«Как развивается искусственный интеллект» |
Из 8 пунктов |
Формулу можно расширять или сокращать — всё зависит от класса задач. Например, добавлять дополнительные детали, примеры, на которые модель будет ориентироваться при ответе, или задавать роли: «Расскажи про машинное обучение, как будто ты учитель физкультуры».
На результат ответа влияет любой токен — слово и даже знак препинания. Бывает, что модель галлюцинирует, но характером вранья можно управлять с помощью промта. Например, набрасывать нейросети дополнительные факты, на которые она будет опираться. Тогда ей останется делать то, что она хорошо умеет, — писать связный текст. Не нужно просить «Составь рассказ про полководца в войне 1812 года и одноимённый торт» и заставлять модель гадать. Лучше сразу уточнить: «Составь рассказ про полководца Наполеона Бонапарта».
Всегда нужно экспериментировать и добавлять в контекст важную информацию. Общение с нейросетью напоминает работу с поисковиком, когда пользователь подбирает слова так, чтобы добиться от сервиса нужного результата.
Алексей Ярошевич, руководитель отдела разработки Яндекс Учебника
Какие бывают промты
Корнеллский университет разработал общепринятую шкалу категоризации промтов, в неё входит шесть пунктов:
-
Семантика ввода. Пользователь задаёт модели правила, которые она запоминает и учитывает при ответе. Это позволяет упростить синтаксис и сэкономить время. Пример запроса: «Запомни, когда я попрошу построить маршрут из точки А в Б, я введу только названия городов, а ты подставишь их вместо А и Б».
-
Настройка вывода информации. Можно попросить модель выдавать информацию по шаблону. Сначала нужно загрузить в нейросеть правила, а потом указать в запросе, когда их использовать. Например: «Разбей ответ на три колонки и заполни таблицу, используя следующие показатели и шаблон».
-
Идентификация ошибок. Опасно копировать ответы модели без дополнительной проверки. Можно попросить нейросеть привести источники и факты, на основании которых она составила ответ. А ещё она умеет задавать уточняющие вопросы, они помогут пользователю скорректировать промт и получить более точный результат.
-
Улучшение подсказок. Иногда модель отказывается отвечать. Тогда можно использовать разные приёмы, чтобы обойти её ограничения. Например, на запрос «указать мотивы в образовании у подростков» она выдаёт пять основных пунктов. А когда пользователь просит уточнить их, говорит, что нет информации. Чтобы пробить этот барьер, стоит поговорить с нейросетью и позволить ей задать уточняющие вопросы.
-
Взаимодействие. К этой категории могут относиться задачи, когда нужно сгенерировать бесконечное количество маркетинговых слоганов или креативов по определённому правилу. Чтобы не вставлять шаблон каждый раз, можно сказать модели: «Генерируй мне ответы без остановки по заданному правилу».
-
Управление контекстом. Пригодится, когда нужно исключить из ответа некоторые источники. Например, вы исследуете российскую аудиторию и не хотите видеть информацию о людях из других стран. Тогда можно задать нейросети условие: «Подготовь мне ответ, не включая зарубежные источники». Так отсекается ненужный контекст — и модель выдаёт результат с учётом данных, которые важны для пользователя.
Из этих шести категорий чаще всего я использую три:
1. Про ошибки. Я, как менеджер продукта, провожу исследования пользователей. Мне важно понимать, на основании каких данных модель сделала вывод. Иначе её ответ ничего не стоит.
2. Про контекст. Я работаю над продуктами для конкретных пользователей, например учеников российских школ, учителей и родителей. Мне не нужно анализировать поведение всех людей на свете. Я ищу информацию, релевантную для моей аудитории. Поэтому контроль контекста и отрезание лишних кусков значительно увеличивают качество ресёрча и полученных выводов.
3. И подсказки. Я всегда прошу нейросеть задавать мне уточняющие вопросы, которые помогут ей дать более точный ответ. Когда модель это делает, она заставляет меня задуматься, осмыслить мой исследовательский вопрос и понять, зачем я его задаю. А ещё прокачивает качество ответа.
Никита Андреев, старший менеджер продукта в Яндекс Учебнике
Что важно помнить при составлении промтов
Главная ошибка новичка — полностью полагаться на ответ нейросети и не включать критическое мышление. Важно всегда оценивать ответы модели и правильно фильтровать контент.
Например, просить её привести факты, на которые она опирается. Если вы не эксперт в исследуемой области и не понимаете, хороший факт или нет, тогда нужно дополнительно проверять информацию в других источниках.
Иногда можно обнаружить логические нестыковки внутри ответа без дополнительного фактчекинга. Если попросить модель показать алгоритм решения задачи по шагам и расписать результат на каждом этапе, станет понятно, в какой момент нейросеть ошибается.
Для начала стоит изучить шесть категорий промтов, возможности и ограничения выбранной модели, а дальше — только практика. Кто знает, возможно, уже через год мы научимся использовать в наших ноутбуках видеокарты, которые применяются для компьютерных игр и ускорения графики в браузере, и генерировать с их помощью текст или картинки. Это станет базовым уровнем владения компьютером, поэтому есть смысл уже сейчас учиться составлять корректные промты.
Алексей Ярошевич, руководитель отдела разработки Яндекс Учебника