ИИ · Рекрутмент · Selectel · LLM · Python · DevOps · FMC24 сентября в 11:32 · 4 мин

Как LLM помогают отсеивать резюме: Практический кейс на базе платформы Selectel FMC

Проблема массовых резюме требует не просто быстрого чтения, а анализа фактов. Новая реализация на базе платформы FMC (Foundation Models Catalog) от Selectel демонстрирует, как автоматизировать сортировку кандидатов, сопоставляя требования вакансии с подтвержденным опытом в тексте PDF, сохраняя за человеком право окончательного решения.

# Автоматизация первичного анализа резюме: от PDF до JSON

Когда на одну вакансию приходит больше сотни резюме, человеческий фактор становится узким местом. Задача не в том, чтобы заменить рекрутера ИИ, а в том, чтобы освободить время человека для принятия окончательных решений, предоставив ему структурированную техническую выжимку. Кейс, описанный на Хабре разработчиком Roman Shubin (CTO Bash Days), показывает, как с помощью платформы FMC от Selectel можно построить надежный конвейер обработки документов.

Цель эксперимента была четко сформулирована: взять PDF-файл с резюме, сравнить его с описанием вакансии (в данном случае Middle DevOps) и получить JSON-отчет с доказательной базой. Главное правило: модель не должна додумывать опыт, если он прямо не написан в тексте.

Уровни абстракции: почему не стоит разворачивать свои модели

Изначально автор рассматривал вариант использования домашних моделей или развертывание решений типа vLLM на собственных GPU. Однако такой подход требует глубоких технических компетенций: настройка CUDA, мониторинк драйверов, управление памятью видеокарт и масштабирование моделей.

Выбор в пользу FMC (Foundation Models Catalog) от Selectel обусловлен необходимостью абстракции. Платформа предоставляет готовый API-эндпоинт, размещенный в дата-центре, что снимает вопросы о доступности инфраструктуры и безопасности.

*«Я частенько нахожусь в перелетах и сильно тревожусь, если оставил дома "включенный утюг". Поэтому выбор пал на FMC. Все работает в одном из московских дата-центров Selectel»* — пишет автор кейса.

Это позволяет разработчику сосредоточиться на бизнес-логике: как извлечь текст, какие критерии проверить и как интерпретировать результат, вместо того чтобы бороться с ML-зоопарком.

Архитектура проверки: данные важнее креатива

Для задачи анализа резюме подходит класс текста на текст (text-to-text). Система работает по следующему принципу:

1. Извлечение текста: Библиотека PyMuPDF считывает содержимое PDF-файлов. Важно, что система не работает с отсканированными изображениями без текстового слоя (в таком случае резюме помечается на ручную проверку). 2. Определение критериев: Вакансия разбивается на четкие пункты с весами. Например, для позиции DevOps критерии включают администрирование Linux, автоматизацию, контейнеризацию и CI/CD. 3. Анализ LLM: Модель получает описание вакансии и текст резюме. Ей выдается строго формализованная инструкция: оценить каждый критерий по шкале от 0 до 4, указав конкретные цитаты из текста как доказательство. 4. Расчет баллов: Итоговый счет вычисляется не нейросетью, а Python-скриптом. Это критически важно для стабильности: математическая часть отделена от вероятностной природы генеративных моделей.

Ключевое отличие от простых скриптов поиска ключевых слов: модель понимает контекст. Если в резюме есть опыт с SaltStack, система признает это как доказательство навыков автоматизации конфигурации, даже если упомянут конкретный инструмент Ansible не был. Однако модель не допустит «галлюцинаций» — если опыта нет в тексте, в отчете будет указано об этом явно.

Результаты эксперимента и синтетические данные

Для проверки системы автор использовал пять синтетических резюме, чтобы контролировать входные данные и результаты без риска утечки персональных реальных данных.

Результаты показали высокую точность в дифференциации кандидатов: * Кандидат №1 (Строгий профиль): Система дала высокую оценку, подтвердив опыт в Kubernetes, CI/CD и продакшен-среде. * Кандидат №4 (Ключевые слова): Резюме содержало длинный список технологий, но без доказательств применения. Система корректно снизила оценку, отметив недостаток конкретики. * Кандидат №5 (Специфический стек): Опыт с SaltStack и Argo CD был принят как эквивалент требованиям Ansible и GitLab CI, что доказывает понимание принципов, а не механическое подстраивание.

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

Вывод

Представленный кейс демонстрирует, что автоматизация рекрутмента возможна без сложной инфраструктуры. Используя абстракцию облачного инференса (FMC), разработчик может создать эффективный фильтр, который обрабатывает десятки файлов в день, предоставляя человеку готовую аналитику.

Система не оценивает личность кандидата, не анализирует фото или возраст и не принимает решение о приеме на работу. Она решает узкую, но рутинную задачу — сопоставление текста с требованиями, освободив HR-специалиста для работы с наиболее перспективными кандидатами."

Первоисточники

Habr AI
← Вернуться в эфир