Промпт-инжиниринг — искусство общения с LLMs. Полезные советы от VILA Lab

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

<i>Изображение создано с помощью DALL-E</i>
Изображение создано с помощью DALL-E

Хорошая новость для всех гуманитариев — чтобы освоить промпт-инжиниринг и стать востребованным специалистом, необязательно быть профессионалом в сфере IT. Промпт-инжиниринг находится на пересечении гуманитарных и технических наук, объединяя искусственный интеллект и лингвистику. Интересно, что предшественники промпт-инженеров, специалисты NLP (Natural Language Processing, обработка естественного языка), — те, кто обучает машины разговаривать на человеческом языке, чаще всего — это выходцы из лингвистики/филологии. Как любит повторять автобиограф Стива Джобса, Илона Маска и других инноваторов Азексон: самые гениальные специалисты рождаются на стыке гуманитарных и технических наук.

В этой статье мы поговорим о профессии “промт-инженер”, рассмотрим методы работы с LLMs, базовые правила составления промптов, актуальные гайды и исследования по промпт-инжинирингу.

Промпт-инженер — профессия будущего?

Промпт-инжиниринг в настоящее время является невероятно популярным направлением. В крупных компаниях, включая российские, появляются вакансии на должность промпт-инженеров, а требования к кандидатам часто включают навыки работы с LLMs. Учитывая такую популярность промпт-инжиниринга в 2024 году, можно ли сказать, что промпт-инженер — профессия будущего?

В марте 2023 года на Word Economic Forum промпт-инженер был назван одной их самых перспективных профессий. А Робин Ли, соучредитель и генеральный директор китайского гиганта Baidu заявил, что к 2033 году более половины рабочих мест будет связана с промпт-инжинирингом. Зарплатные ожидания в сфере промпт-инжиниринга тоже высокие: Bloomberg прогнозирует, что заработок специалистов может составлять около 335 000$ в год.

Конечно, есть эксперты, настроенные скептично к популярности промпт-инжиниринга. Например, в статье Harvard Business Review говорится о том, что “хайп” вокруг промпт-инжиниринга может быстро схлынуть по мере развития технологий искусственного интеллекта.

Однако большинство специалистов в будущее промпт-инжиниринга смотрят более оптимистично. Например, Дэвид Павлан, соучредитель платформы для аутсорсинга разработки программного обеспечения Aloa, в своем материале для Forbes приходит к выводу о том, что специалисты “по запросам для ИИ” все же остаются ценными в настоящее время. Он также отмечает, что владение навыками формулирования хороших и целенаправленных вопросов само по себе является важным. Я с ним полностью, согласен. Это навык на века, вне зависимости от революций в мире технологий.

Поэтому люди, обладающие знаниями в промпт-инжиниринге сегодня становятся более привлекательными кандидатами для работодателей. И сейчас наилучшее время развиваться в области промпт-инжиниринга и приобретать полезные навыки. Для этого существует множество возможностей: советы экспертов, официальные пособия, учебная литература и другие ресурсы. Как отмечалось ранее, глубокие знания в IT и программировании необязательны для освоения промпт-инжиниринга. Многие промпт-инженеры имеют гуманитарное образование (лингвистика, филология, журналистика и т.д.), так как самым важным навыком для этой специальности является знание языка и умение формулировать мысли. Хотя, конечно, работодатели, часто требуют от кандидатов наличия некоторых технических знаний, как минимум понимания работы LLMs. Так что обладателям гуманитарного образования нужно лишь немного прокачаться в сфере искусственного интеллекта, чтобы стать востребованными и высокооплачиваемыми специалистами.

Промпт-инжиниринг: где искать инструкции?

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

Опытные пользователи, включая IT-специалистов и экспертов в сфере ИИ, стали делиться своими наработками и публиковать проверенные приемы работы с промптами. Они разработали особые алгоритмы и инструкции, помимо уже известных правил взаимодействия с языковыми моделями, таких как ясное и точное описание задачи для искусственного интеллекта, предоставление полного контекста и деталей, а также отсутствие орфографических ошибок в запросе и т.д.

