В HR-вертикали стандартные поисковые алгоритмы бесполезны: здесь недостаточно просто выдать текст с похожими ключевыми словами. По словам старшего DS-инженера «Авито» Вадима Вахрушева, система вынуждена балансировать на грани конфликта интересов: релевантность для соискателя должна уживаться с аппетитами работодателей, оплативших продвижение, и общей справедливостью выдачи. Чтобы 1,5 миллиона вакансий не превратились в цифровую свалку, инженеры внедрили трехуровневую пирамиду ранжирования — от грубого отсева кандидатов до финального блендера, формирующего выдачу.
Механика воронки: от правил к нейросетям
Процесс построен на многозадачном обучении (Multi-Task Learning). На первом этапе (L1) работают кандгены — алгоритмы, умеющие обходить жесткие фильтры. Например, при поиске удаленной работы в Воркуте система понимает дефицит локальных предложений и подтягивает вакансии со всей страны. Модель ClickPred, вопреки названию, оптимизирует не пустые клики, а целевые действия — звонки и сообщения. Это критично для синих воротничков, которые игнорируют лонгриды с описанием бенефитов и предпочитают связываться с нанимателем немедленно. Текстовую чистоту фильтрует модель RelPred, обученная на разметке от LLM, а для борьбы со стагнацией топа используется коэффициент item_age — он дает новым объявлениям шанс получить первые просмотры.
Бизнес-логика против чистого кода
Семантический поиск и учет смежных профессий — это не дань моде, а попытка удержать пользователя, который часто сам не знает, как официально называется его позиция. Если отбросить маркетинговую шелуху, перед нами классическая задача оптимизации TCO и воронки: заставить систему на миллионы позиций работать с минимальной задержкой, не сливая бюджеты рекламодателей.
На наш взгляд, использование LLM-разметки из-за шумности пользовательских данных выглядит как ироничный маркер эпохи: мы окончательно перешли в режим, где одна нейросеть объясняет другой, что на самом деле пытался найти живой человек. Прогресс, который мы заслужили.