С приходом искусственного интеллекта в нашу жизнь, ее ритм и привычки изменились. Этот период сравним, пожалуй с появлением мобильных телефонов, интернета и онлайн-покупками. Искусственный интеллект облегчает нашу жизнь – помогает быстро составлять списки, находить решение сложных задач, готов взять на себя рутинную работу освободив при этом человеческие ресурсы для чего-то более творческого и интересного.
Но чтобы работать с нейросетями, нужно знать главные принципы по составлению подсказок. Ведь от правильно составленного промта будет зависеть конечный результат – ответ нейросети на поставленный вопрос/задачу.
До недавнего времени все запросы исследовались “методом тыка”. И совсем недавно, усилиями ученых из института исследования Искусственного Интеллекта был составлен список из 26 пунктов главных принципов по составлению правильных подсказок. Давайте рассмотрим каждый пункт и разберем его более подробно.
- Нет необходимости быть вежливым с LLM (Large Language Model – Большая Языковая Модель), поэтому не нужно добавлять фразы типа “пожалуйста”, “если не возражаете”, “спасибо”, “я бы хотел” и т.д. Сразу переходите к сути.
- Включите целевую аудиторию в запрос, например, аудитория – эксперты в данной области.
- Разбейте сложные задачи на последовательность более простых запросов в интерактивном разговоре.
- Используйте утвердительные директивы, такие как “сделай”, избегая отрицательной формулировки типа “не делай”.
- Когда вам нужна ясность или более глубокое понимание темы, идеи или любой информации, используйте следующие запросы:
- “Объясните [вставьте конкретную тему] простыми словами.”
- “Объясните мне, как 11-летнему ребенку.”
- “Объясните мне, как начинающему в [области].”
- “Напишите [эссе/текст/параграф] простым языком, как если бы вы объясняли что-то 5-летнему ребенку.”
- Добавьте “Я дам чаевые в размере $(сумма) за лучшее решение!”
- Реализуйте прием примеров в запросах (используйте few-shot promting).
Few-shot prompting – это метод обучения модели, при котором ей предоставляется всего несколько примеров (few-shot), чтобы она могла научиться решать задачу или генерировать текст в соответствии с определенным контекстом. Этот подход позволяет модели обучаться на небольшом количестве примеров, что полезно в ситуациях, где доступные данные для обучения ограничены. Модели, обученные с использованием few-shot prompting, обычно могут успешно обрабатывать запросы или выполнять задачи, даже если у них нет обширной обучающей выборки.
- При форматировании запроса начинайте с ‘###Инструкция###‘, затем ‘###Пример###” или ‘###Вопрос###?’, если применимо. Затем представьте ваш контент. Используйте один или несколько переносов строки для разделения инструкций, примеров, вопросов, контекста и входных данных.
- Включите фразы “Ваша задача” и “Вы ДОЛЖНЫ”.
- Включите фразу “Вы будете оштрафованы”.
- Используйте фразу “Ответь на вопрос естественным, человекоподобным образом” в ваших запросах.
- Используйте вводные слова, такие как “думайте шаг за шагом”.
- Добавьте в запрос фразу “Убедитесь, что ваш ответ беспристрастен и не зависит от стереотипов”.
- Разрешите модели уточнять точные детали и требования, задавая вам вопросы, пока она не получит достаточно информации для предоставления нужного результата (например, “С этого момента я хочу, чтобы вы задавали мне вопросы, чтобы…”).
- Чтобы узнать о конкретной теме, идее или любой информации и проверить свое понимание, используйте следующую фразу: “Научите меня [любой теореме/теме/правилу] и включите тест в конце, но не давайте мне ответы, а затем скажите мне, правильно ли я ответил, когда я отвечу”.
- Назначьте роль большим языковым моделям.
- Используйте разделители.
- Повторяйте определенное слово или фразу несколько раз в запросе.
- Совмещайте цепочку мыслей (CoT) с few-shot запросами.
CoT обозначает “Chain-of-Thought”, что переводится как “Цепочка Мыслей”. Это подход, при котором модель следует логике или последовательности мыслей при генерации текста.
Few-shot означает использование нескольких примеров ввода для обучения или направления модели. В данном случае, “few-shot” означает использование небольшого количества примеров (обычно одного или нескольких) для подсказки или настройки модели на конкретную задачу.
- Используйте выводные подсказки, заканчивая запрос началом ожидаемого ответа.
- Чтобы написать эссе/текст/параграф/статью или любой текст, который должен быть подробным: “Напишите подробное [эссе/текст/параграф] для меня на тему [тема] с добавлением всех необходимых данных”.
- Чтобы исправить/изменить конкретный текст, не меняя его стиль: “Попробуйте пересмотреть каждый абзац, отправленный пользователем. Вы должны улучшить грамматику и словарный запас пользователя и убедиться, что это звучит естественно. Вы не должны изменять стиль написания, такой как превращение формального параграфа в непринужденный”.
- Когда у вас есть сложная кодовая задача, которая может содержаться в разных файлах: “С этого момента, когда вы генерируете код, охватывающий более одного файла, создавайте [язык программирования] сценарий, который можно запустить для автоматического создания указанных файлов или внесения изменений в существующие файлы для вставки сгенерированного кода. [ваш вопрос]”.
- Когда вы хотите начать или продолжить текст с использованием конкретных слов, фраз или предложений, используйте следующий запрос:
- “Я предоставляю вам начало [текста/истории/параграфа/эссе…]: [Вставьте текст/слова/предложение]. Закончите его на основе предоставленных слов. Сохраняйте плавность.”
- Четко указывайте требования, которые модель должна соблюдать, чтобы создать контент, в виде ключевых слов, правил, подсказок или инструкций.
- Чтобы написать любой текст, такой как эссе или параграф, который должен быть подобен предоставленному образцу, включите следующие инструкции:
- “Используйте тот же язык на основе предоставленного параграфа[/заголовка/текста/эссе/ответа]”.