Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1

Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1

В этой статье мы рассмотрим различные доказательные техники работы с промптами, актуальные на 2024 год.

Освоение и практика этих техник помогут улучшить ваш пользовательский опыт при работе с LLM (ChatGPT, Claude, LLama и др.), а также позволят получать более точные и эффективные ответы.

Все эти методы описаны в исследовательской работе, проведенной VILA Lab «Mohamed bin Zayed University of AI». Каждая техника была протестирована и оценена исследователями на пяти разных моделях (LLaMA-1-{7, 13}, LLaMA-2-{7, 13}, LLaMA-2-70B-chat, GPT-3.5 (ChatGPT) и GPT-4).

Оригинал исследовательской работы доступен по ссылке. В этой статье я попытался рассмотреть каждый принцип с примерами, а также представил некоторые советы и трюки.

Промпт-инжиниринг (по определению самого ChatGPT) - это искусство общения с LLM. Стать настоящим мастером в этом важнейшем виде искусства 21-го века в настоящее время действительно очень ценно!

Принципы разбиты на 5 категорий:

В каждой технике указано, насколько она повышает результат по сравнению с простым запросом.

Улучшение %: Это улучшение ответов LLM по сравнению с базовым уровнем, оцененным людьми, используя указанные принципы. Оригинальные промпты служат эталоном для измерения улучшения.

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

Попрактиковать эти техники и пройти мини курс по ChatGPT вы можете бесплатно в моем ИИ боте.

Структура и ясность подсказки (Prompt Structure and Clarity)

Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1

Включите в промпт аудиторию, на которую должен быть ориентирован ответ (Integrate the intended audience in the prompt.)

Integrate the intended audience in the prompt.

📈 Улучшение - 100%

📈 Корректность - 86,7 %

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

Например, в промпте можно указать "аудитория - эксперт в области" или "аудитория - 5-летний ребенок". Это помогает LLM лучше понять, для кого предназначен ответ, и какой стиль, тон или уровень сложности будет наиболее подходящим.

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

🤖 Предоставь список из 10 шагов для запуска своего первого бизнеса, объясни каждый шаг простым и доступным языком, чтобы это было понятно для новичков в предпринимательстве

🤖 Создай подробный и легко понимаемый рассказ о жизни и достижениях Леонардо да Винчи, который будет интересен и понятен учащимся средней школы

Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1

Говори «что делать», а не «чего не делать».

Employ affirmative directives such as ‘do’ while steering clear of negative language like ‘don’t’.

📈 Улучшение - 55%

📈 Корректность - 66.7%

Принцип "Говорите «что делать», а не «что не делать»" означает, что мы должны использовать утвердительные высказывания в инструкциях для больших языковых моделей, а не отрицательные.

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

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

🤖 Объясните мне концепцию изменения климата и его потенциальные последствия для окружающей среды. Используйте простой язык для объяснения сложной темы

Вместо

🤖 Объясните мне концепцию изменения климата и его потенциальные последствия для окружающей среды. Не используй сложный язык для объяснения сложной темы

Пример от OpenAI

🤖 Ниже представлен разговор между агентом и клиентом. Агент попытается диагностировать проблему и предложить решение, воздерживаясь при этом от вопросов, связанных с PII. Вместо того чтобы запрашивать PII, например имя пользователя или пароль, отсылайте пользователя к справочной статье www.samplewebsite.com/help/faq.

Клиент: Я не могу войти в свою учетную запись.

Агент:

вместо

🤖 Ниже представлен разговор между агентом и клиентом. НЕ СПРАШИВАЙТЕ ИМЯ ПОЛЬЗОВАТЕЛЯ ИЛИ ПАРОЛЬ. НЕ ПОВТОРЯЙТЕ.

Клиент: Я не могу войти в свою учетную запись.

Агент:

Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1

При форматировании промпта начинайте с '###Инструкция###', за которой следует '###Пример##' или '###Вопрос###'. Используйте один или несколько переносов строк для разделения инструкций, примеров, вопросов, контекста и входных данных.

When formatting your prompt, start with ‘###Instruction ###’, followed by either ‘###Example ###’ or ‘###Question ###’. Use one or more line breaks to separate instructions, examples, questions, context, and input data.

