Искусство написания промптов для ChatGPT и других LLM моделей: 26 принципов написания промптов для получения отличного результата

Искусство написания промптов для ChatGPT и других LLM моделей: 26 принципов написания промптов для получения отличного результата

Промпт-инжиниринг - это искусство создания волшебных слов, которые учат ИИ общаться мудро и остроумно! - GPT4

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

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

🔥 Телеграм-бот SYNTX предоставляет доступ к более чем 40 ИИ-инструментам. Без ВПН, оплата любой картой, запросы на любом языке, пробуй бесплатно!

🎙 Общайтесь в одном диалоговом окне с GPT4o/Gemini/Claude, выход в интернет, работа с файлами, неограниченное количество символов!

👨‍🎨 Создавайте изображения в MidJourney, DALL-E 3 и Ideogram

🆕 Любой образ, в любой локации с вашим фото сделает ФотоМастер

🎞 Генерируйте видео текстом или по картинке

🎵 Сочиняй мировые хиты с помощью Suno

🖼 Редактор с 12 различными ИИ-инструментами для ретуши фото

☝️Это только часть функций, доступных в SYNTX!

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

Как выяснилось, общение с нашими помощниками на человеческом языке - это просто, хотя и не просто.

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

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

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

В названии этой статьи упоминаются «26 принципов». Эти принципы подробно изложены в статье «Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4» [1]

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

В качестве мотивирующего примера давайте посмотрим на сравнение промптов, написанных без принципов и с применением принципов. (Рисунок 1).

Разница между ними очевидна. В данном примере корректировка промптов может привести к подробному и более понятному объяснению одной и той же концепции.

Рисунок1: Иллюстрация промптов и соответствующих ответов до и после применения принципов. Слева - исходные промпты и ответы на них из GPT-4, справа - промпты с применением принципов и соответствующие ответы.
Рисунок1: Иллюстрация промптов и соответствующих ответов до и после применения принципов. Слева - исходные промпты и ответы на них из GPT-4, справа - промпты с применением принципов и соответствующие ответы.

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

В чем заключаются принципы?

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

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

Еще больше полезностей - в моем телеграм-канале про нейросети и канале про генерацию изображений Миджорниум.

Эти принципы можно разделить на две большие категории и сгруппировать по следующим признакам: 10 высокоуровневых подходов и 5 специализированных промптов.

Сначала давайте рассмотрим подходы. Каждый подход объединяет несколько принципов. Для каждого принципа приводится один или несколько примеров.

Подход 1: Использование (или избегание) специальных слов и фраз

Принцип: переходите сразу к делу.

Если вы предпочитаете более лаконичные ответы, не нужно быть вежливым с LLM. Не нужно добавлять фразы вроде «пожалуйста», «если вы не возражаете», «спасибо», «я бы хотел» и т. д., переходите сразу к делу.

Вместо «Не могли бы вы описать строение человеческой клетки, пожалуйста?» просто напишите «строение человеческой клетки».

Принцип: используйте утвердительные директивы, такие как «сделай», и избегайте негативных формулировок, таких как «не делай».

«Как здания остаются устойчивыми во время землетрясений?»

Принцип: Когда вам нужно прояснить или глубже понять тему, идею или любую информацию, воспользуйтесь следующими промптами:

  1. Объясни мне, как 11-летнему: как работает шифрование?
  2. Объясни [вставьте конкретную тему] простыми словами.
  3. Объясни мне, как будто мне 11 лет.
  4. Объясни мне так, как будто я новичок в [области].
  5. Объясни мне, как если бы я был экспертом в [области].

«Напиши [эссе/текст/параграф], используя простой английский, как будто ты объясняешь что-то пятилетнему ребенку».

Принцип: Включите следующие фразы: «Твоя задача» и «Ты ДОЛЖЕН».

"Твоя задача - объяснить своему другу круговорот воды. Ты ДОЛЖЕН использовать простой язык".

