Один пост, чтобы обрести силу... или разбираемся в промптах, чтобы научиться их писать раз и навсегда.

Один пост, чтобы обрести силу... или разбираемся в промптах, чтобы научиться их писать раз и навсегда.

В последнее время расплодилось каналов с псевдоэкспертами по промпт-инжинирингу. Но цель у них одна — зарабатывать на вашем внимании, втюхивая вам сгенерированные в тех же LLM промпты как нечто волшебное и уникальное. Здесь мы такое не одобряем!

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

Сначала база — что такое промпт?

Промпт — это вопрос, инструкция или просто набор слов/символов, который вы отправляете любой LLM и ждёте ответа.

Промпт бывает системный и обычный.

  • Системный — выставляется один раз надолго, как настройка.
  • Обычный — это ваш диалог с моделью. Каждая новая фраза — тоже промпт.

По сути, оба типа склеиваются и передаются в модель вместе с историей вашего диалога.

Но что такое промпт для модели? Представьте, что модель — это собака 🐕.

Она не понимает ваших слов, слышит только звуки. Но если её надрессировали, у неё есть ассоциации: вы говорите «голос» → собака гавкает → получает вкусняшку.

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

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

К тому же модели дополнительно обучают следовать инструкциям, чтобы модель не просто возвращала ассоциации с Йодой, а понимала, что именно вы от неё хотите.

Так как же писать те самые «волшебные промпты»?

Во-первых, легко! Нет никаких «волшебных» и «тех самых» промптов. К тому же, модели специально сейчас обучают в процессе «ризонинга» первым шагом улучшать ваш промпт. То есть модель сама улучшает под себя запрос. И она умеет это лучше тех «гуру», которые это повсюду втюхивают.

Во-вторых, есть общие подходы:

  • обозначьте роль/персону модели (как она должна отвечать)
  • укажите стиль и формат (коротко, формально, весело, буллетами…)
  • сформулируйте задачу (что именно нужно сделать: написать стих, найти инфу, сгенерить код)
  • дайте контекст (на что опираться: интернет, загруженный файл, стихи Пушкина и т. д.)

Опционально:

  • отрицательный промпт (что не делать)
  • формат входных и выходных данных (если их нужно жестко задать)
  • пример результата (сильный якорь для модели, поэтому показывайте то, что вам реально нужно).

Все эти элементы можно зашить в системный промпт. А дальше — просто ведите диалог.

В-третьих, используйте рекомендации от создателей конкретных моделей. Google, OpenAI, Anthropic и другие выпускают свои рекомендации, как писать промпт для их моделей. К ним стоит прислушаться, так как они тренируют модели на конкретных шаблонах. Знаете их — понимаете лучше, какие ассоциации зашиты в модель.

В-четвертых, используйте сами LLM для написания промптов. Они это делают лучше людей. Кстати OpenAI даже сделали специальный инструмент для этого (на картинке, кстати, именно он). С помощью него вы можете тренироваться писать крутые промпты.

Ну а если вы матерый датасаентист, который строит агентную систему, то вам нужно пробовать использовать автоматический оптимизатор промптов. Например от OpenAI или от Google.

Итого: вжух! — и за один пост вы освоили промпт-инжиниринг.

…На уровне выше среднего юзера. А если прочитали инструкции от вендоров — то уже на уровне промпт-инженера. Для большинства этого с головой хватит для получения шикарных результатов от современных моделей.

Подписывайся, у меня полезное про ИИ агентов без инфошума.

Начать дискуссию