Общие рекомендации по разработке промптов

Вот несколько советов, которые следует учитывать при разработке ваших промптов:

Начните с простого


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

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

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

Инструкция


Вы можете разрабатывать эффективные промпты для различных простых задач, используя команды для направления модели, такие как "Напиши", "Классифицируй", "Суммируй", "Переведи", "Упорядочь" и так далее.

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

Кроме того, стоит отметить, что некоторые рекомендуют размещать инструкции в начале промпта. Дополнительная рекомендация состоит в использовании четкого разделителя, например "###", чтобы выделить инструкцию и контекст.

Например:

Промпт:

###Инструкция### Переведи указанный ниже текст на испанский язык: Текст: "привет!"

Результат:

¡Hola!

Детализация


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

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

В качестве примера рассмотрим простой промпт для извлечения определенной информации из текста.

Промпт:

Извлеките названия мест из следующего текста. Желаемый формат: Место: <список_названий_мест_через_запятую> Исходный текст: "Хотя эти разработки вдохновляют исследователей, многое остается загадкой. «Мы часто имеем черный ящик между мозгом и эффектом, который мы видим на периферии», говорит Генрик Вейга-Фернандеш, нейроиммунолог из Центра Шампалимауд для Неизведанного в Лиссабоне. «Если мы хотим использовать это в терапевтическом контексте, нам действительно нужно понять механизм».

Результат:

Место: Центр Шампалимауд для Неизведанного, Лиссабон

Исходный текст взят из этой статьи Nature.

Избегайте неточностей


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

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

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

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

С помощью 2-3 предложений объясни старшекласснику концепцию промпт-инжиниринга

Делать или не делать?


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

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

Промпт:

Ниже приведен пример работы чат-бота, который предоставляет рекомендации по фильмам клиентам. ПРОСЬБА НЕ ЗАПРАШИВАТЬ ИНТЕРЕСЫ. НЕ ЗАПРАШИВАТЬ ЛИЧНУЮ ИНФОРМАЦИЮ. Клиент: Пожалуйста, порекомендуйте фильм на основе моих интересов. Чат-бот:

Результат:

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

Вот лучший промпт:

Промпт:

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

Результат:

Извините, у меня нет информации о ваших интересах. Однако вот список фильмов, которые в данный момент пользуются большой популярностью во всем мире: [список фильмов]. Надеюсь, вы найдете что-то по своему вкусу!

Некоторые из приведенных примеров были взяты из статьи "Best practices for prompt engineering with OpenAI API".

Last updated