- BrainTools - https://www.braintools.ru -

Подбор и фильтрация резюме на HH с помощью ИИ

Часть 4. Как я научился делать грубую фильтрацию разюме с помощью API HH.ru [1] и Gemini

 Привет! На связи снова Евгений.

 Это четвертая часть цикла о моем самописном инструменте (написанным человеком, который далек от программирования), который вырос из простого поисковика по Excel-файлам в полноценную систему управления бизнес-процессами.

 Чтобы вы понимали контекст:

 Сначала я сделал поиск по внутренней базе товаров [2], чтобы менеджеры не путались в ассортименте. Потом добавил парсер и модуль сравнения цен [3], чтобы мы понимали, что происходит у конкурентов. Затем прикрутил генератор контента и изображений [4].

И как всегда аппетит растет во время еды. В малом бизнесе часто нет отдельного HR-специалиста. Эту функцию выполняет собственник или руководители отделов. И это всегда привносит определенные неудобства.

 Процесс найма обычно выглядит так:

Ты публикуешь вакансию на HeadHunter.

За день прилетает 50–100 откликов.

Ты начинаешь их открывать.

Через час у тебя дергается глаз.

Половина кандидатов вообще не читала описание вакансии. Люди откликаются веерно: «Авось куда-то возьмут». Ты ищешь менеджера в B2B со знанием тендеров, а тебе присылают резюме продавца-консультанта из салона сотовой связи. Формально и то, и то — «продажи», но по факту — разные вселенные.

Чтобы найти одного достойного кандидата, нужно просеять сотни анкет. Это часы монотонной работы, которая отвлекает от реальных дел. Я посмотрел на свой инструмент, где уже успешно трудились нейросети Gemini, и подумал: «Если ИИ может понять, подходит ли этот товар под запрос клиента, почему он не может понять, подходит ли резюме человека под нашу вакансию?»

Так началась разработка модуля «Поиск резюме (HH.ru [1])».

Задача был достаточно простой: построить эффективную воронку отбора

Стандартный поиск на работных сайтах — это набор фильтров. Это работает, но грубо. Мне нужен был инструмент, который бы автоматизировал не просто поиск, а весь процесс первичного отсева, работая по принципу умной воронки: от широкого захвата к глубокому анализу только лучших (ну или хотя бы отсеять ненужные резюме).

 Вот как я это реализовал.

Интеграция с HeadHunter

Первым делом нужно было научить мое Python-приложение общаться с HH.ru [1]. Я зарегистрировал приложение в кабинете разработчика HeadHunter, получил Client ID и Client Secret.

В интерфейсе своего инструмента я добавил кнопку авторизации. Работает это через стандартный протокол OAuth. Я нажимаю «Войти через HH». Открывается окно браузера, где я подтверждаю доступ. Приложение получает токен и сохраняет его (в зашифрованном виде, разумеется). Теперь мой скрипт может официально делать запросы к базе резюме от моего имени.

Подбор и фильтрация резюме на HH с помощью ИИ - 1

Предварительный поиск

Я сознательно отказался от сложных интерфейсов. Вместо этого — два простых поля: Город и Текстовый запрос. В поле запроса я пишу так, как сказал бы живому рекрутеру.

Пример: «Нужен активный менеджер по продажам спецодежды. Обязателен опыт [5] работы с юрлицами (B2B), понимание 44-ФЗ и тендеров. Желательно наличие автомобиля».

 Как это работает под капотом:

 Скрипт берет точный текст моего запроса и город. Он находит ID города (например, Москва — это 1, Краснодар — 53) для API.

Затем он делает запрос к HH.ru [1], прося выдать до 200 самых свежих резюме, которые соответствуют поисковой фразе в указанном регионе.

Сразу после получения списка, запускается строгий локальный фильтр. API HH.ru [1] может выдать кандидатов из всего края или тех, кто готов к переезду. Мой скрипт проверяет поле «Город» в каждом резюме и отбрасывает всех, у кого оно не совпадает с введенным мной названием.

