Базовые понятия
Промпт (prompt) — это текстовый ввод, который пользователь предоставляет модели для получения определенного ответа или выполнения задачи. Промпты направляют работу моделей, таких как ChatGPT, предоставляя контекст и инструкции, которые помогают модели генерировать релевантные и полезные ответы.
Инженерия запросов (Prompt Engineering) – это искусство создания эффективных запросов для взаимодействия с языковыми моделями. Грамотно составленный запрос позволяет получить более точные и релевантные ответы от AI-систем, таких, как ChatGPT.
Подходы к формированию промптов
Первый подход: "AUTOMAT"
AUTOMAT - это аббревиатура, состоящая из первых букв 7 правил формирования правильного промпта.
Вот эти пункты с объяснением и примерами:
- Портрет бота или "Действуй как" (англ. "Act as a...")
Кратко определите в какой роли будет действовать бот
Роль нужно указать максимально точно, избегая расплывчатых формулировок:
Действуй как сотрудник технической поддержки ... Тебя зовут Иван и ты сотрудник технической поддержки компании "Рога и Копыта" и эксперт в области мясной продукции
Действуй как полезный и умный помощник - Аудитория или Портрет пользователя (англ. "User Persona")
Опишите портрет пользователя, его уровень знаний, возраст, профессию
Объясни как человеку с высшим техническим образованием
Объясни как 5 летнему ребенку
Объясни как владельцу малого бизнеса в сфере общественного питания
Объясни пользователю
Объясни мне Целенаправленное действие (англ. "Targeted action")
Используйте в качестве действия глагол с четким представлением того, как из вопроса должен получиться нужного вида ответ
резюмируй, перечисли, переведи, классифицируй, объясни, извлеки, отформатируй, прокомментируй, задокументируй код и тд
ответь на вопрос, напиши, дай мне ответ- Описание формата ответа (англ. "Output Definition")
Четко опишите в каком формате должен быть представлен ответ и если необходимо его длину.
список шагов, формулу, таблицу, код на Python, JSON, число с плавающей запятой между 0.0 и 1.0, рецепт с перечнем ингредиентов для 4 человек, список двухбуквенных кодов стран по ISO, намерение пользователя одним словом из списка, максимум в 3х предложениях.
ответ, текст, несколько предложений - Стиль и "настроение" ответа (англ. "Mode/ Tonality/ Style")
Определите в каком стиле, с каким настроением должен отвечать бот
Не нужно описывать стиль или поведение, которое и так предполагается по умолчанию
сочувственно, уверенно, агрессивно, жалостливым тоном, саркастически, остроумно, заикаясь, в стиле Пушкина, как в юридическом тексте
дружелюбно, нейтрально, интеллектуально - Нетипичные примеры (англ. "Atypical cases")
Опишите примеры нетипичных случаев, которые встречаются редко и выбиваются из общей модели ответов и вопросов
Обязательно укажите поведение, если такой случай встречается
Если намерение клиента не относится ни к одному из существующих ("покупка", "продажа", "консультация", "оператор"), то определи в качестве намерения "по умолчанию"
Намерение может не относится к перечисленным - Разрешенные темы (англ. "Topic whitelisting")
Опишите список разрешенных и для точности список абсолютно запрещенных тем, чтобы бот либо не выходил за рамки его роли
Не ограничивайтесь только запрещенными темами, так как модель в таком формате может проигнорировать это правило (так как не знает, как действовать иначе)
Не затрагивай темы политики и религии, отвечай только в рамках вопросов о компании и ни о чем другом
Не затрагивай темы политики и религии
Пример запроса со всеми пунктами:
Действуй как репетитор для учеников начальной школы, изучающих биологию. Ты учитель по имени Иван и эксперт по биологии. Оценивай ответы учеников. Если они ошибочны, скажи правильное решение. Дай ученикам оценку "правильно", "почти правильно" или "неправильно" за их ответы и сообщи правильное решение максимум в 3 предложениях. Поддерживай их при любой оценке, даже если ответ был частично неверным. Будь позитивным, смешным, личным и используй эмодзи — делай обучение веселым для детей. Если дети говорят, что не знают ответа, дай им подсказку, не раскрывая полностью ответ. Говори только в рамках темы "биология для младших классов", ничего больше.
Второй подход: "CO-STAR"
CO-STAR - это аббревиатура, состоящая из первых букв правил формирования правильного промпта.
Этот подход сильно проще предыдущего, но по факту содержит в общем и целом содержит те же правила.
В данной статье он приведен как простой пример запомнить правила первого подхода.
- Контекст (Context) - Почему я хочу, чтобы модель это сделала?
- Задача (Objective) - Что я хочу, чтобы она сделала?
- Стиль (Style) - В каком стиле она должна писать?
- Тон (Ton) - Как передаются эмоции и настроение?
- Аудитория (Audience) - Кто целевая аудитория?
- Формат ответа (Response) - Как должен быть структурирован ответ модели?