ChatGPT. Мастер подсказок, или Как создавать сильные промты для нейросети
Шрифт:
Если делать так самому просто в режиме чат-подсказки (пусть и многоуровневой, мощной), то все куда более сложно и непредсказуемо: слишком много вводных, слишком многое нужно учитывать, слишком велика вероятность запутать ИИ и нарваться на галлюцинации (это явление рассмотрим позже).
Чаты представляют собой как «чистый» ChatGPT без преднастроек, так и специализированные чаты для разных задач. Один, например, «заточен» на обучение языкам, другой поможет лучше находить логические ошибки или готовиться по конкретной теме.
А
Процессы такого уровня – колоссальный труд. Нам пришлось не просто изучить подсказки изнутри и потратить много-много миллионов токенов («валюта» и мера объема GPT) в процессе работы. Нам волей-неволей пришлось:
• открыть массу фишек и закономерностей;
• сделать тысячи ошибок и понять их причину;
• найти интересные стратегии промтинга;
• обкатать сотни вариантов структуры и запросов;
• разочароваться в поверхностных промтах;
• прокачать креативность и увидеть новые пути;
• и т. д. и т. п.
В итоге мы стали сильными практиками промт-инжиниринга и накопили такой объем полезного практического багажа, который так и просился для отдельной книги. Именно поэтому она родилась.
P. S. Кстати, сейчас, поняв и освоив стандартный промтинг, мы уже вплотную подошли к более серьезному этапу, а именно – к созданию собственных LLM для точечных задач. Например, к написанию ИИ текста с определенной стилистикой.
Конечно, речь идет о надстройках на предобученные модели, а не о подготовке LLM c нуля, но в нашем случае такого и не требуется. Тонкое обучение – тоже не фунт изюма, но, надеемся, справимся и здесь.
Глава 1. Суть промтинга
В этой книге вы будете учиться правилам и приемам промт-инжиниринга. Им будут пропитаны все страницы, после чтения вы сможете совсем иначе взглянуть на потенциал ИИ. А теперь о самом «главном герое».
Промт-инжиниринг (далее – промтинг) – это направление, изучающее навыки подготовки, создания и оптимизации подсказок (промтов) для нейросетей, где подсказка – это вводные данные, которые пользователь дает модели для получения нужного ответа.
Качество ответа может кардинально разниться в зависимости от того, насколько пользователь разбирается в правилах и тонкостях промтинга.
Посмотрим на две подсказки.
С точки зрения промтинга это ужасная подсказка. Во-первых, нет никаких переменных и условий. Во-вторых, мы совершили типичную ошибку, добавив оценочное суждение «вкусных».
Наша природа такова, что мы почему-то надеемся, что результат будет соответствовать именно нашему вкусу. Но ИИ так не думает, для него «вкусных» = «ничего» или «что угодно». Кому вкусных? По каким критериям? Из каких продуктов? В результате человек чувствует непонимание и грусть: «Я пробовал (-а) ChatGPT, результат не вдохновил. Как-то все слишком обычно или даже слабо, ничего этакого».
Это самая частая фраза людей, просящих рецепты трех вкусных блюд. Когда промты слабы, неконкретны, запутанны, включают в себя взаимоисключающие условия или не устанавливают конкретные рамки подсказки, модель не сможет раскрыться. Вы будете пытаться выжать 100 км/ч на первой передаче, не умея переключаться до пятой.
Нейромодель GPT колоссально умна, она знает и умеет многое, но, чтобы вывести ее на нужный уровень, вы сами должны очертить ее рамки.
Теперь попробуем иначе.
У меня есть продукты: 2 кг картофеля, 1 кг курятины, морковь, свекла, томаты, чеснок, лук, перец.
В рецептах можно использовать часть или все продукты из списка. Нельзя добавлять продукты, которых нет в списке.
Способ приготовления – жарка или тушение.
Длительность приготовления – до 2 часов.
Блюда должны быть оценены как очень вкусные в большинстве источников.
Все, кроме одного ответа ИИ, точно соответствовали заданию. Но в одном ИИ «взбрыкнул» и по собственной воле добавил вот такой рецепт.
Рецепт 3: томатный суп с овощами и курятиной.
Ингредиенты:
• 500 г курятины;
• 2–3 картофелины;
• 1 морковь;
• 1 свекла;
• 2–3 помидора;
• 2 зубчика чеснока;
• 1 луковица;
• 1 литр куриного бульона;
• 2 столовые ложки растительного масла;
• соль и перец по вкусу;
• зелень (петрушка, укроп) для украшения.
Приготовление:
1. Курятину порежьте…
Модель использовала рецепт с растительным маслом и зеленью, которых не было в списке. Проблема? Нет, это все еще промтинг. Добавляем в диалог новую вводную:
GPT уже помнит контекст, нейросети не нужно заново ставить условия. Мы лишь поправляем ИИ, вводя в нужные нам рамки. В итоге снова получаем три блюда, но уже с учетом прошлых ошибок. И теперь ни в одном нет «запрещенки». Вот один из примеров.
Тушеная картошка с курятиной в томатном соусе
Ингредиенты:
• 1 кг картофеля;
• 500 г курятины;
• 1 луковица;
• 2 моркови;
• 2–3 зубчика чеснока;
• 2–3 помидора;
• соль и перец по вкусу.
Приготовление:
1. Картофель…
Далее мы будем стараться не цитировать ответы GPT (только несколько раз в виде исключений). Все же не совсем правильно разбавлять авторский текст постоянными ответами ИИ.
Если бы мы пошли дальше, то могли бы попросить советы по сокращению времени готовки или, например, вытянули из ИИ какой-нибудь интересный соус из оставшихся продуктов. Повернуть можно куда угодно – этим промтинг и замечателен.