На выходе мы получаем отфильтрованный список кандидатов строго из нужного нам города.

Подбор и фильтрация резюме на HH с помощью ИИ - 2

«Умный сканер» — двухэтапный AI-скоринг для точного отбора

Анализировать все 150–200 резюме с помощью мощной и дорогой модели Gemini — неэффективно. Поэтому я кардинально переработал этап предварительной сортировки, превратив его из простого «сканера» в умную двухэтапную систему фильтрации.

Этап 1: AI-аналитик разбирает мой запрос

Теперь мой текстовый запрос («Нужен активный менеджер по продажам спецодежды…») не просто разбивается на ключевые слова. Он отправляется специальной, легковесной модели Gemini с ролью «HH-Concept-Extractor». Её задача — понять смысл запроса и разложить его на концептуальные группы с синонимами.

Например, для запроса «Активный менеджер по оптовым продажам спецодежды (B2B)» AI вернет не просто набор слов, а структурированные данные:

[["менеджер по продажам", "sales manager"], ["оптовым", "опт", "b2b"], ["спецодежда", "сиз"]]

Это позволяет системе искать не только «менеджера по продажам», но и «sales manager», не только «оптовым», но и «b2b», что кардинально повышает полноту поиска.

Этап 2: Взвешенный скоринг резюме

На этом этапе происходит самое интересное — «встреча» гибкого запроса и фактических данных из резюме. Для каждого из 200 кандидатов система:

  • Нормализует данные резюме. Все текстовые поля (заголовок, навыки, описание опыта) приводятся к начальной форме (лемматизируются). «Занимался продажами» превращается в [заниматься, продажа].

  • Проводит взвешенную оценку. Система берет группы концепций из моего запроса и ищет их леммы в нормализованных данных резюме. При этом очки начисляются с разным весом:

    • Совпадение в заголовке резюме дает больше всего баллов (вес x3).

    • Совпадение в ключевых навыках — меньше (вес x2).

    • Совпадение в описании опыта работы — еще меньше (вес x1).

Такой подход гарантирует, что кандидат с должностью «Менеджер по продажам» получит гораздо более высокий балл, чем «Оператор call-центра», даже если у обоих в описании опыта встречается слово «продажи».

На выходе я получаю список, отсортированный по этому новому, умному рейтингу, где наверху находятся самые релевантные кандидаты. И только они отправляются на следующий, глубокий этап анализа.

 Глубокий анализ лучших с помощью Gemini

Вот здесь и начинается ИИ-магия. Система берет топ-50 (или меньше, в зависимости от настроек) кандидатов из предварительно отсортированного списка и только для них запускает глубокий анализ.  Для этих 50 кандидатов скачиваются их полные резюме: весь опыт работы, обязанности, достижения, раздел «Обо мне». Далее, для каждого кандидата, этот массив текста отправляется модели Gemini (роль «HH-Analyst»). В промпте для нее заложены инструкции опытного HR-директора.

ИИ делает следующее:

Сравнивает профиль с запросом. Он проверяет, действительно ли опыт кандидата релевантен. Если человек 10 лет продавал, но не в B2B, а в рознице — ИИ это заметит и снизит балл. Выставляет оценку. От 1 до 10 баллов по шкале соответствия моей вакансии. Пишет саммари (Summary). Это краткая выжимка в 2-3 предложения. Например: «Кандидат с сильным профилем в продажах, знает наш рынок. Из минусов — часто меняет работу (4 места за 2 года)».

Генерирует вопросы для собеседования. Это доп фича для руководителя. ИИ видит пробелы или интересные места в резюме и формулирует конкретные вопросы. Пример: «Вы указали, что выиграли крупный тендер в 2023 году. Какова была ваша роль в подготовке документации?»

Весь этот процесс для 50 кандидатов занимает пару минут. Вручную я бы потратил на это несколько часов.

Результат: Как это выглядит на экране

