Технологии

Что такое промпт-инжиниринг

Не профессия и не тайное знание, а пять приёмов, дающих основной эффект. Показываем их на примерах «до и после» и называем то, что не работает.

Промпт — это весь текст, который уходит в модель: инструкция, вопрос, приложенные данные. Промпт-инжиниринг — подбор формулировки, при которой модель делает то, что нужно. Термин раздут до профессии, хотя содержательно это несколько приёмов, и почти весь эффект дают пять из них.

#Пять приёмов, которые дают основное

1. Назовите роль, задачу и формат ответа отдельно.

Было: «Разбери это письмо». Стало: «Ты помощник по разбору входящей почты. Из письма ниже извлеки: отправителя, требуемое действие, крайний срок. Ответь тремя строками вида поле: значение. Если поля нет — напиши не указано».

Второй вариант выигрывает не вежливостью, а тем, что в нём указано, что делать с отсутствующими данными. Без этого модель придумает срок.

2. Дайте два-три примера правильного ответа. Это работает лучше любого описания формата — подробнее в справке про few-shot и zero-shot.

3. На задачах в несколько шагов попросите шаги. Формулировка «сначала выпиши исходные данные, потом посчитай, потом дай ответ» заметно поднимает долю верных решений на арифметике и логике; механика — в справке про цепочку рассуждений.

4. Задайте критерий хорошего ответа и запреты. «Ответ не длиннее пяти предложений. Не используй слово „решение“. Если данных не хватает — задай один уточняющий вопрос вместо ответа».

5. Разбейте один большой запрос на два. Модель хуже справляется с «извлеки, проверь, отформатируй и оцени» за один проход, чем с двумя последовательными вызовами. Это дороже по токенам и надёжнее по результату.

Приём Что чинит Когда не помогает
Роль, задача, формат расплывчатые ответы если модель не знает предмета
Примеры неверный формат если примеры противоречат друг другу
Шаги ошибки в счёте и логике на простых вопросах — только удорожает
Критерий и запреты многословие, лишние вставки при слишком длинном списке запретов
Разбиение на вызовы смешение подзадач когда нужен один связный текст

#Где путают

Заблуждение первое: существуют «магические» формулировки. Обещания вознаграждения, угрозы, «ты эксперт мирового уровня», «дыши глубже» — из этого ряда устойчиво работает только уточнение роли, и работает оно потому, что сужает стиль, а не потому, что мотивирует модель. Мотивации у неё нет.

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

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

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

#Частые вопросы

#С чего начать, если ответы модели не устраивают?

С формата и с обработки неизвестного. Две фразы — «ответь в таком-то виде» и «если данных нет, напиши „не указано“» — снимают большую часть жалоб на «модель выдумывает и растекается».

#Нужно ли писать промпт на английском?

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

#Помогает ли вежливость?

На результат — практически нет. На читаемость промпта для вас и коллег — да. Тратить на неё токены в системном промпте, который уходит с каждым запросом, смысла мало.

#Чем промпт отличается от системного промпта?

Системный промпт — это постоянная часть инструкции, которая подставляется в каждый запрос до вашего сообщения. Разница в роли и в судьбе: ваш вопрос живёт один раз, системная инструкция — всегда. Подробности — в справке про системный промпт.

Остальные термины — в глоссарии терминов ИИ.

Хотите ИИ, который помнит вас?

Persona держит контекст между чатами и работает на вашем железе — если развернуть её у себя и подключить локальную модель.

Создать аккаунт