Один пост, чтобы обрести силу... или разбираемся в промптах, чтобы научиться их писать раз и навсегда.
В последнее время расплодилось каналов с псевдоэкспертами по промпт-инжинирингу. Но цель у них одна — зарабатывать на вашем внимании, втюхивая вам сгенерированные в тех же LLM промпты как нечто волшебное и уникальное. Здесь мы такое не одобряем!
Давайте-ка один раз хорошенько разберём, как работают промпты и как их писать. Я намеренно не буду грузить вас заумными терминами, так как именно их используют как завесу из магической пыли вокрут этой темы. Моя же цель — рассказать все максимально просто.
Сначала база — что такое промпт?
Промпт — это вопрос, инструкция или просто набор слов/символов, который вы отправляете любой LLM и ждёте ответа.
Промпт бывает системный и обычный.
- Системный — выставляется один раз надолго, как настройка.
- Обычный — это ваш диалог с моделью. Каждая новая фраза — тоже промпт.
По сути, оба типа склеиваются и передаются в модель вместе с историей вашего диалога.
Но что такое промпт для модели? Представьте, что модель — это собака 🐕.
Она не понимает ваших слов, слышит только звуки. Но если её надрессировали, у неё есть ассоциации: вы говорите «голос» → собака гавкает → получает вкусняшку.
С моделью всё так же: вы даёте слова, а она ищет у себя в «мозгах», с чем она их ассоциировала во время тренировки и получала за это вкусняшку, и возвращает это вам.
Например: «Разговаривай как мастер Йода». И это отправляет ее к конкретным ассоциациям. Чем точнее и детальнее вы направите её в нужный уголок векторного пространства, тем лучше получите ответ, потому что она будет искать в нужном месте. Если направите плохо — это может приводить к галлюцинациям.
К тому же модели дополнительно обучают следовать инструкциям, чтобы модель не просто возвращала ассоциации с Йодой, а понимала, что именно вы от неё хотите.
Так как же писать те самые «волшебные промпты»?
Во-первых, легко! Нет никаких «волшебных» и «тех самых» промптов. К тому же, модели специально сейчас обучают в процессе «ризонинга» первым шагом улучшать ваш промпт. То есть модель сама улучшает под себя запрос. И она умеет это лучше тех «гуру», которые это повсюду втюхивают.
Во-вторых, есть общие подходы:
- обозначьте роль/персону модели (как она должна отвечать)
- укажите стиль и формат (коротко, формально, весело, буллетами…)
- сформулируйте задачу (что именно нужно сделать: написать стих, найти инфу, сгенерить код)
- дайте контекст (на что опираться: интернет, загруженный файл, стихи Пушкина и т. д.)
Опционально:
- отрицательный промпт (что не делать)
- формат входных и выходных данных (если их нужно жестко задать)
- пример результата (сильный якорь для модели, поэтому показывайте то, что вам реально нужно).
Все эти элементы можно зашить в системный промпт. А дальше — просто ведите диалог.
В-третьих, используйте рекомендации от создателей конкретных моделей. Google, OpenAI, Anthropic и другие выпускают свои рекомендации, как писать промпт для их моделей. К ним стоит прислушаться, так как они тренируют модели на конкретных шаблонах. Знаете их — понимаете лучше, какие ассоциации зашиты в модель.
В-четвертых, используйте сами LLM для написания промптов. Они это делают лучше людей. Кстати OpenAI даже сделали специальный инструмент для этого (на картинке, кстати, именно он). С помощью него вы можете тренироваться писать крутые промпты.
Итого: вжух! — и за один пост вы освоили промпт-инжиниринг.
…На уровне выше среднего юзера. А если прочитали инструкции от вендоров — то уже на уровне промпт-инженера. Для большинства этого с головой хватит для получения шикарных результатов от современных моделей.
Подписывайся, у меня полезное про ИИ агентов без инфошума.