Сейчас Точка активно развивает свою LLM, поэтому нам очень нужны prompt-инженеры. В прошлом году было целых три волны найма, но из 400 человек мы взяли только 9.
Почему в этой сфере так сложно найти хорошего специалиста, и на каком вопросе посыпалась большая часть кандидатов — рассказываем в статье.
Чем занимаются prompt-инженеры в Точке
В Точке есть своя LLM, Ассистент, БухАссистент, Копилоты, а ещё мы используем нейросети для креатива и разработки сайтов.
Вот краткий список того, чем занимаются наши prompt-инженеры:
пишут промпты и их системы, чтобы языковая модель генерировала релевантные и точные ответы;
помогают Data Scientist обучать и тренировать новые модели;
разрабатывают и поддерживают библиотеки промптов, чтобы потом их можно было использовать повторно;
много тестируют.
На практике задачи бывают самыми разными. Например, сегодня мы учим Ассистента реагировать на сообщение «спасибо» тремя разными способами в зависимости от того, был ли в ответе пользователя сарказм или негатив. А завтра — тэгируем результаты анкетирования с помощью LLM. Вместо того, чтобы вручную разбирать десятки тысяч ответов, пишем промпт и получаем быстрый срез результатов.
Кого мы искали в команду
Главная проблема в том, что prompt-инженер — это новая специальность на рынке. Более того, она включает три направления, которые редко сочетаются друг с другом:
Язык: нужно хорошо знать русский и английский, обладать безупречной грамотностью, уметь работать с текстом.
IT: понимать устройство и принципы работы разных LLM, RAG, в идеале — знать языки программирования, например Python.
Бизнес: иметь широкий кругозор и разбираться понемногу во всём: от рекламы до бухгалтерской отчётности.
Последнее может показаться слегка утрированным, но на практике играет очень большую роль, так как мы часто решаем юридические или бухгалтерские задачи. Например, чтобы сделать сценарий для скачивания банковской выписки, нужно знать, что предприниматели обычно приходят за ней раз в квартал, а не раз в месяц, как написано в кейсах в ТЗ.
Получается, что идеальный prompt-инженер — это гуманитарий, который разбирается в бизнесе и умеет писать на Python. Звучит фантастически, и мы все понимаем, что таких людей очень мало. Поэтому нас вполне устроит попадание хотя бы в два из трёх, а всему остальному мы готовы научить в процессе работы.
Как устроена воронка найма в Точке
Основной площадкой для поиска новых prompt-инженеров был Headhunter. Мы размещали вакансию трижды — зимой, весной и летом.
Обычно наша воронка найма состоит из четырёх этапов:
Опросник. Кандидаты откликаются на вакансию и заполняют анкету, чтобы мы могли познакомиться с ними поближе.
Созвон с HR. Спрашиваем подробнее про опыт кандидата и задаём простые вопросы из мира Open AI.
Тестовое задание. Нужно написать несколько промптов под каждый тип задач, с которыми мы работаем. Главная цель тестового — проверить, какие компетенций есть у соискателя и в чём его сильная сторона (язык, IT или бизнес). На выполнение даётся неделя.
Техническое собеседование. Устраиваем созвон с лучшими кандидатами. Обычно в нём участвуют лидер команды prompt-инженеров, HR, Data Scientist и тимлид. Задаём технические вопросы и просто приятно беседуем, чтобы обменяться опытом и понять, насколько человек нам подходит.
Кто откликался на вакансии, и почему мы их не брали
В сумме на наши вакансии откликнулось около 400 человек. Но, к сожалению, большая часть из них в итоге получила отказ. Можно выделить четыре группы кандидатов, которых мы не взяли:
Разработчики
Среди откликов было много программистов и специалистов по Data Science. На зарубежном рынке именно этих ребят чаще всего берут на роль prompt-инженеров. Отсюда пошла мысль, что prompt-инжиниринг — это лёгкий способ войти в IT.
Но в нашем случае prompt-инженер — это не стартовая позиция для джуна, а полноценное рабочее место. И выращивать инженера в разработчика, ML-инженера или Data Scientist никто не будет. Мы говорили об этом честно, и многие уходили самостоятельно.
Вчерашние выпускники
Сейчас на российском рынке очень много курсов по работе с ИИ — они учат создавать картинки в нейросетях, писать тексты и делать цифровых аватаров. Обычно в конце выдают сертификат, где гордо написано, что теперь ты — prompt-инженер.
В реальности уметь делать картинки в Midjourney или писать текст с ChatGPT — не равно быть prompt-инженером. При найме соискатели валятся на элементарных вопросах: что такое LLM или каковы параметры генерации? В ответ они начинают говорить про роль, структуру и стили, которые не имеют никакого отношения к параметрам.
Особое место занимает повальная любовь к разработке GPTs в интерфейсе ChatGPT. Считается, что это лучшее решение среди AI-агентов. Промпт занимает всего пару строк, можно отправить в чат целую книгу в PDF и попросить дать выжимку. Но в реалиях бизнеса это далеко не самый удачный инструмент. Подход к промптингу в веб-интерфейсе ChatGPT сильно отличается от промышленного промптинга на продакшене.
С GPTs мы сильно ограничены по контексту и возможностям тонкой настройки. Он часто галлюцинирует, требует учётку в ChatGPT и IP-адрес за границей, легко ломается, не даёт возможности понять, как пользователь использует его на самом деле. Когда работаешь с чатом, то управляешь только тем, что есть в интерфейсе: ограниченный список актуальных моделей и общий системный промпт на весь аккаунт.
Это не вина ребят, что на курсах их не научили самому главному — prompt-инжинирингу. Но брать в команду человека, у которого нет хорошей базы, и учить его с нуля мы не можем. Вот так для сравнения выглядит промпт типичного выпускника и наш обычный промпт.
Опытные кандидаты
Среди откликнувшихся были соискатели с отличным резюме и опытом работы в должности prompt-инженера или AI-тренера. В беседе с HR они единственные упоминали такие инструменты, как RAG и Function Calling, но при этом никто из них так и не дошёл до технического собеседования. Часть кандидатов прислала плохо проработанные промпты, другие были отлично подкованы с точки зрения IT, но показали слабые навыки по языку и бизнесу.
Амбициозные джуны
Отдельная группа соискателей просила зарплату от 200 000 рублей, свою команду разработки, тимлидство и личный вертолет. При этом сами ребята были не выше уровня junior по всем направлениям. Несложно догадаться, что никто из них не прошёл дальше опроса или тестового задания.
Чего не хватило кандидатам
Подводя общий итог, можно сказать, что преобладающему числу соискателей не хватило твёрдых навыков. Они не работали с API, не погружались в параметры/модели, не разбирались с Playground. Более 96% кандидатов узнали про Function Calling от нас во время собеседования. А это, между прочим, крутая и полезная штука.
Предположим, пользователь спрашивает у Ассистента про депозиты. С помощью Function Calling мы можем подставить в ответ актуальные ставки по депозитам. Также передаём информацию о задолженности по налогам или лимиты по переводам.
Часть соискателей сыпалась на задачах с лингвистикой. Кто-то не знал, как описать tone of voice, кто-то — писал промпты с ашипками. В нашем случае важна каждая запятая, ведь это гарантия, что машина поймёт тебя правильно.
Кого мы в итоге взяли в команду
Сейчас в нашей команде девять человек. Для удобства мы разделили всех на специализации:
AI-архитектор — проектирует архитектуру системы промптов и их взаимодействие с другими сервисами в проекте;
AI-разработчик — реализует системы промптов в приложении, пишет функции для Function Calling, умеет писать простой код;
AI-редактор — отвечает за корректность и стилистику ответов, взаимодействие LLM с источником данных (например, статьями в Retrival);
AI-креатор — использует нейросети для создания креативного контента (текст, изображения, аудио, видео);
AI-универсал — больше заточен под бизнес-решения. Общается с новыми заказчиками вместе с продактом, сразу может подсветить, кто ещё нужен для выполнения задачи. Старается сам охватить больше специализаций и промптить, как магистр Йода (:
AI-тренер — помогает обучать модели ML-инженерам.
Мы не искали «единорога» — идеального кандидата, который может сразу всё. Мы брали ребят, которые хорошо пишут промпты, разбираются в моделях и параметрах. Среди них есть маркетологи и юристы с отличным знанием бизнеса и аналитики, инженеры с навыками программирования, редакторы и лингвисты с хорошей базой в филологии.
Мы наняли даже тех, кто сделал тестовое задание с ошибками, но на техническом собеседовании задавал правильные вопросы, понял и объяснил суть технологии. Этого достаточно, чтобы стать частью команды Точки, а всему остальному мы научим в нашем Prompt-community.
vagon333
Уточните, пожалуйста, что подразумевается под "своей LLM"?
Вы векторизируете свои документы в базу и делаете запросы к своей базе?
Стриншот №2 с описанием промта очень похож на то, к чему пришли мы.
Работаем с реляционной базой, когда дополнительные данные берутся из реляционной базы и результаты складываются также в реляционную базу.
Пытались использовать self-hosted Flowise и N8N, но как-то не прижилось - в большинстве случаев достаточен один сложный prompt с выгонкой результата в JSON.
Основная проблема в нестабильности внешних моделей, когда результат выполнения сложного промта сегодня и через полгода дают абсолютно разные результаты при одинаковых параметрах и нулевой температуре.
Спасибо, что поделились, было любопытно сравнить.