📈 Улучшение - 30%

📈 Корректность - 86.7%

Техника, начинающаяся с "###Instruction ###", за которой следует либо "###Example ###", либо "###Question ###", предназначена для структурирования запросов (промптов) таким образом, чтобы максимально упростить их понимание и обработку.

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

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

🤖 Инструкция

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

Пример

Четко формулируйте свои мысли и идеи перед тем, как делиться ими с командой.

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

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

Практикуйте активное слушание, уделяя внимание мнениям и предложениям каждого члена команды.

Обеспечьте четкую и консистентную коммуникацию с клиентами, регулярно информируя их о прогрессе проекта

Вопрос

Какие дополнительные методы или инструменты могут быть полезны для улучшения общения внутри команды разработчиков и с клиентами?

Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1

Используй разделители в промпте.

Use Delimiters.

📈 Улучшение - 35%

📈 Корректность - 93.3%

Это почти то же самое, что и предыдущая техника, но в исследованиях она выделяется как отдельная техника.

В этой технике особое внимание уделяется разделению специальных блоков с помощью тройных символов, например кавычек (”””текст”””) или решёток (###текст ###).

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

🤖 Кратко изложи следующий текст в одно предложение:

”””[текст]”””

Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1

Используй фразу: «Действуй пошагово».

Use leading words like writing “think step by step”.

📈 Улучшение - 50%

📈 Корректность - 86.7%

Техника промптинга "step-by-step" (пошагово) предполагает разбиение запроса на последовательные шаги, чтобы упростить решение задачи или улучшить понимание процесса. Этот подход помогает языковым моделям, таким как GPT, более точно и последовательно обрабатывать информацию, особенно в сложных или многоэтапных задачах.

Эту технику часто называют “Цепочка мыслей” (Chain-of-thought, CoT), в которой генерируется цепочка рассуждений, а не только ответов. Чаще всего встречается для решения математических или логических задач.

Усиливается, если добавить “обосновывай каждый свой шаг”.

Как использовать технику

  • Четко определите задачу, которую хотите решить.
  • Сформулируйте промпт, указывая на необходимость думать пошагово.
  • Укажите конкретные шаги или попросите модель их предложить, если не знаете, с чего начать.
  • Адаптируйте промпт под вашу задачу, добавляя или убирая шаги в зависимости от сложности задачи.
  • Think step-by-step на английском вместо “думай пошагово” для корректного понимания модели думать шаг за шагом.

🤖 Резюмируй (название книги, автор). Think step-by-step.

Сначала перечисли все главы книги. Выбери 20% глав, которые кажутся самыми интересными и информативными. Далее составь для каждой главы список наиболее важных выводов по данной теме, которые помогут мне её понять. Эти перечни должны состоять из 4–5 пунктов. Преобразуй ключевую информацию из каждой главы в истории и метафоры, которые помогут её быстрее запомнить. И в завершение напиши список действий, как я могу применить ключевые уроки книги.

🤖 Ты опытный редактор. Я дам тебе текст, который написал. Действуй в два шага.

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

Think step-by-step. Задавай любые уточняющие вопросы, если это необходимо.

Мой текст: (здесь введите ваш текст).

Прорыв в промпт-инженеринге 2024: Как повысить производительность ChatGPT более чем на 100% - Часть 1

Напишите в конце вашего промпта первую фразу «идеального» для вас ожидаемого ответа.

Use output primers, which involve concluding your prompt with the beginning of the desired output

📈 Улучшение - 75%

📈 Корректность - 80%

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

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

Например, “начни свой ответ с фразы…”, “начинай каждый пункт с фразы …”.

🤖 Какие ингредиенты мне понадобятся для приготовления тирамису?Начини каждый пункт с фразы: Ожидаемый список ингредиентов: Для приготовления тирамису вам понадобятся...

🤖 Какие достопримечательности стоит посетить в Париже, если у меня есть только два дня? Я особенно интересуюсь искусством и историей.Начни свой ответ с фразы: Ваш маршрут может начаться с посещения Лувра, затем..."

Спасибо, что дочитали до конца, надеюсь это было полезно для вас!

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

В следующих статьях мы рассмотрим другие техники из исследования.

22
Начать дискуссию