Когда анализ завершен, я вижу перед собой информативные карточки, отсортированные по финальному рейтингу от ИИ. Сверху — «десятки» и «девятки».

 В карточке я сразу вижу:

 ФИО, возраст, город.

Вердикт ИИ: Оценка и обоснование (почему этот кандидат подходит или нет).

Опыт работы

Вопросы: Готовый список, который можно распечатать перед звонком.

Подбор и фильтрация резюме на HH с помощью ИИ - 3

Если мне нравится кандидат, я нажимаю «Показать опыт работы», и разворачивается детализация, где уже подсвечены ключевые навыки, которые я искал.

Экспорт и работа с командой

К примеру, мне нужно показать кандидатов руководителю отдела продаж. Скидывать ссылки в мессенджер неудобно. Поэтому я добавил кнопку «Скачать отчет в Excel». Система формирует аккуратную таблицу. В ней есть колонки: ФИО, Ссылка, Зарплата, Телефон и, самое главное, — Комментарий ИИ и Вопросы.

Подбор и фильтрация резюме на HH с помощью ИИ - 4

Детекция ИИ Резюме
В связи с тем, что в последнее время многие использую ИИ для составления резюме, я добавил ИИ-детектор. Использовать ИИ при составлении резюме не хорошо и не плохо, но об этом полезно знать. Теперь, если система с высокой долей вероятности определит, что текст резюме был написан или «причесан» с помощью нейросети, рядом с заголовком появится иконка робота. Это не фильтрует кандидата, а просто дает дополнительную информацию для размышления.

Подбор и фильтрация резюме на HH с помощью ИИ - 5

Итоги внедрения

Потенциальный эффект: что может измениться в нашем найме?

Внедрение такого автоматизированного подхода может кардинально изменить процесс подбора персонала в компании, особенно там, где нет выделенного HR-отдела. Скорость найма. Больше не нужно копить резюме днями, чтобы выделить время на их чтение. Запустили скрипт, ушли пить кофе, вернулись — список лучших кандидатов готов.

 Качество кандидатов. Снижается риск пропустить хороших специалистов, у которых просто неидеально оформлено резюме (хотя тут большой вопрос, если он не может продать себя, как он будет продавать что-то еще). ИИ видит суть опыта, даже если он описан корявым языком, и находит скрытые таланты.

 Уровень собеседований. Даже если интервью проводит не профессиональный рекрутер, а линейный руководитель, у него перед глазами будет список умных, предметных вопросов, сгенерированных ИИ на основе анализа конкретного резюме. Разговор сразу становится более глубоким и по делу.

 Конечно, ИИ не заменит личного общения. Он не оценит адекватность человека, его харизму и то, как он вольется в коллектив. Но он может снять с руководителей огромный пласт рутинной работы по первичному отсеву. В результате можно тратить свою энергию и время только на тех, кто этого действительно стоит.

Всех благодарю за прочтение. Всем успехов в ваших начинаниях!
оригинал статьи [6]

P.S.: в ходе обсуждений пришел к тому, что необходимо внедрить ИИ детектинг резюме. То есть определять резюме, которые были написаны с помощью ИИ. Это не говорит, что их нужно отфильтровать, но знать об этом не помешало бы.

Автор: RS_AI

Источник [7]


Сайт-источник BrainTools: https://www.braintools.ru

Путь до страницы источника: https://www.braintools.ru/article/22933

URLs in this post:

[1] HH.ru: http://HH.ru

[2] поиск по внутренней базе товаров: https://habr.com/ru/articles/968732/

[3] парсер и модуль сравнения цен: https://habr.com/ru/articles/970726/

[4] генератор контента и изображений: https://habr.com/ru/articles/971740/

[5] опыт: http://www.braintools.ru/article/6952

[6] оригинал статьи: https://evrybakov.ru/ii/podbor-personala-s-pomoshhyu-ii/

[7] Источник: https://habr.com/ru/articles/974800/?utm_source=habrahabr&utm_medium=rss&utm_campaign=974800

www.BrainTools.ru

Rambler's Top100