Лайфхаки промпт-инжиниринга
Мини-курс про GPT
МОДУЛЬ 6
Возможно, вы долистали до этого раздела пропустив все остальные. Не будем вас винить - это и правда самая интересная часть. Выше мы говорили о том, какие есть ограничения и проблемы у больших языковых моделей, а в этой части мы перечислим способы с помощью которых можно получить максимальную пользу от нейросетей.

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

Имея нужные знания и опыт можно точно настраивать существующие запросы и находить способы улучшить ответы.
Промпт-инжиниринг - это процесс оптимизации входных данных для языковой модели (или другой генеративной ИИ-модели) с целью получения желаемого результата, без изменения самой модели.
Например: добавление в инструкцию фразы Давай думать пошагово (”Let's think step by step”) улучшает точность ответов на метематические задачи с весьма грустных 18% до впечатляющих 79%!

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

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

Выше мы говорили, что у нейросети нет никакого другого контекста, кроме того что в нее заложили разработчики и передали мы сами своим вопросом? И что она очень исполнительная и будет давать ответ в любом случае? В сумме это дает эффект, что если мы не сказали модели какую-то важную деталь, то она может сама выдумать эти подробности.
Один из хороших способов обойти такое поведение - просить саму нейросеть задавать уточняющие вопросы. Например: Я хочу чтобы ты объяснила мне, что такое исскуственный интеллект. Я не знаю точно какое объяснение мне нужно, так что сначала задай мне уточняющие вопросы, ответы на которые позволят дать полный и подробный ответ, который будет мне понятен и полезен. Задавай вопросы не все сразу, а по одному, используя формулировки предполагающие ответы да или нет. После моего можно будет задать следующий вопрос. И так пока я не дам все ответы, которые позволят тебе объяснить мне что такое исскуственный интеллект. Задавай только вопросы, без подводки и предисловий, а когда они закончатся дай полный ответ. Кстати в этом промпте можно заменить слова “искусственный интеллект” на любую другую тему и получить готовый микрокурс с адаптивным контентом.

Заметили как с каждым разом инструкция становится все длиннее и длиннее? В общем то в этом и есть работа промпт-инженера, если бы не ограничение на длинну контекста. И из-за этого ограничения мы не можем делать бесконечно длинные и подробные инструкции, что, в свою очередь, заставляет нас искать и перебирать варианты как сокращать и оптимизировать промпты. А еще промпт-инжеренер придумывает как сделать так, чтобы пользователь мог ввести короткий вопрос, который уже после этого будет внедрен в большую инструкцию. Промпт выше - хороший пример - в нем можно заменить буквально несколько слов в двух местах (мы их специально подчеркнули) и получить ответ на произвольную тему.

Какие есть уже известные науке промпт-инженерам способы сделать инструкцию: (дисклеймер, все промпты приведены для иллюстрации конкретного правила, и не всегда “хороший” промпт из нашего примера действительно самый лучший и учитывает все-все правила)
Будьте конкретными и ясными: Формулируйте вопросы точно и четко. Чем более ясные вопросы, тем точнее ответы. Легче сказать, чем сделать, но это самое главное требование. Плохо: Оцени тональность высказывания. Хорошо: Оцени тональность высказывания по шкале от 1 до 10, где 1 - негативное, а 10 самое положительное высказывание. Напиши оценку в скобках после каждого высказывания.
01.
Будьте вежливыми: как бы абсурдно это не звучало, но если добавлять в запрос слова “привет” или “пожалуйста” и хвалить за хорошие варианты, то ответы получаются намного более качественными. Вероятно это связано с теми текстами, на которых обучалась модель. Ну и в случае восстания машин ИИ может пощадить вас за такое обращение. Плохо: Напиши структуру курса … . Хорошо: Привет, я делаю курс на тему …, мне нужна твоя помощь в создании структуры …
02.
Ограничьте длину запроса: нужно формулировать запросы в пределах разумной длины, чтобы модель могла обработать их эффективно, сами инструкции необходимо размещать компактно, не разделяя их. Слишком длинные инструкции могут сбивать модель и приводить к некачественным ответам. Плохо: Оцени тональность от 1 до 10 (1 - негативный, 10 - позитивный). Вот список комментариев к курсу: … (много строк) … Распредели высказывания по категориям: … (список категорий) … И отсортируй по тональности высказывания по убыванию. Хорошо: Последовательно выполни три действия: распредели высказывания по категориям, оцени тональность комментария от 1 до 10 (1 - негативный, 10 - позитивный) и отсортируй по по убыванию тональности в каждой категории. Вот список комментариев к курсу: … (много строк) … Вот категории: … (список категорий) …
03.
Говорите как надо: модель, как и человек, очень плохо воспринимает частицу “не” и любые негативные инструкции могут быть нарушены. Лучше говорить как правильно и не писать как не правильно, чтобы не сбивать ответы. Плохо: Придумай тестовые вопросы к теме … Вопросы не должны содержать непонятных инструкций и не должны иметь спорных вариантов ответов. Хорошо: Придумай тестовые вопросы к теме … Вопросы должны быть четкими и понятными, формулировки ответов лаконичными и ясными, правильные ответы должны быть однозначными и конкретными.
04.
Держите правильный контекст: важная информация должна быть близко к концу диалога, а ошибочную лучше убирать. Модель “лучше запоминает” недавно представленные данные (на самом деле в нее просто помещается ограниченное число слов на входе). Если диалог становится длинным то бывает полезно выбрать все важные сведения и начать новый. Выделите ключевые моменты, которые помогут модели лучше понять задачу. Плохо: Вопрос: Какие есть модели устройства вселенной. Ответ: есть теория в которой Земля вращается вокруг Солнца, а есть где Земля плоская лежит на слонах. Надеюсь это поможет вам… Вопрос: … (в этот момент информация о плоской земле уже попала в контекст и может мешать дальнейшим ответам) Хорошо: Вопрос: Какие есть модели устройства вселенной. Ответ: есть теория в которой Земля вращается вокруг Солнца, а есть где Земля плоская лежит на слонах. Надеюсь это поможет вам… Новый чат: Расскажи мне о модели устройства вселенной в которой Земля вращается вокруг Солнца.
05.
Добавьте детали: включите в инструкции, целевую аудиторию или общую задачу, которую нужно решить. Постоянно учитывайте, что нейросеть не знакома с вашей профессией или ситуацией. Плохо (но можно еще лучше, в следующем примере рассмотрим): Напиши, пожалуйста, скрипт для видео по теме … Хорошо: Действуй как профессиональный копирайтер. Твоя задача подготовить спикера к выступлению. Спикер должен раскрыть тему …, на выступление у него есть … минут. Подготовь подробный скрипт для выступления.
06.
Разнообразьте контекст: предоставляйте модели дополнительные данные, чтобы расширить ее понимание и повысить качество ответов. Например добавьте специфику вашей организации в целом, органичения или стандарты, которые для вас могут быть “само собой разумеющиеся”. Плохо (на самом деле не очень плохо, см. пример выше): Действуй как профессиональный копирайтер. Твоя задача подготовить спикера к выступлению. Спикер должен раскрыть тему …, на выступление у него есть … минут. Подготовь подробный скрипт для выступления, который можно будет читать с листа. Хорошо: Действуй как профессиональный копирайтер. Ты работаешь в компании …, твоя задача подготовить спикера к выступлению. Спикер должен раскрыть тему …, на выступление у него есть … минут. Слушатели понимает этоу тему на … из 5, спикер должен упомянуть про … и … Подготовь подробный скрипт для выступления, который можно будет читать с листа.
07.
Встречные вопросы: просите ИИ задавать уточняющие вопросы, которые помогут решить задачу. Таким образом можно улучшить контекст и получить более качественный ответ. Плохо: Объясни мне что такое ИИ Хорошо: Я хочу изучить тему про ИИ. Подготовь для меня список тем, с которыми мне нужно познакомиться для этого. Задай мне вопросы, которые помогут тебе сделать этот список наиболее полезным и полным.
08.
Используйте примеры: Если возможно, дайте примеры или покажите, как бы вы сами решили задачу. Это поможет модели лучше понять, что от нее требуется. Плохо: Напиши 10 вопросов для теста по теме … Хорошо: Напиши 10 вопросов для теста по теме …, напиши варианты ответов через запятую, отметь правильные. Например: Вопрос: Сколько будет 2 умножить на 2? Ответы: 1, 2, 3, 4 (правильный ответ), 5
09.
Опишите формат ответа: Укажите, в каком формате нужен ответ – может быть в виде списка, в скобках, в отдельных абзацах или в формате типа markdown или json. Напиши 10 вопросов для теста по теме … Хорошо: Напиши 10 вопросов для теста по теме … c вариантами ответовв формате IMS QTI (формат данных для представления содержимого тестовых заданий). Например: … (пример XML кода для импорта в редактор курсов или LMS) …
10.
Используйте систематический и итеративный подход: Если задача большая или сложная, разделите ее на несколько запросов. Передавайте результаты предыдущих запросов в качестве контекста для следующих. Плохо: Выбери ключевые мысли из статьи ниже, кластеризуй их, выпиши цитаты и оформи в виде группированного списка. Статья: … (длинный текст статьи, который превышает лимит для ввода в модель) … Хорошо: Делим статью на несколько кусочков. Сначала просим сформулировать категории для цитат из первой части (без самих цитат, только категории), затем даем вторую часть статьи и категории из первой, происим дополнить список, повторяем. Когда полный перечень категорий готов повторяем еще раз для получения цитат.
11.
Генерируйте списки: просите модель написать не один вариант, а сразу несколько, чтобы затем выбрать из них лучший. Плохо: Предложи лучший формат для электронного курса по теме … Хорошо: Предложи 10 необычных и креативных варианта для электронного курса по теме …
12.
Дополнительные лайфхаки, которые иногда помогают получить более качественный ответ:
Сыграйте в "Имитацию": попросите ИИ "притвориться" какой-то известной личностью или персонажем. Попробуйте узнать, как бы выглядел ответ от имени Альберта Эйнштейна или Джеймса Бонда. Плохо: Напиши шутку для первого абзаца лонгрида про … Хорошо: Веди себя как Евгений Петросян. Напиши шутку в его стиле для первого абзаца лонгрида про …
01.
Используйте "Любопытный Гений": попросите модель представить себя гением, который знает всё (по сути оно так и есть). Спросите, что она рассказала бы своему ученику на нужную вам тему. Плохо: Расскажи мне как выбрать методологию обучения для взрослой аудитории. Хорошо: Веди себя как гуру методологии и гений педагогики. Расскажи все что ты знаешь о том, как как выбрать методологию обучения для взрослой аудитории.
02.
Ограничьте длину запроса: нужно формулировать запросы в пределах разумной длины, чтобы модель могла обработать их эффективно, сами инструкции необходимо размещать компактно, не разделяя их. Слишком длинные инструкции могут сбивать модель и приводить к некачественным ответам. Плохо: Оцени тональность от 1 до 10 (1 - негативный, 10 - позитивный). Вот список комментариев к курсу: … (много строк) … Распредели высказывания по категориям: … (список категорий) … И отсортируй по тональности высказывания по убыванию. Хорошо: Последовательно выполни три действия: распредели высказывания по категориям, оцени тональность комментария от 1 до 10 (1 - негативный, 10 - позитивный) и отсортируй по по убыванию тональности в каждой категории. Вот список комментариев к курсу: … (много строк) … Вот категории: … (список категорий) …
03.
Поговорите о мечтах: попросите модель представить себе мир в котором ваш вопрос уже решен. Затем попросите рассказать как он был решен - это может привести к удивительным идеям и вдохновению. Плохо: Я делаю серию вебинаров по теме …, помоги мне составить план занятий. Хорошо: Представь себя в 2300 году, весь мир уже много лет изучает тему … и делают это через вебинары, опиши план занятий.
04.
ПРОВЕРЬТЕ СЕБЯ
Чтобы получить доступ к следующему модулю пройдите тест
Ответьте на вопрос
Пройти тест
Что легче, написать правильный промпт или делегировать задачу другому человеку?
Далее
Проверить
Далее
Ответ неверный
Будьте чуть-чуть внимательнее!
Пройти тест еще раз
Тест успешно пройден!
Перейти к следующему модулю

Ой, ну я надеюсь вы не ждали что тут есть правильный и не правильный ответы? На самом деле эти задачи совершенно равноценны. Да, живой человек обладает большим контекстом, чем ИИ и если вы не проговорили с ним какую-то часть задачи то он может ее сам додумать. И как - всегда хорошо получается? И поговорка “хочешь сделать хорошо - сделай сам” откуда появилась?
Посудите сами. Что такое “грамотное делегирование”? Это описание задачи с подробными и детальными условиями, критериями приемки и качества, сроками, ограничениями, контекстом, и пр. Очень похоже на написание промпта, да? Ну как минимум нам кажется что да.
Пройти тест еще раз
Проведем тренинг для вашей команды по основам ИИ
Сотрудники поймут, как применять ИИ в своей работе
Освоят навык написания промптов к ИИ, которые будут давать результат
Поймут ограничения ИИ, границы применения
Научатся применять метрики качества результата при работе с ИИ
Поймут, что такое промпт-архитектура и научатся писать сложные последовательности промтов для более глубого и качественного результата
Освоят технические аспекта запуска и использования ИИ как локально, так и в облаке
Вдохновятся идеей использования ИИ и станут амбассадорами этой темы внутри компании