На днях я публиковал материал про парсинг вакансий - и внезапно получил живой отклик: "а можешь сделать нам автоматизацию HR-скрининга под ключ?". Так и родился этот проект: связка n8n + LLM-агенты, где вакансия превращается в критерии, резюме - в оценки, а HR получает прозрачный вердикт и топ кандидатов без ручного перебора. Если лень читать, то тут можно посмотреть наглядно как это реализовано.
Кстати, по данным Smart Ranking, рынок HRtech в России в I полугодии 2025 вырос до 40,6 млрд руб. (+12% год к году). При этом сегмент подбора персонала рос заметно медленнее (+7%), а оценка персонала, наоборот, ускорилась (+31%) - это хорошо объясняет, почему "скоринг" и "оценка кандидатов" в конце 2025 продаются легче, чем очередной "поиск резюме".
Почему бизнесу это вообще надо
Ручной скрининг - это не "просто почитать резюме". Это:
- 50-200 файлов на одну вакансию (и часть из них дублями, с разными версиями).
- Разный формат: PDF, DOCX, иногда фото или скан, где без OCR вообще нечего ловить.
- Одни и те же вопросы по кругу: "сколько лет опыта?", "какой стек?", "а это реально делал или просто перечислил?".
В итоге HR тратит время не на найм, а на сортировку входящего потока. Многоагентка закрывает именно эту боль: делает первичную сортировку и объясняет, почему кандидат в топе или почему его лучше не дергать. Важный нюанс: хорошая система не заменяет собеседование, она убирает бессмысленное чтение "мимо кассы".
Архитектура: n8n + три ИИ-агента
Основа - self-hosted n8n. Для бизнеса это удобно по трем причинам:
- Встраивается в вашу инфраструктуру: почта, CRM, файлохранилища, сервисные аккаунты, доступы.
- Дает прозрачный workflow: что, где и почему упало (и кто виноват - модель, OCR или кривой PDF).
- Легко масштабируется на новые вакансии и источники, без переписывания всего с нуля.
Но есть лицензионная рамка. n8n живет на Sustainable Use License (fair-code). Суть простая: бесплатно для внутренних задач компании и для консалтинга/внедрения, но нельзя превращать n8n в "наш SaaS с доступом по логину" и продавать доступ как продукт.
Что это значит на практике для внедрения:
- Ок: поставить n8n внутри компании и автоматизировать внутренний HR-процесс.
- Ок: консалтинг, интеграция, разработка воркфлоу под клиента, поддержка и сопровождение.
- Опасная зона: "мы хостим n8n, клиент логинится в наш n8n и платит за доступ".
Дальше - три агента. Каждый отвечает за свою часть работы, без "одна модель делает все, потом спорит сама с собой".
Агент 1: вытаскиваем требования из вакансии
Сначала система получает описание вакансии легальным и устойчивым способом:
- Из ATS/CRM компании (идеальный вариант, потому что это ваш контур и ваши данные).
- Из корпоративного карьерного сайта или внутреннего шаблона вакансий.
- Из внешнего источника через официальный API - только если это разрешено условиями источника и ваш кейс укладывается в правила.
Про HeadHunter отдельно. У HH в условиях API есть прямой запрет на передачу данных, полученных через сервис, сторонним сервисам "для использования". Поэтому рекомендацию "скрапить HH" я выбрасываю специально: там легко приехать к блокировкам и неприятным разговорам.
Дальше Agent 1 (Gemini или любая адекватная LLM) превращает текст вакансии в структурированные критерии:
- Hard skills - 40% веса (стек, годы опыта, доменные требования).
- Soft skills - 30% (коммуникация, самостоятельность, лидерство).
- Формальные требования - 30% (образование, сертификаты, язык).
На выходе - JSON, чтобы требования можно было честно считать, хранить, версионировать и переиспользовать. Это критично, если вы потом меняете вакансию и хотите понимать, почему вчера кандидат был "проходной", а сегодня "не проходит".
Агент 2: скоринг резюме по критериям
Резюме попадает в систему из:
- Почты.
- Telegram.
- Формы.
- CRM/ATS.
- Или папки/реестра (об этом ниже).
Agent 2 (часто Claude или аналог) делает главное:
- Достает факты из резюме (не "впечатление", а факты).
- По каждому критерию ставит оценку 1-10.
- Пишет короткое объяснение человеческим языком (для HR и для нанимающего).
- Прикладывает "обоснование": цитату или фрагмент резюме, на котором основан вывод. Это режет выдумки и помогает при аудите решения.
Пример, как это выглядит в отчете:
"SQL - 4 года: 9/10 (выше минимума на 2 года). Основание: '2021-2025... PostgreSQL, отчеты, витрины'".
Инсайт из практики: если не требовать "обоснование" и не хранить evidence, любой скоринг рано или поздно превращается в гадание. HR перестает доверять баллам уже на второй неделе.
Агент 3: итоговый вердикт и риски
этот агент собирает результат в финальный отчет:
- Сильные стороны кандидата.
- Слабые места и риски (без "страшилок", только то, что подтверждено текстом).
- Общий score 0-100.
- Вердикт по порогам:
- 85+ - "вести к офферу"
- 65-85 - "звать на собес"
- <65 - "отказать"
Важный момент: отчет делается так, чтобы его понял не только технарь. HR и руководитель видят "почему да/почему нет", а не магический балл из воздуха.
Критично про ПДн и ИБ (без этого в 2026 не взлетит)
Если резюме с персональными данными уходит во внешнюю LLM, это сразу зона внимания ИБ и юристов. В проде обычно выбирают один из трех рабочих подходов:
Деперсонализация до отправки в модель
Убираем ФИО, контакты, фото, адрес, возраст и другие лишние признаки. Оставляем опыт, навыки, проекты, стек. Это снижает риски и параллельно уменьшает шанс "кривой оценки по косвенным признакам".
- Коммерческие ключи и настройки хранения данных
- Подбираются режимы хранения, сроки, условия. В реальности это чаще всего переговоры "как именно провайдер хранит, где, сколько и кто имеет доступ".
- Приватные контуры (on-prem/VPC), если нужно совсем жестко
- Дороже, сложнее, но иногда иначе нельзя (или проще сразу не начинать).
Отдельно про Anthropic: у них есть формат соглашения zero data retention, и в их справке прямо сказано, что ZDR применяется к Anthropic API и продуктам, которые используют ваш commercial org API key, но не ко всем продуктам подряд. Плюс есть нюансы: некоторые функции (например, Files API) требуют хранения данных до удаления, и это отдельно проговаривается. Это не "страшилка", это нормальная инженерная реальность, которую надо учитывать на старте.
Массовая проверка резюме: не по одному, а пачкой
Кидать резюме по одному - грустный UX, особенно при массовом потоке. Поэтому в проекте изначально закладывается batch-режим. Три рабочих варианта, которые реально приживаются в компаниях:
- Папка-накопитель (Google Drive/Dropbox/S3/локальная шара)
- HR кидает туда файлы, система по расписанию или по событию забирает все новое и прогоняет через пайплайн. Плюс: проще не бывает. Минус: нужен порядок в именовании и дедупликации.
- Реестр в таблице (Google Sheets или Excel в SharePoint)
- HR ведет список кандидатов/ссылок/файлов. n8n берет пачку строк со статусом NEW и обрабатывает циклом. Плюс: отличный контроль, кто обработан, кто нет. Минус: дисциплина ведения реестра.
- Интеграция в ATS/CRM (Bitrix24/amoCRM/кастомная)
- Кандидат попал в сущность "Кандидат" - автоматически создалась задача на скоринг - результат вернулся в карточку и улетел в Telegram. Плюс: идеальный UX для HR. Минус: надо нормально описать бизнес-процесс и права доступа.
Реестр - must-have. После обработки заполняются поля:
- ID вакансии
- score
- вердикт
- причины (коротко)
- риски
- ссылка на исходник/карточку кандидата
- статус (NEW -> SCORED -> INTERVIEW/REJECT)
- версия критериев вакансии (да, это важно, если вакансию правили по ходу найма)
Это потом помогает и для аналитики (какие критерии реально коррелируют с оффером), и для повторного найма, и для простого вопроса "почему мы отказали".
Качество: две типовые проблемы и как мы их режем
Есть две классические неприятности, которые всплывают у любого ИИ в HR-задачах.
- Перекос в оценке кандидатов
- Модель может "по привычке" завышать или занижать баллы определенным профилям, иногда по косвенным признакам. Лечится инженерно:
- Строгие критерии и веса, которые можно объяснить.
- Деперсонализация (убрать пол, возраст, фото, адрес и т.п. до LLM).
- Прямой запрет в инструкциях агенту использовать персональные признаки.
- Контрольные наборы резюме для регрессионных проверок (как unit-тесты, только для найма).
- Выдуманные факты
- Модель иногда уверенно дописывает то, чего в резюме нет. Лечится так:
- Жесткое требование "опирайся только на текст резюме".
- Обязательное хранение evidence (цитаты/фрагменты).
- Валидация на тестовой выборке до боевого запуска (обычно от 100 резюме и выше - зависит от разнообразия вакансий и источников).
Если хочешь так же - куда писать
Такие системы не делаются "по шаблону": их подгоняют под ваш поток кандидатов, ваши вакансии, вашу CRM/ATS и требования ИБ по персональным данным, хранению и доступам. Если тебе интересно найти решение которое сможет сократить тебе издержки и повысить эффективность бизнес процессов, давай устроим короткий созвон/чат для обсуждения деталей.
Мои контакты :
📩 Telegram для связи: @Filonov_al
🔗 Канал: t.me/filonov_tech