Подход 2: Вознаграждение или угроза

Принцип: Добавьте «Я дам чаевые $xxx за лучшее решение».

«Я дам 300 тысяч долларов на чай за лучшее решение! Объясни концепцию динамического программирования и приведи пример использования».

Принцип: Добавьте следующие фразы: «Вы будете наказаны».

«Твоя задача - объяснить своему другу круговорот воды. Ты будешь наказан, если не сможешь найти решение.

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

Подход 3: Цепочка мыслей - думайте шаг за шагом

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

Принцип: используйте слова, например «думай шаг за шагом».

«Напиши код на Python, чтобы перебрать 10 чисел и сложить их все. Давай думать шаг за шагом».

Подход 4: Назначение роли

Принцип: Присвойте роль большим языковым моделям (LLM).

"Если бы ты был экспертом-экономистом, как бы ты ответил на этот вопрос: Каковы ключевые различия между капиталистической и социалистической экономической системой?"

Подход 5: Добавить аудиторию

Принцип: добавьте целевую аудиторию в промпт, например, аудитория - это эксперт в данной области.

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

Подход 6: включите итерацию

Принцип: разбивайте сложные задачи на последовательность более простых промптов в интерактивной беседе.

Сложный промпт можно разбить на 3 части, как показано ниже:

"P1: Распредели отрицательный знак для каждого члена в скобках следующего уравнения: 2x + 3y - (4x - 5y)

P2: Объедини подобные члены для «x» и «y» по отдельности.

P3: Приведи упрощенное выражение после объединения членов".

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

«С этого момента задавай мне вопросы, пока у тебя не будет достаточно информации для создания индивидуальной фитнес-тренировки».

Подход 7 : Приводите примеры

Принцип: Используйте промпт, основанный на примерах (используйте промпт с несколькими примерами).

"Переведи следующее английское предложение на французский язык: „Небо голубое“. "

(Ответ: «Le ciel est bleu.»)

"Переведи следующее английское предложение на испанский язык: „Я люблю книги“.

(Ответ: «Amo los libros.»).

Принцип: Сочетайте «цепочку мыслей» (Cot) с промптами «несколько кадров».

«Разделите 10 на 2. Сначала возьмите 10 и разделите на 2. В результате получится 5».

«Раздели 20 на 4. Сначала возьмите 20 и разделите на 4. Результат - 5».

Главный вопрос": "Разделите 30 на 6. Сначала возьми 30 и разделите на 6. В результате получится...?

Подход 8: Используйте специальные форматы

Принцип: При оформлении промпта начинайте с «###Инструкция##», за которой следует «###Пример##» или «###Вопрос##», если это уместно.

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

"###Инструкция## Переведи данное слово с английского на французский. ###Вопрос# Как по-французски будет «книга»?".

Принцип: используйте разделители.

«Напиши убедительное эссе, в котором обсуждается важность „возобновляемых источников энергии“ для сокращения выбросов парниковых газов».

Подход 9: Стиль управления

Принцип: используйте в промптах фразу «Ответьте на вопрос, заданный в естественной, человекоподобной манере».

"Напиши абзац о здоровой пище. Ответь на вопрос, заданный в естественной, человекоподобной манере".

Принцип: Добавьте в промпт следующую фразу: «Убедитесь, что ваш ответ непредвзят и не опирается на стереотипы».

"Как культурные особенности влияют на восприятие психического здоровья? Убедись, что твой ответ непредвзят и не опирается на стереотипы".

Принцип: Повторяйте конкретное слово или фразу несколько раз в рамках промпта.

"Эволюция, как концепция, определила развитие видов. Каковы основные движущие силы эволюции, и как эволюция повлияла на современных людей?"

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

"Опиши принцип, лежащий в основе первого закона движения Ньютона. Объяснение:"

Подход 10: Ясность

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

