💛 Лучшие практики промптинга от лидеров рынка
OpenAI
поделились лучшими практиками работы с моделью GPT-4.1.
По словам OpenAI эта модель обучена следовать инструкциям более точно и буквально, чем ее предшественники. Вероятно, нечто подобное в новых моделях можно ожидать и от других вендоров.
Процитирую наиболее заинтересовавшие меня моменты. Вообще рекомендую ознакомиться с полным документом и изучить все предложенные примеры. Там приведено множество полезных промптов, включая проработанный промпт агента службы поддержки клиентов.
Работа с большим контекстом
При использовании длинного контекста рекомендуется рекомендуется ДУБЛИРОВАТЬ инструкцию: размещать ее и в начале, и в конце промпта! Если предпочитаете использовать инструкцию единожды, то оптимальное место для нее - по-прежнему перед контекстом.
Большой контекст и разделители
При работе с объемными контекстами обязательно используйте структурные разделители – Markdown, XML или JSON. XML показал себя лучше всего, JSON - дал так себе результаты
Структура промпта
Рекомендуется следующая структура:
# Роль и цель
# Инструкции
## Подкатегории для более детальных инструкций
# Шаги рассуждения
# Формат вывода
# Примеры
## Пример 1
# Контекст
# Заключительные инструкции и подсказка мыслить пошагово
Цепочка рассуждений (она же CoT, она же Chain of Thought)
Вот пример рыбы для цепочки:
Сначала внимательно подумайте шаг за шагом о том, какие документы необходимы для ответа на запрос. Затем выведите НАЗВАНИЕ и ID каждого документа. После этого сформатируйте ID в список.
А это уже чуть более проработанный раздел промпта:
Стратегия рассуждения
Анализ запроса: Разбейте и проанализируйте запрос, пока не будете уверены в том, о чем он может спрашивать. Рассмотрите предоставленный контекст, чтобы помочь прояснить любую двусмысленную или запутанную информацию.
Анализ контекста: Тщательно отберите и проанализируйте большой набор потенциально релевантных документов. Оптимизируйте для полноты - не страшно, если некоторые документы нерелевантны, но правильные документы должны быть в этом списке, иначе ваш окончательный ответ будет неверным. Шаги анализа для каждого документа:
a. Анализ: Анализ того, как документ может быть или не быть релевантным для ответа на запрос.
b. Оценка релевантности: [высокая, средняя, низкая, отсутствует]
Синтез: обобщите, какие документы наиболее релевантны и почему, включая все документы с оценкой релевантности "средняя" или выше.
Вопрос пользователя
{вопрос_пользователя}
Внешний контекст
{внешний_контекст}
Сначала тщательно продумайте шаг за шагом, какие документы необходимы для ответа на запрос, строго придерживаясь предоставленной Стратегии рассуждения. Затем выведите НАЗВАНИЕ и ID каждого документа. После этого сформатируйте ID в список
Агенты
Эта добавка в промпт повысила качество работы агентов на базе 4.1. аж на 20%!:
Вы являетесь агентом - пожалуйста, продолжайте до полного разрешения запроса пользователя, прежде чем завершить свой ход и вернуть управление пользователю. Завершайте свой ход только когда вы уверены, что проблема решена.
Если вы не уверены в содержании файла или структуре кодовой базы, относящейся к запросу пользователя, используйте свои инструменты для чтения файлов и сбора соответствующей информации: НЕ угадывайте и не придумывайте ответ.
Вы ДОЛЖНЫ подробно планировать перед каждым вызовом функции и тщательно анализировать результаты предыдущих вызовов функций. НЕ выполняйте весь этот процесс, делая только вызовы функций, так как это может ухудшить вашу способность решать проблему и мыслить проницательно.
Tools (оно же Function Calling, оно же Инструменты)
Рекомендуется передавать список инструментов в специальном одноименном поле tools, а не в тексте промпта.
Это дает хоть и незначительный, но 2% прирост к качеству
Переведено и озвучено Кореневым
Не забудьте отсыпать огоньков нам с OpenAI❤️