Промпт-инжиниринг — это практика разработки, проверки и доработки инструкций, которые даются большой языковой модели (LLM), чтобы она надёжно выдавала нужный вам результат. Слово «инжиниринг» здесь важно: цель — не один хороший ответ, а одинаковое качество ответа при каждом запуске промпта.
Рабочее определение
Промпт — это всё, что модель получает, прежде чем начать писать: инструкции, фон, примеры, документы и сам вопрос. Промпт-инжиниринг — это решение о том, что входит в этот ввод и как он устроен.
Он включает три вида деятельности:
- Уточнение задачи, чтобы ничего важного не оставалось на догадку.
- Предоставление контекста, которого у модели нет: ваши данные, ваша аудитория и ваши ограничения.
- Измерение результата и изменение промпта на основе фактов, а не интуиции.
Как работает промпт-инжиниринг
Языковая модель предсказывает следующий токен по уже увиденным токенам. У неё нет доступа к вашему замыслу, только к вашему тексту. Отсюда два следствия.
Всё, что вы опустили, будет дополнено. Попросите «короткое резюме», и модель сама выберет длину, аудиторию и формат. В следующий раз она выберет иначе. Большая часть нестабильных ответов вызвана решением, которое промпт так и не принял.
Положение и структура несут смысл. Модель воспринимает заголовок, разделитель или пример как сигнал о том, какой текст последует дальше. Отделение инструкций от данных и демонстрация формы желаемого ответа меняют предсказание сильнее, чем добавление прилагательных.
Вот один и тот же запрос, написанный двумя способами.
Summarize this report.
Summarize the quarterly sales report below for the EMEA leadership team.
Write 5 bullet points covering revenue by country and the change from
last quarter. Return a markdown list.
<report>
{{report}}
</report>
Вторая версия называет аудиторию, длину, содержание и формат и отмечает, где данные начинаются и заканчиваются. В ней нет ничего хитрого. Она просто принимает решения, которые первая версия оставила открытыми.
Почему промпт-инжиниринг важен
Надёжность. Программе, которая вызывает модель, нужен предсказуемый вывод. Промпт, возвращающий JSON в девяти случаях из десяти, ломает десятый запрос.
Стоимость. Модели оплачиваются по токенам. Промпт, который повторяется или несёт ненужный контекст, обходится дороже при каждом вызове. О том, как это измерить и сократить, см. оптимизацию токенов.
Безопасность. В промптах часто есть текст от пользователей, из документов и с веб-страниц. Без должной осторожности этот текст может переопределить ваши инструкции. Это называется инъекцией в промпт, и защита от неё начинается с того, как построен промпт.
Скорость итераций. Изменить промпт можно за минуты. Дообучение модели требует данных, денег и времени. Для большинства задач лучший промпт — самое дешёвое доступное улучшение.
Чем промпт-инжиниринг не является
Это не список волшебных фраз. Приёмы вроде обещания чаевых или набора заглавными буквами дают неустойчивый эффект, который меняется между версиями модели. Долговечны чёткая постановка задачи, подходящий контекст и проверка.
Это также не замена знанию самой задачи. Промпт может просить только о том, что его автор понимает достаточно хорошо, чтобы описать.
Промпт-инжиниринг и контекстная инженерия
Когда модели научились читать очень большие входные данные и вызывать инструменты, работа сместилась от формулировки одной инструкции к решению о том, какую информацию модель видит на каждом шаге. Это часто называют контекстной инженерией. Она включает поиск, инструкции для агентов и подключение инструментов, например Model Context Protocol. Принципы те же: дать модели то, что ей нужно, чётко разделив это, и ничего, что её отвлекает.
Что почитать дальше
- Следуйте пошаговому руководству по промпт-инжинирингу, чтобы написать свой первый промпт для продакшена.
- Изучите типы промптов и основные приёмы промпт-инжиниринга.
- Вставьте промпт в анализатор PromptFlowEngine, чтобы увидеть, какие решения он оставляет открытыми.