Сейчас Точка активно развивает свою 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.
Комментарии (10)
seyko2
31.10.2024 20:06Похоже, вообще никто в LLM не разбирается. Если своими словами не может изложить ситуацию. Я вот в LLM не спец. Для меня prompt: это запрос имени пользователя и пароля при входе с терминала. А тут вроде статья для широкой аудитории, а терминология - вообще без пояснений. Почему не используются слова Запрос, вводная, постановка задачи? Пишите тогда всё английскими буквами и ссылки на WiKi в скобочках. Вы ведь как бы нацелены на качество обслуживания клиентов, чтоб им понятно ответить. Как? Если даже про свою работу доступно изложить не можете?
Hardcoin
31.10.2024 20:06Аудитория статьи другая совсем. Подразумевается определенное погружение в тему. «Вводная» сейчас никто уже не говорит, это слово сродни «лапти», а они молодежь ищут.
eshikhieva Автор
31.10.2024 20:06Статья действительно про найм для специалистов, кто идет на подобные вакансии.
И как показывает моя статистика - оптимальный возраст от 28 лет и старше, когда уже и диплом получен, и опыт работы есть в своей специализации (без AI).
Betyar
31.10.2024 20:06Есть такие работодатели, которым таролог предписывает нещадно отстреливать кандидатов. Но есть такие, которым их корпоративный таролог предписывает не только пройтись напалмом по ним, но и заявить об этом публично: 10 застрелено из-за одной запятой, 20 сожжено из-за двух.
Люди часто ошибаются, особенно в грамматике. Пунктуация - это самое последнее на что рядовой пользователь может обратить свое внимание. Поэтому реально умный ии обязан это распознавать и подсвечивать. Ваш ии на реальных пользователях вероятнее всего будет галлюцинировать. И то, что вы отсеиваете из-за одной запятой - это даже хорошо. Вы уберегли кандидатов от неадекватного работодателя.
Вы в статье признаете тот факт, что чатджипити дорогой, поэтому используете ламу. Но в инете повсюду есть реклама, что Точка использует именно чатджипити в своих ассистентах. Вот и верь вашей компании потом.
Вся эта тема с ламой не совсем, но похожа на сцену из фильма с аферистом, который реальный банкомат накрыл своим кожухом, сам сел внутрь, и начал стричь бабки на беспечных клиентах.
Недавно создатель Линукса критиковал хайп по ии. И мне тоже не нравится мода компаний отгораживаться от клиентов автоматическими прокладками. На озоне, чтобы достучаться до реального сотрудника в приложении - это целый квест. Вас бы всех по одному месту за ваш такой ии.
Euganis
31.10.2024 20:06Это же бизнес - тут всё по Марксу. Когда роботы смогут делать за них всю работу, они без малейших сомнений выкинут всех этих людей на улицу, включая таролога, hr, pr и копирайтера этой статьи.
Останется только один хозяин и роботы. И хозяин в своем пресс релизе тоже будет гордо называть себя 'Мы' (ещё можно будет добавить 'команда', но вряд-ли он смотрел ту передачу.. они обычно все тупые в гуманитарном плане)
Betyar
31.10.2024 20:06Маркс во многом был тогда прав. Согласен.
Вот недавно слушал один блог одного препода-венгра, работает в США. Тема передачи была - что такое капитализм. И там этот препод рассказал в подробностях историю его возникновения от Адама Смита, потом про Маркса объяснял, и потом они дошли до наших дней и речь зашла про Блэлрок и про то, что по сути многие государства сейчас это пока не марионетки, но что-то вроде кукол, которых дёргают за нитки. В особенности небольшие с маленьким GDP и с автократом во главе, такие, как Венгрия например. И я немного поразился одному венгерскому слову, которому в русском вероятно специально не придумали русского аналога, это - эксплуатация. Оно всем известно, но если на него посмотреть, как осмысливают венгры, то значение полностью отобьёт у любого человека желание приобщаться к "командному духу". Вообще, венгры любят свой язык, и стараются везде именно им осмысливать вещи и явления. Так вот, что на счёт kizsákmányolás (эксплуатации) , то слово начинается с существительного zsák мешок, но в данном контексте торба или рюкзак. Далее с добавлением mány слово превращается в слово добыча (точнее предмет добычи: заяц, утка и т.д.) , далее при добавлении суффикса ol получаем глагол - добывать (добычу), а с добавлением ás получаем существительное процесс "добывание добычи". И вся теперь соль в приставке ki, с добавлением которой эксплуатация - это добывание до истощения и опустошения, прииска или угодья. При капитализме есть только опустошитель и добыча (жертва, расходный материал), которая жертвует своим временем и по сути жизнью. Капиталист выискивает жертву, находит бедного владельца, говорит про кисельные перспективы и свободы в городе и скупает землю за бесценок. Бедняк едет в город,.где у станка сгорает быстро, как свеча. В то время, как капиталист быстро богатеет и продолжает бизнес по поиску бедняков и нищих или не стабильных бизнесов и правительств и т.д. Это история Великой Англии. Но тут не в стране дело.
Слесарь винтику и гайке может долго вытирать про командный дух, но они - не команда. Это очевидно. Почему мы вроде бы разумные люди покупаемся на это, не понятно.
Смысл эксплуатации - пока что-то стучит и не отваливается, пусть себе работает, а в противном случае пойдет в утиль.
В наши дни капитализация некоторых фондов скоро будет превосходить GDP средних государств. Бизнесы сильно вложились в роботизацию и ии. В Европе уже перепроизводство электрокаров. В этом году в Германии ФФ пришлось закрывать заводы с людьми, а EU вводить заградительные пошлины. И это не случайно и это не уникально. Капиталисты не могут без экономических и мировых войн. Именно капиталисты - главные зачинщики всех мировых кризисов, которые приводят, о чудо, к новой добыче, правильно, к обнищанию большинства. Капиталисты их обожают, ведь бедные - это их любимая добыча.
И если капиталистам сотни древних философов и тысячи писателей экономистов социологов не смогли втолковать, что самое ценное это человек, то это как раз изобличает их ненависть к всему живому, их патологическую жадность, их циничную хитрость и тщетную славу. Чтобы о них совсем худо не вспоминали, у некоторых принято отстёгивать в конце жизни на благотворительность. Но это не факт. Возможно им был нужен повод для party. Ну, или скучно ему без "престижа" , главного последнего этапа шоу иллюзионистов.
Добродетель капиталиста избавила нас от необходимости писать и считать. Она избавляет от необходимости запоминать, переводить и совсем скоро избавит от главного - думать.
У добродетели капиталиста в рукавах ещё столько много припасено
о светлом, добром и полезном
... для жертвы.
vfedulov
31.10.2024 20:06Спасибо за статью. У меня есть все необходимые базовые навыки, описанные в статье:
- Гуманитарий (юрист)
- English C1
- Опыт в ИТ 12 лет (работа с ПО для внутреннего пользования, в открытом доступе нет)
- Все необходимые soft skills (Python, слепая печать, работа с логами, базами, массивами информации и пр.)
- Изучил всё, что есть в открытом доступе по промпт-инжинирингу (библиотеки, видео, вводные курсы и пр.)
Везде на HH требуется опыт от 1-3 лет на промпт-инженера, откуда я его возьму?
На всех "курсах" учат "генерировать картинки" и "писать статьи", они абсолютно бесполезны, благо бесплатные.
Отправил более 100 откликов на НН, везде отказ, хотя резюме и сопроводительное составлены нормально, всё по существу, со ссылками на GitHub, портфолио, готовность пройти обучение и сделать тестовое задание, я готов даже бесплатно работать столько, сколько потребуется.
Что я не так делаю? Я реально хочу быть именно промпт-инженером.
Что я должен изучить, чтобы меня взяли?eshikhieva Автор
31.10.2024 20:06Еще рано просить опыт от 2-3 лет. Можете отправить мне сообщением ссылку на резюме?
vagon333
Уточните, пожалуйста, что подразумевается под "своей LLM"?
Вы векторизируете свои документы в базу и делаете запросы к своей базе?
Стриншот №2 с описанием промта очень похож на то, к чему пришли мы.
Работаем с реляционной базой, когда дополнительные данные берутся из реляционной базы и результаты складываются также в реляционную базу.
Пытались использовать self-hosted Flowise и N8N, но как-то не прижилось - в большинстве случаев достаточен один сложный prompt с выгонкой результата в JSON.
Основная проблема в нестабильности внешних моделей, когда результат выполнения сложного промта сегодня и через полгода дают абсолютно разные результаты при одинаковых параметрах и нулевой температуре.
Спасибо, что поделились, было любопытно сравнить.
eshikhieva Автор
Под своей LLM подразумевается дообучение открытой локальной большой языковой модели под наши нужды, чтобы она лучше понимала предметную область, русский язык и лучше следовала инструкциям.
Векторизация документов из базы: этот подход называется RAG (Retrieval Augmented Generation), он не обязательно подразумевает дообучение своей LLM. Об этом есть хорошие статьи, например, эта https://habr.com/ru/articles/779526/
На скриншоте №2 справа пример парсинга параметров в JSON из сообщения пользователя. Часто промпт выходит объемный и сложный, простые конструкции не охватывают частные случаи богатого и могучего русского языка.
Используем такой парсинг для тех решений, где LLM в итоге выгоднее, чем использование парсинга функциями или классический ML. Выигрываем по качеству и по времени реализации новых сценариев в тот же Ассистент, к примеру.
Проблема с нестабильностью действительно есть, часто даже через три месяца результат может быть другой. Мы отслеживаем обновления моделей и выход новых, фиксируем изменения, а за счет внутренней инфраструктуры поддерживаем актуальность во всех решениях.
Спасибо за комментарий и ваш опыт.