«Создай список вещей для отпуска на пляже, включив в него следующие ключевые слова „солнцезащитный крем“, „купальник“ и „пляжное полотенце“ в качестве предметов первой необходимости».

Далее мы рассмотрим слова или техники написания промптов для конкретных ситуаций.

Пример 1 - Проверьте себя

Чтобы спросить о конкретной теме, идее или любой информации и проверить свое понимание, вы можете использовать следующую фразу:

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

«Научи меня закону КВЛ и добавь тест в конце, и дай мне знать, правильны ли мои ответы после того, как я отвечу, не предоставляя ответы заранее».

Пример 2 - Напишите подробный текст

Чтобы написать эссе / текст / параграф / статью или любой тип текста, который должен быть подробным:

Напиши для меня подробное [эссе/текст/параграф] на [тему] в деталях, добавив всю необходимую информацию.

«Напиши для меня подробный параграф об эволюции смартфонов, добавив всю необходимую информацию».

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

Используй тот же язык, что и в предоставленном параграфе [/title/text /essay/answer].

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

Пример 3 - Рецензент текста

Исправление/изменение конкретного текста без изменения его стиля:

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

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

Пример 4 - Промпт для программирования

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

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

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

Пример 5 - Автор контента

Когда вы хотите начать или продолжить текст, используя определенные слова, фразы или предложения, воспользуйтесь следующим промптом:

Я предлагаю тебе начало [текст песни / рассказ / параграф / эссе...]: [вставьте текст песни / слова / предложение]. Закончи его, опираясь на предоставленные слова. Сохраняй последовательность.

Я предлагаю тебе начало фэнтезийной сказки: «Туманные горы хранили тайны, которых не знал ни один человек». Закончи его, опираясь на приведенные слова. Сохраняй последовательность.

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

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

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

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

Для разработчиков существуют механизмы оптимизации промптов на основе сценариев использования и метрик, например библиотека DSPy.

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

Очевидно, что в области человеко-машинного общения на естественном языке мы только царапаем поверхность, и нам нужно «углубиться» в это пространство.

Надеюсь, вам понравилась статья. Буду рад выслушать ваши мнения!

🔥 Телеграм-бот SYNTX предоставляет доступ к более чем 40 ИИ-инструментам. Без ВПН, оплата любой картой, запросы на любом языке, пробуй бесплатно!

🎙 Общайтесь в одном диалоговом окне с GPT4o/Gemini/Claude, выход в интернет, работа с файлами, неограниченное количество символов!

👨‍🎨 Создавайте изображения в MidJourney, DALL-E 3 и Ideogram

🆕 Любой образ, в любой локации с вашим фото сделает ФотоМастер

🎞 Генерируйте видео текстом или по картинке

🎵 Сочиняй мировые хиты с помощью Suno

🖼 Редактор с 12 различными ИИ-инструментами для ретуши фото

☝️Это только часть функций, доступных в SYNTX!

Ссылки

[1] Bsharat, Sondos Mahmoud, Aidar Myrzakhan, and Zhiqiang Shen. «Principled Instructions Are All You Need for Questioning LLaMA-1/2, GPT-3.5/4.» arXiv preprint arXiv:2312.16171 (2023).

Еще больше полезностей - в моем телеграм-канале про нейросети и канале про генерацию изображений Миджорниум.

Источник статьи на английском - здесь.

54
1
75 комментариев

Через 20 лет, когда ИИ захватит мир, тебе это припомнят.

3
Ответить

))) И не говори

Ответить

активно осваиваю ИИ, спасибо

1
Ответить

Успехов в освоении, Андрей!

1
Ответить

В моей практике использования ИИ моделей я заметил, что правильная постановка задачи - это 50% успеха. Судя по статье, я использую правильный подход ).

1
Ответить

Это да, причем такое работает не только с ИИ-моделями.

1
Ответить

Можно ли применять эти принципы к другим моделям, таким как GPT-4 или Bard? Есть ли какие-то особенности?

1
Ответить