Создание сильных промптов — 3 главных фишки из продвинутого курса по генерации промптов

Я прошёл курс по продвинутому промпт-инжинирингу "Advanced Prompt Engineering for Everyone" от Vanderbilt University и делюсь сжатым пересказом главной информации из курса.

Статья будет полезна всем, кто чувствует, что промпты не дают желаемого результата, а также новичкам, которые не хотят разочароваться в ИИ. После прочтения у вас получится взять под контроль ответы ИИ-моделей, типа ChatGPT, Claude, и других и повысить качество промптов до уровня, который будет отвечать вашим потребностям.

1. Контекстное обучение

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

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

2. Техника «Preference-driven refinement»

Дословно переводится как "уточнение на основе предпочтений", и перевод отлично передаёт суть: можно уточнять, что нам нравится в результате генерации для того, чтобы получить более точный ответ.

Работает это так:

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

3. Контроль записи результата, компоненты сильного промпта

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

Пример такой генерации может выглядеть так:
...
Предоставь ответ в следующем виде:
##Вариант <номер варианта>
<##Оценка по критерию 1, десятибалльная шкала##>, <текстовый комментарий поставленной оценки>
...
<##Оценка по критерию 5, десятибалльная шкала##>, <текстовый комментарий поставленной оценки>
###<Общая оценка варианта, короткий комментарий, 10-15 слов.> ##Вариант <номер варианта>
...
Лучший вариант <###номер и название варианта с наибольшим количеством баллов###>

В варианте, где я не контролирую ответ, ИИ сразу предлагает способы приготовления, хотя мне это не нужно - пока я выбираю блюдо, а интересоваться приготовлением буду потом.
В варианте, где я не контролирую ответ, ИИ сразу предлагает способы приготовления, хотя мне это не нужно - пока я выбираю блюдо, а интересоваться приготовлением буду потом.

Чтобы написать хороший промпт, нужно не забыть следующие элементы:

  • Инструкции. Ну понятно, тут объясняем, что ИИ делать.
  • Информация. Если ответ на ваш вопрос неочевиден, будьте добры предоставить ИИ релевантную информацию, которой он будет пользоваться.
  • Примеры. Добавка к инструкции для полного понимания задачи.
  • Способ записи результата. К слову, помимо способа можно ещё и выбирать формат: ASCII, .csv, и другие - все что придет в голову.
  • Триггер. То, с чего начать генерацию, или первый шаг. Иногда помогает поставить ИИ на нужные рельсы.

После того, как в промпте учтены все компоненты, а результат до сих пор не устраивает, начинайте отладку. Она похожа на обучение нового сотрудника задачам и обязанностям.
Задайте себе вопрос: "если стажер не выполняет задачу, то с чем это может быть связано?". А по мере нахождения ответов уточняйте промпт прямо в процессе диалога до получения нужного результата.

Бонус: борьба с галлюцинациями ИИ

Не всегда у ИИ есть ответ на ваш запрос. Тогда он начинает галлюцинировать - выдумывать информацию, чтобы сформировать ответ. Для борьбы с этим существует два приема:

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

2. Заставить ИИ "отвечать за базар".С тех пор как мы научились контролировать формат ответа чат-бота, мы можем попросить его прикреплять источники: он постарается найти в приложенной информации ответ на свой вопрос, и покажет, где именно он нашёл результат своей генерации. А если не нашёл источника, то скажет и об этом.

Итоги и ответ на вопрос «Зачем все так усложнять?»

Итого, навыки хорошего написания промптов сводятся к следующим вещам:

Контекстное обучение: вместо того чтобы полагаться только на инструкции, используйте примеры, чтобы направлять поведение ИИ.

Уточнение на основе предпочтений: итеративно дорабатывайте промпт, генерируя результаты и выбирая то, что вам нравится, возвращая эти примеры в ИИ для улучшения его ответов.

Форматирование выходных данных: четко определите формат, который вы хотите видеть в подсказке. Это значительно повысит точность и ясность ответов ИИ.

Защита от галлюцинаций: предоставляйте ИИ необходимые материалы для ответа на неочевидные вопросы и просите ссылаться на источник данных для фактчекинга ответов.

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

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

1919
4 комментария

Ну тоже неплохо

Мега полезная информация, спасибо. Пойду тестировать 😁

1

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

1