Перейти к содержанию
пятница, 31 июля 2026 г.

ИИ Вестник

Главные новости о развитии искусственного интеллекта в России

Как Авито Работа ранжирует вакансии: ML-модели, блендер и уроки АБ-тестов

ML engineer blending job vacancy ranking models, A/B test graphs on screen.
Generated by Sourceful Riverflow (RouterAI)

Старший DS-инженер Авито Вадим Вахрушев рассказал, как устроено ранжирование вакансий в сервисе Авито Работа. Материал описывает трёхуровневую пирамиду поиска, ML-модели и инсайты из экспериментов.

Авито Работа раскрыла внутреннюю кухню поискового ранжирования вакансий. Старший DS-инженер Вадим Вахрушев в развёрнутой статье на Хабре объяснил, как сервис формирует выдачу для соискателей, какие алгоритмы отвечают за отбор кандидатов и как монетизация уживается с релевантностью. Материал адресован прежде всего ML-инженерам, но будет полезен всем, кто хочет понять, почему при поиске работы на Авито одни вакансии попадают наверх, а другие остаются на дальних страницах. Ключевая идея в том, что поисковая выдача здесь строится вокруг трёх целей: максимальная вероятность мэтча между соискателем и работодателем, корректный учёт платных услуг продвижения и справедливое отношение ко всем вакансиям.

Формирование выдачи в Авито Работе напоминает пирамиду из трёх уровней. На первом уровне, который обозначается как L1, система отбирает из более чем полутора миллионов активных вакансий тысячу наиболее релевантных кандидатов для конкретного пользователя и его запроса. Здесь работают так называемые кандгены — наборы правил и лёгкие ML-модели, которые должны обеспечить полноту: не пропустить ни одной потенциально интересной вакансии. Второй уровень, L2, вычисляет для отобранных кандидатов специальные интенты блендера — численные оценки того, насколько вакансия подходит соискателю и сколько денег она может принести сервису. Наконец, третий уровень — сам блендер, который перемешивает кандидатов с учётом этих оценок и формирует итоговую выдачу примерно из двухсот вакансий.

На первом этапе особенно интересна комбинация горизонтальных и вертикальных кандгенов. Горизонтальные правила общие для всего Авито: это полнотекстовое совпадение, семантический поиск и расширение географии. Если пользователь ищет «учителя в Москве», система сначала берёт вакансии с точным совпадением слов, затем добавляет семантических близких «педагогов», а потом подмешивает предложения из соседних городов вроде Долгопрудного. Вертикальные кандгены специфичны именно для Авито Работы: например, при запросе на удалённую работу фильтр по локации полностью сбрасывается, и соискатель из Воркуты может увидеть вакансии бухгалтера из других регионов. Отдельно выделена работа со смежными профессиями: на основе бизнес-правил и анализа поведения пользователей сервис определяет, какие специальности люди готовы рассматривать одновременно, что критично для основной аудитории — рабочих специальностей.

Помимо правил, на L1 применяются три ML-модели. Векторный кандген — это двухбашенная архитектура, которая учится на позитивных действиях: звонках, сообщениях, добавлении в избранное. Вакансии она превращает в векторы заранее, а вектор запроса считает онлайн из текста, фильтров и локации, после чего кэширует. Clickpred — лёгкая ранжирующая модель, которая, несмотря на название, обучается и калибруется на контакты; она использует базовые статистики объявления и продавца, а также текстовые фичи запроса вроде BM25 и TF-IDF. RelPred оценивает смысловую релевантность вакансии запросу и учится на LLM-разметке, поскольку пользовательские сигналы слишком шумные. Итоговый скор для попадания в топ-1000 вычисляется как взвешенная сумма предсказаний Clickpred, RelPred и срока жизни вакансии — свежие объявления получают приоритет, чтобы каждая новая позиция гарантированно показывалась хотя бы раз.

На втором уровне вычисляются два ключевых интента. BX, или «баерское счастье», оценивает вероятность мэтча между соискателем и вакансией. ECPI — ожидаемая выручка от показа, которая перемножает скор CTTR-модели, релевантность из L1 и фактор пессимизации, занижающий фродовые и накрученные объявления. CTTR-модель обучается на событиях контактов, причём успешный контакт, например приглашение на собеседование, весит в таргете больше. Эта модель сильно персонализирована и отдельная для каждой вертикали Авито; среди её признаков — скоры DL-моделей мэтчинга пользователя и вакансии, близость к месту работы, конверсионные статистики и перекрёстные признаки. Персонализация играет решающую роль: инженеры подчёркивают, что без учёта индивидуальных особенностей соискателя ранжирование теряет смысл.

Описанная архитектура характерна для крупных классифайдов, где приходится балансировать между релевантностью, монетизацией и справедливостью. В отличие от обычных сайтов по поиску работы, Авито Работа работает с массовым рынком и огромным числом вакансий, поэтому здесь особенно важна скорость: на L1 нужно быстро отсеять всё лишнее, а уже потом применять тяжёлые модели. Подход с блендером, управляющим несколькими интентами, напоминает мультитаргетное ранжирование, которое используют в рекомендательных системах. Однако специфика вертикали требует отдельных решений: например, учёт удалёнки как глобального фильтра или выделение смежных профессий по поведению пользователей. Для российского рынка это значимый пример того, как внутренняя ML-инфраструктура крупной платформы адаптируется под запросы конкретной аудитории.

В статье автор обещает рассказать об инсайтах из АБ-тестов, однако основная часть материала сосредоточена на устройстве пайплайна. Вопрос о том, как именно менялась выдача после экспериментов, какие метрики росли, а какие падали, остаётся частично открытым — вероятно, это тема отдельной публикации. Можно предположить, что в будущем Авито продолжит усложнять персонализацию и повышать роль глубоких моделей, сохраняя при этом понятность и справедливость выдачи для работодателей. Для ML-специалистов это хороший пример того, как поисковое ранжирование эволюционирует в сторону многоуровневых систем, где каждый этап решает свою задачу, а конечный результат определяется не одной моделью, а их согласованной работой.

Читайте также