Например, свою эффективность показала RTF-схема (Role, Task, Format) для составления промптов. Следуя ей, пользователь в своем запросе должен указать «работу» или «персонажа», которым должен стать ИИ, обозначить действие, которое должен выполнить ИИ, и то, как (в каком формате) ответ должен быть представлен.

Из наиболее удачных промптов, позволяющих добиться качественных результатов от языковых моделей, пользователи сети стали собирать “банки промптом” или “библиотеки промптов” (их можно найти и на официальных сайтах некоторых разработчиков).

С недавнего времени сами компании-разработчики стали выпускать подсказки и официальные гайды по составлению запросовов. Так, в конце 2023 года OpenAI опубликовала полную инструкцию со стратегиями и тактиками по созданию промптов для ChatGPT. В гайде OpenAI можно найти такие советы, как предоставление модели примеров, деление задачи на более мелкие подзадачи, использование разделителей для разграничение разных частей ввода и т.д. Саммари гайда вы можете найти в телеграм канале Mr. Metapreneur.

Инструкции по взаимодействию с языковыми моделями публикуют и отечественные компании — например, на официальном сайте разработчиков Сбера можно найти советы по работе с GigaChat и каталог промптов с примерами.

Чаще всего разработчики, делясь секретами промптинга с пользователями, не настаивают на том, чтобы они строго следовали всем инструкциям. Эксперты призывают пользователей экспериментировать с запросами и искать новые подходы к работе с языковыми моделями.

26 эффективных подсказок от VILA Lab:

В интернете существует множество инструкций и советов по использованию промптинга. Чтобы определить наиболее эффективные способы формулирования запросов, специалисты проводят исследования.

Недавно команда исследователей VILA Lab поделилась результатами своей работы по выявлению наиболее эффективных промптов для ChatGPT. Исследователи определили 26 принципов, которые помогают LLM сосредотачиваться на ключевых элементах входного контекста и достигать высококачественных ответов.

Эксперты VILA Lab говорят в своей работе о том, что при составлении промптов необходимо учитывать их семантические и контекстуальные нюансы, так как даже незначительные изменения в формулировке запроса могут привести к значительно отличающимся ответам со стороны LLM. Поэтому в составленном исследователями списке промптов указано довольно много советов, касающихся использования тех или иных слов, выражений и конструкций:

1. Не нужно быть вежливым с LLM, не нужно добавлять фразы типа «пожалуйста», «если вы не возражаете», «спасибо» и тд.

2. Интегрируйте целевую аудиторию в промпт, например: «Аудитория является экспертом в этой области».

3. Разбейте сложные задачи на последовательность более простых промптов.

4. Используйте утвердительные директивы: «сделай», избегая негативных формулировок: «не делай» и тд.

5. Если вам нужна ясность или более глубокое понимание темы, используйте промпты:

▪Объясни [тему] простыми словами.

▪Объясни мне, как будто мне 11 лет.

▪Объясни мне, как будто я новичок в [области].

6. Добавьте: «Я дам чаевые xxx$ за лучшее решение!»

<i>Фото: Исследование VILA Lab</i>
Фото: Исследование VILA Lab

7. Используйте промпты на основе примеров.

8. При форматировании запроса начните с «###Инструкция ###», а затем «###Пример ###» либо «###Вопрос ###». Используйте один или несколько разрывов строк для разделения разделов.

9. Включите фразы: «Твоя задача» и «Ты ДОЛЖЕН».

10. Включите фразы: «Ты будешь наказан за неправильный ответ».

11. Используйте фразу «Отвечай на вопрос в естественной, человеческой манере».

12. Используйте последовательность, например, «думай шаг за шагом».

13. Добавьте в промпт фразу: «Убедись, что твой ответ объективен и не основан на стереотипах».

14. Позвольте модели получить от вас точные детали и требования, задавая вам вопросы до тех пор, пока у нее не будет достаточно информации для необходимого результата («С этого момента я хотел бы, чтобы ты задавал мне вопросы...»).

15. Чтобы узнать о конкретной теме, используйте фразу: «Научи меня [теме] и включи тест в конце, но не давай мне ответы, а затем скажи, правильно ли я ответил».

