В первой части статьи мы рассказывали о предпосылках автоматизации рекрутинга Fix Price, о том, как строилась и развивалась система и как она работает сегодня. Во второй части сосредоточимся на инженерной стороне проекта и архитектурных решениях, которые обеспечили его масштабируемость и устойчивость.
Создание системы автоматизированного рекрутинга потребовало глубокой проработки архитектуры, интеграций и логики обработки данных. Вместе с командой нашего технологического партнера Prof IT нам предстояло объединить разрозненные ИТ-среды, синхронизировать процессы в реальном времени и обеспечить корректную маршрутизацию кандидатов между множеством каналов взаимодействия. Ниже — ключевые технологические вызовы проекта и подходы, которые позволили их преодолеть.
1. Интеграция с разнородными системами и источниками данных
В проекте объединены несколько ИТ-сред и сервисов, со своей логикой, API и форматами данных:
Платформа для роботизации коммуникаций Vocamate AI
HRM-система Skillaz
Телефония
Сервис синтеза и распознавания речи Yandex SpeechKit
Сайты по поиску работы (hh.ru, Avito.ru, SuperJob, rabota.ru)
Мессенджеры (Telegram, VK)
SMS-шлюзы
Платформа Vocamate AI включает несколько ключевых технических компонентов:
оркестратор бизнес-процессов, выстраивающий сложный и многоступенчатый процесс рекрутинга, и гибкая система правил и маршрутизации, направляющая кандидатов между каналами, HRM-системой и внутренними модулями платформы
универсальный интеграционный слой с REST/Webhook-коннекторами, позволяющий подключать системы с разными протоколами и типами авторизации
модель данных, которая нормализует входящие данные из внешних источников и преобразует их в единый формат
менеджер диалогов, позволяющий строить разные диалоги с кандидатами в разных каналах, используя единые сценарии взаимодействия с внешними информационными системами
модуль аналитики, позволяющий собирать статистику и корректировать работу ботов.
Архитектура решения:
Благодаря этой архитектуре разрозненная ИТ-инфраструктура объединена в бесшовную экосистему, и мы получаем полностью автоматизированную воронку найма, которая легко масштабируется под любые объемы задач и управляется из единого центра.
Какие задачи мы реализовали в процессе интеграции:
1. Бесшовное взаимодействие между разрозненными системами (Skillaz, VK, HH, Avito, мессенджеры, телефония). Платформа Vocamate AI выступает в роли интеллектуального узла, через который проходят все входящие и исходящие события: отклики кандидатов, сообщения из VK и Telegram, запросы с лендингов, статусы из Skillaz, сообщения из HeadHunter и Avito, входящие вызовы и данные телефонии. Она обеспечивает корреляцию событий, связывает данные, пришедшие из разных каналов, и формирует единый профиль кандидата.
На платформе есть набор готовых коннекторов к внешним системам, а если требуется новый, — он быстро разрабатывается под конкретные требования. Каждый коннектор реализует собственный адаптер протоколов, обеспечивая корректную работу как с REST/JSON API, так и с webhook-уведомлениями, формами OAuth-авторизации, очередями сообщений и event-driven потокам.
Система собирает данные из разных источников и приводит их к унифицированному формату, устраняя дублирование данных и различия в структуре. Это позволяет выстраивать сквозные процессы подбора, где данные и события непрерывно проходят между каналами коммуникации и HRM-системой без потерь.
Одной из сложных задач стала интеграция с HeadHunter. При создании коннектора для этой платформы мы столкнулись с рядом подводных камней. В большинстве сервисов есть возможность настроить вебхук, который отправляет сообщения пользователей в нашу систему. На HeadHunter такого функционала не было, поэтому пришлось разработать гибкую систему для выгрузки этих сообщений по расписанию, чтобы данные корректно и своевременно автоматически передавались в систему.
В работе с чатами на HeadHunter также было много нюансов. Платформа имеет ряд особенностей: например, она не уведомляет о появлении новых сообщений и не различает отправителей — робота и живого HR-менеджера, который тоже иногда отвечает в чате. Поэтому команде Prof IT пришлось разрабатывать собственные механизмы отслеживания активности в чатах. Это позволило своевременно получать обновления и точно определять, кто является автором сообщения и не запускать действия бота в случае, если диалог перешел на HR-менеджера.
Пример простого диалога робота с кандидатом в визуальном редакторе бизнес-процессов на платформе:
2. Алгоритмы расчёта рейтинга кандидатов
Алгоритм анализирует параметры кандидата, включая как цифровые, так и нецифровые данные — например, опыт по нужной должности, длительность работы, релевантные навыки. За каждый критерий кандидат получает определённое количество баллов. Сумма баллов формирует итоговую оценку, по которой строится рейтинг. В первую очередь боты связываются с кандидатами с наибольшим количеством баллов, а затем с остальными в порядке убывания.
3. Понимание естественной речи и искусственный интеллект.
Роботы Vocamate AI используют продвинутую NLU-модель понимания естественного языка, которая анализирует смысловую структуру высказывания с использованием семантического поиска. Система определяет намерение, ключевые сущности и контекст диалога. Благодаря этому робот понимает смысл фраз, даже если кандидат формулирует их по-разному, и корректно подбирает вакансии и магазины, в которых кандидату будет удобно работать. Поэтому, нашим роботам не составит труда распознать запрос кандидата и предложить ему вакансии даже в отдаленных локациях со сложными названиями. Например, недавно кандидат в телефонном разговоре с ботом искал работу в станице Лысогорской Георгиевского района Ставропольского края, и бот успешно справился и предложил вакансию в этом населенном пункте даже в условиях плохого качества связи и особенностей разговорной речи кандидата.
В основе системы лежат модели глубокого обучения, дообученные с использованием трансферного обучения. Глубокое обучение позволяет системе улавливать скрытые смысловые связи в речи, лучше понимать намерения пользователя и корректно интерпретировать сложные, неоднозначные или неполные формулировки. Трансферное обучение ускоряет адаптацию модели под конкретные бизнес-задачи и позволяет быстро повышать качество работы бота на основе реальных диалогов.
Кроме глубокого понимания естественной речи при опросе кандидата, роботы используют нейросети, чтобы распознавать автоответчики во время звонков. Если робот определяет, что разговор происходит с автоответчиком, система автоматически прекращает взаимодействие или инициирует повторный дозвон позже. Таким образом, мы не расходуем ресурс на неэффективные звонки.
4. Унификация данных
Нормализация разрозненных данных - критически важный этап работы системы. Сайты поиска работы (HeadHunter, Avito и другие) передают информацию через свои API в разных форматах и с различным составом данных. Каждый из них имеет свою уникальную структуру профиля и набор полей: у одного данные представляются строго структурированными, а у другого несколько параметров могут быть объединены в одно общее поле.
Чтоб решить эту проблему, команда Prof IT разработала универсальный "адаптер" для входящих данных. Вместо того чтобы писать отдельную логику под каждый источник, создали единый слой преобразования, который приводит все данные к стандартной модели внутри платформы.
Vocamate AI агрегирует информацию из различных источников и преобразует её в единый стандартизированный формат. В результате данные кандидатов корректно вносятся в HRM-систему Skillaz и кандидаты попадают в кадровый резерв компании. Это важно для дальнейшей эффективной работы с ними.
2. RPA-функциональность ботов: от диалога к действию
Мы понимали - чтобы сделать проект действительно комплексным, нужно, чтобы боты не только вели диалоги с кандидатами, но и выполняли операционные действия в системе. Поэтому мы развивали RPA-навыки ботов для автоматизации сопутствующих задач в процессе найма.
Возможность выполнения RPA-задач обеспечена наличием в Vocamate AI специализированного стека: инструментов для выполнения сложных процессных операций, а также собственного DSL-языка, который напрямую взаимодействует с данными и контекстом сценария. В отличие от распространённых языков вроде JavaScript или Python, он ориентирован на прикладные задачи: легко оперирует контекстом сценария, может работать со строками, списками, управлять прикладными бизнес-объектами, а также хранимыми SQL-процедурами.
Поэтому виртуальные рекрутеры могут выполнять не только коммуникационные, но и полноценные RPA-задачи: проверять данные во внешних системах, получать и вносить в них новые данные, заполнять формы, инициировать процессы и автоматически выполнять шаги, которые раньше требовали отдельного программного робота или привлечения человека.
Также платформа использует вебхуки, которые позволяют обмениваться данными с приложениями в реальном времени, мгновенно получать информацию и запускать процессы в боте. Это устраняет необходимость постоянного запроса к API и снижает нагрузку на источник, поскольку обмен информацией происходит только при наступлении конкретного события, например, при создании нового профиля кандидата или обновлении его данных.
Какие RPA-задачи выполняют роботы-рекрутеры Fix Price:
Поиск кандидатов на сайтах поиска работы и формирование рейтинга.
Создание профиля кандидата и добавление его в кадровый резерв, чтобы компания могла вернуться к контакту с ним позже.
Проверка статуса кандидата в Skillaz перед звонком,чтобы не беспокоить кандидата без необходимости, если он уже трудоустроен и экономить ресурсы на синтез и распознавание речи.
Отслеживание появления новых кандидатов на сайтах, чтобы первыми связаться с подходящим кандидатом.
Автоматические напоминания и повторные контакты с нетрудоустроенными кандидатами.
Автоматическая публикация вакансий в Fix Price в VK и удаление публикаций когда вакансия закрывается.
Подбор удобной локации для собеседования, чтобы кандидат получил персонализированный список вакансий рядом с домом и с высокой долей вероятности устроился на работу..
Запуск регулярных операций строго по расписанию с оптимальным таймингом, чтобы повыcить эффективность работы системы и снизить долю ручного труда
3. Омниканальность и сохранение контекста взаимодействия
Ключевым вызовом также стало соблюдение контекстной когерентности диалога между каналами. В процессе подбора важно обеспечить непрерывное, согласованное взаимодействие с кандидатом во всех каналах — от телефона и мессенджеров до лендингов и соцсетей. Робот должен «узнавать» кандидата, понимать, на каком шаге процесса он остановился, и продолжать диалог во всех каналах без потери контекста и истории. Система обеспечивает омниканальную модель взаимодействия, позволяя роботам работать как единый интеллектуальный интерфейс между всеми цифровыми точками контакта и HR-системой:
Если робот начинает взаимодействие с кандидатом по телефону и записывает его на собеседование, то позже он отправляет ему уведомление о записи на собеседование. Сначала робот пробует отправить кандидату бесплатное сообщение в VK, а если это не удаётся, то отправляет ему СМС.
Если робот не дозвонился, то он звонит позже, и если все же попытки оказываются неуспешны, отправляет кандидату сообщение со ссылкой на лендинг, где кандидат может перейти в чат-бота и записаться на собеседование..
Если кандидат не записался на собеседование в звонке, то робот присылает ему сообщение со ссылкой на чат, в котором можно записаться, если кандидат передумает.
Если кандидат не закончил диалог и вернулся, чтобы продолжить его позже, бот сохраняет контекст взаимодействия. Мы сохраняем все данные о сессии и восстанавливаем их,поэтому, когда пользователь возвращается, бот начинает диалог с того места, где он остановился. Для кандидата это означает возможность продолжить диалог в удобное время без повторных вопросов, а для компании — снижение потерь кандидатов и повышение конверсии за счёт более бесшовного и комфортного пользовательского опыта.
В результате проекта Fix Price получил не просто автоматизированный инструмент подбора, а устойчивую и масштабируемую модель рекрутинга, готовую к росту бизнеса и изменению рынка труда. Система интеллектуального поиска персонала органично встроилась в HR-контур компании и стала частью ежедневных процессов, обеспечив:
Охват всего процесса найма
Полную автоматизацию коммуникаций и внутренних бизнес-процессов
Регулярное автоматическое формирование кадрового резерва компании.
Комфортные условия поиска работы и взаимодействия с компанией для кандидатов
Это позволило существенно снизить зависимость от ручного труда и человеческого фактора на массовых этапах найма. Проект помог нам быстрее реагировать на потребности бизнеса, повысить доступность вакансий для кандидатов и выстроить более удобный и последовательный путь взаимодействия с брендом работодателя.
Для Fix Price это означает более высокую скорость закрытия вакансий и более рациональное использование ресурсов HR-команд. В итоге рекрутинг из узкого места превратился в управляемый и технологически зрелый процесс, который поддерживает развитие компании сегодня и создаёт задел для её роста в будущем.
Дальше в наших планах масштабировать систему на другие страны (а Fix Price работает не только в России, но и в 8 других государствах) и распространить интеллектуальный поиск и на подбор квалифицированного персонала для нашего офиса.
Источник


