Запрос на ввод данных

Когда мы работаем с большими языковыми моделями, мы обычно создаем набор правил в подсказке, которым мы хотим, чтобы эти модели следовали. Эти правила влияют на вывод модели и, по сути, программирование ее поведения.
ПРИМЕЧАНИЕ
Этот курс находится в стадии интенсивной разработки. Мы прилагаем все усилия, чтобы улучшить процесс обучения и добавить больше контента. Если у вас есть какие-либо предложения, пожалуйста, дайте нам знать!
Одна из проблем, с которой мы сталкиваемся, - как заставить модель не реагировать мгновенно на все правила?

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

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

Однако иногда это правило не всегда соблюдается. Рассмотрим пример: ранее я показал паттерн альтернативных подходов и, когда сочетал его с паттерном просьбы о помощи, он работал эффективно. Теперь я покажу вам, как это выглядит, когда я не использую паттерн "попросить ввод". Я просто попросил вас предоставить мне подсказку для решения задачи, перечислить альтернативные подходы и написать подсказку для каждого подхода. Я прошу ChatGPT предложить множество альтернативных подходов для стимулирования его решения задачи. Это связано с предыдущей идеей, где я использовал ChatGPT для генерации подсказок, помогающих нам разрабатывать подходы. Я использую этот подход, но с важным изменением, которое я покажу вам через минуту.
Мысль заключается в том, чтобы просто сделать одну простую вещь - в конце подсказки мы говорим большой языковой модели запросить следующий ввод.

В данном случае мы указываем: "Спроси меня о первой задаче". Затем мы описываем все правила или то, что мы хотим, в нашей подсказке, и в конечном итоге говорим: "Теперь спроси меня о первой задаче, первой идее или о первом предмете, по которому ты хочешь, чтобы я создал историю - что угодно". Это способ отсечь большую языковую модель и сказать ей: "Не нужно генерировать множество разных вещей. Я ценю твои возможности, но я хочу, чтобы ты остановилась здесь и спросила меня, что я хочу делать дальше".

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

Если мы сравним вывод, мы увидим, что он становится более фокусированным. В данном случае модель отвечает: "Конечно, давайте начнем. Для какой первой задачи вы хотели бы, чтобы я создал альтернативные подходы и подсказки?" Вместо продолжения предыдущей длинной фразы, которая не была полезной для нашей задачи, она была обрезана. Обратите внимание, что это тот же самый ввод, но модель его обрывает и говорит: "Подождите, вам нужно остановиться здесь и дождаться моего ответа".

Будьте в курсе последних лайфхаков в Prompt Engineering и осваивайте навыки общения с ChatGPT и ИИ

Получайте бесплатные шпаргалки по ChatGPT и новые интересные статьи о том как управлять ChatGPT