«Этот (ИИ) был доменом только для программистов. Теперь все программисты». — Дженсен Хуанг, генеральный директор и президент NVIDIA.

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

Какие проблемы решает Prompt Engineering?

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

Что такое разговорный ИИ и оперативное проектирование?

Прежде чем мы сможем рассмотреть оперативную инженерию, нам нужно понять диалоговый ИИ. Разговорный ИИ — это тип большой языковой модели (LLM), который может читать, понимать и генерировать текст почти как человек. Это упрощает взаимодействие с ИИ и не требует технических знаний. Мы взаимодействуем с ИИ, давая ему подсказку. Подсказки могут быть задачами, вопросами или даже генеративными запросами, такими как просьба к ИИ написать стихотворение. ИИ читает ваш текст и расставляет слова по порядку, чтобы понять его. Точно так же ИИ помещает слова в последовательность, чтобы сгенерировать ответ. Как мы знаем, у ИИ могут возникнуть трудности с пониманием вашего запроса, что приведет к ответу, который либо не соответствует вашему предполагаемому результату, либо неоптимален для ваших нужд. Вот здесь-то и вступает в действие оперативное проектирование. Быстрое проектирование предполагает предоставление ИИ соответствующего контекста или информации для улучшения качества его реакции. Чем яснее и точнее будет ваш запрос, тем больше вероятность того, что ИИ даст вам нужный ответ. Простым примером может быть, если я спрошу ChatGPT, диалоговый ИИ от OpenAI, об автомобильных фарах, сказав:

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

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

Пять быстрых инженерных стратегий

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

«В столовой было 23 яблока. Если они использовали 20 яблок, чтобы приготовить обед, и купили еще 6, сколько яблок у них осталось?»

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

«Изначально в столовой было 23 яблока. Они использовали 20, чтобы сделать обед. Итак, у них было 23–20 = 3. Они купили еще 6 яблок, поэтому у них 3 + 6 = 9. Ответ: 9».

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

Отзыв – это многоэтапный процесс, похожий на игру "горячее или холоднее" с ответом ИИ. Допустим, мы просим ИИ выполнить задачу, и он дает точный ответ, но не совсем в той формулировке, которую мы хотели. Таким образом, мы можем попросить ИИ восстановить ответ. Если он регенерирует лучший ответ, мы говорим ему, что новый ответ был лучше, и ИИ запомнит это для будущего использования в разговоре. Если новый ответ был хуже, ИИ попытается улучшить или изменить свой ответ по сравнению со старым ответом.

Отрицание в подсказке. Отрицание включает в себя указание того, что вы не имеете в виду в своем приглашении. Допустим, мы хотели узнать больше о здании под названием Spaceship, принадлежащем Apple. Если запрос не ясен, модель может ответить: «Apple делает свой собственный космический корабль, который может летать к звездам». В этом случае мы явно сообщаем ИИ, что не используем транспортное средство для космических путешествий. В этом случае мы можем сузить круг возможных «космических кораблей», принадлежащих Apple, до здания.

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

Хорошая структура подсказки может включать инструкцию, входные данные или контекст, а также индикатор вывода. Блог OpenAI рекомендует разделять части с помощью простых идентификаторов, таких как «--» или «###». Инструкционная часть — это цель или задача, которую мы хотим, чтобы ИИ выполнил. Предположим, у нас есть несколько вопросов, на которые мы хотим, чтобы ИИ ответил. Мы бы объединили эти вопросы под флагом «--вопросы--». Наша инструкция может звучать так: «Ответьте на вопросы в——вопрос——». Входные данные — это любой контекст, который мы хотим, чтобы наш ИИ понял, прежде чем приступать к нашей задаче. Наш выходной индикатор — это формат, в котором мы хотим, чтобы ИИ дал нам ответ. Например, я могу попросить ИИ написать рассказ о пингвинах и вывести каждое слово на отдельной строке, например: «Формат вывода: напечатать каждое слово рассказа на отдельной новой строке». Структурируя наши подсказки и используя флаги для организации информации, мы можем помочь ИИ более точно и эффективно понять наши цели.

Что Prompt Engineering даст мне как студенту?

Студенты находятся на том этапе своей жизни, когда они изучают материал, который определит их карьеру и будущий опыт. Если я, будучи студентом, чего-то не понимал, то сначала шел к своему профессору или своему учебнику. Однако из-за высокого соотношения студентов и преподавателей один студент может не получить четкого понимания понятий, которые объясняет профессор. Частный репетитор был бы хорошей, но дорогостоящей статьей расходов, которую люди могут себе позволить. Разговорный ИИ станет для студентов гораздо более доступным и личным ресурсом, который они смогут использовать для ускорения обучения. Они могут задавать вопросы чат-боту и уточнять свое понимание, задавая подсказки ИИ, например: «Правильно ли мое понимание следующего для (вставьте тему): использование … для всех людей». Учащиеся смогут уточнить свои навыки и понимание, пока не почувствуют, что тема им нравится. Предоставляя ИИ для разговора проблемы, к которым он подготовился, в качестве контекста, учащийся может задать любой тип проблемы, к которому он не был готов. Быстрая разработка позволяет ИИ стать более персонализированным для нашей работы и жизни в качестве инструмента, который мы можем использовать, чтобы сделать больше для общества и самих себя.

20 лет назад мы научились искать информацию с помощью поисковых систем, таких как Google. Быстрое проектирование — это новый способ изучения знаний, закодированных этими мощными моделями, и я очарован возможностями этих моделей. Я планирую провести дополнительные исследования и поделюсь с вами результатами в следующих статьях.