16. Назначьте роль LLM.

17. Используйте разделители.

18. Повторите определенное слово или фразу несколько раз в промпте.

19. Используйте chain of thought, добавив фразу «Подумай шаг за шагом».

20. Завершайте промпт началом желаемого результата. Например: «Задача: ХХХ. Ответ на задачу:…»

21. Чтобы написать подробное эссе/текст: «Напиши для меня подробное [эссе/текст] по [теме] подробно, добавив всю необходимую информацию».

22. Чтобы исправить/изменить конкретный текст, не меняя его стиль: «Постарайся пересмотреть каждый абзац, отправленный пользователем. Тебе следует только улучшить грамматику и словарный запас и убедиться, что это звучит естественно. Не следует менять стиль письма».

23. Когда у вас есть сложный промпт для генерации кода, который может быть в разных файлах, используйте промпт: «Когда ты пишешь код, который охватывает более одного файла, создай скрипт на [язык программирования], который можно запустить для автоматического создания указанных файлов или внесения изменений к существующим файлам для вставки сгенерированного кода».

24. Если вы хотите начать или продолжить текст, используя определенные слова, используйте промпт: Я предоставляю тебе начало [рассказ...]: [Вставь текст/слова]». Закончи его на основе предоставленных слов. Сохраняй последователь изложения.

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

26. Чтобы написать любой текст, который должен быть похож на предоставленный образец, используйте промпт: «Пожалуйста, используй тот же язык, что и предоставленный абзац [текст]».

Исследователи VILA Lab пришли к выводу о том, что эти специализированные подсказки улучшили качество ответов на 57,7%, а точность — на 67,3% по сравнению со стандартными запросами.

<i>Фото: Исследование VILA Lab</i>
Фото: Исследование VILA Lab

Следуя этим советам, вы можете вывести взаимодействие с LLMs на новый уровень и сделать искусственный интеллект надежным помощником в бытовых задачах и в работе.

Несколько слов в заключение…

В настоящее время умение ориентироваться в промпт-инжиниринге является важным навыком, особенно для IT-специалистов. Однако знание правил составления промптов полезно не только им, но и обычным пользователям, так как ИИ-инструменты могут помочь не только в работе, но и в решении бытовых задач. Чтобы научиться составлять качественные запросы и получать релевантные ответы от LLMs, важно следить за актуальными гайдами и исследованиями по промпт-инжинирингу, а также экспериментировать с запросами на практике. В будущем развитие ИИ и больших языковых моделей обещает новые возможности, поэтому важно быть готовым и развивать свои навыки в этой области.

Получайте свежие новости из мира промпт-инжиниринга и проверенные промпты в Telegram-канале Mr.Metapreneur. Желаем вам продуктивного взаимодействия с LLMs!

55
5 комментариев

Промпт-инжиниринг это конечно профессия будущего, однако, прямо скажем, она все еще проходит этап становления, далеко не все понимают с какой стороны нужно подходить к этому делу

1
Ответить

Согласен, на данный момент промпт-инжиниринг проходит этап становления. Как раз поэтому сейчас самое время начать развиваться в этом направлении — к моменту, когда промпт-инжиниринг будет на пике популярности, вы уже будете продвинутым специалистом! Следовательно и для работодателя ваша кандидатура будет более привлекательной)

Ответить

без понятия, как подойти к освоению профессии.

Ответить

Могу дать несколько советов, насчет того, с чего начать свой путь в промпт-инжиниринге:
-Практика и еще раз практика — регулярно тренируйтесь в составлении промптов, пробуйте использовать LLMs для решения личных и рабочих задач, привыкайте ежедневно взаимодействовать с умными чат-ботами
-Следите за новостями сферы через специализированные СМИ и экспертные блоги
-Читайте гайды от разработчиков
-Изучайте исследования и научную литературу по LLMs и промпт-инжинирингу

Кстати, полезные материалы по промпт-инжиниригу вы можете найти в моем канале Mr. Metapreneur (https://web.telegram.org/a/#-1001785587351)

Ответить