AI-рекрутинг:
автоматизация подбора персонала
на базе Яндекс Трекера, n8n и YandexGPT

AI-рекрутинг — это автоматизация подбора персонала с использованием алгоритмов машинного обучения и языковых моделей. Такие системы позволяют автоматически анализировать резюме кандидатов, управлять воронкой подбора и ускорять процесс закрытия вакансий. В этом кейсе мы покажем, как реализовать автоматизацию подбора персонала на российском стеке: Яндекс Трекер, n8n и YandexGPT.
  • Зачем автоматизировать рекрутинг
Рекрутинг — один из самых трудоёмких процессов в HR. Рекрутер тратит в среднем 23 часа на закрытие одной позиции: поиск, скрининг резюме, координация интервью, подготовка фидбеков. При этом 60–70% этого времени уходит на рутину, которая не требует экспертизы — только дисциплины и внимания. Поэтому всё больше компаний внедряют автоматизацию рекрутинга, чтобы ускорить подбор персонала и снизить нагрузку на HR-команду.

Наш клиент: технологическая компания с командой из 8 рекрутеров, закрывающих порядка 30–40 позиций в месяц. Задача: сократить time-to-hire с 45 до 20 дней и снизить нагрузку на рекрутеров так, чтобы тот же объём закрывали 5 человек вместо 8.

Принципиальное ограничение: основной стек должен быть российским или self-hosted. Это исключало западные ATS вроде Greenhouse или Lever, а также прямое использование OpenAI API в production-контуре.
  • Архитектура решения
Решение построено на четырех ключевых компонентах, каждый из которых закрывает свою зону ответственности.
  • Кейс 1. Автоматический сбор CV с джоб-бордов
Какие площадки подключаем и как
На российском рынке четыре ключевые площадки для поиска кандидатов. Мы интегрировались со всеми через их API.
Как это работает в n8n
В n8n мы создали отдельный workflow на каждую площадку. Логика для hh.ru (основной источник, ~70% откликов) и Хабр Карьеры (второй по значимости для IT-вакансий) принципиально одинакова:

  • Cron-триггер каждые 15 минут вызывает эндпоинт списка откликов. Для hh.ru это GET /employers/{id}/negotiations, для Хабр Карьеры — GET /v1/integrations/vacancies/{id}/responses.
  • Для каждого отклика забираем полный профиль кандидата. У hh.ru — отдельный запрос GET /resumes/{id}. У Хабр Карьеры профиль уже приходит в теле отклика: навыки (skills), опыт (experience_total), зарплата (compensation), готовность к удалёнке (remote).
  • Данные нормализуются в единый формат. У каждой площадки своя структура: hh.ru выдаёт experience как массив объектов с датами, Хабр Карьера — суммарный стаж в месяцах и последнее место работы. Нормализатор в n8n приводит всё к общей схеме.
  • В Яндекс Трекере через POST /v2/issues создаётся подзадача типа «Кандидат», прилинкованная к задаче-вакансии. В кастомные поля записываем: имя, источник, ключевые навыки, опыт, зарплатные ожидания.

Технический нюанс: лимиты API
  • hh.ru ограничивает просмотр резюме — 500 штук в день на менеджера. При массовом найме (10+ позиций одновременно) этого не хватает. Мы реализовали пул из нескольких OAuth-токенов с round-robin балансировкой в n8n и exponential backoff при 429-х ошибках.
  • У Хабр Карьеры лимиты мягче, но отсутствует webhook-механизм — только polling. Поэтому для неё cron-интервал выставлен чаще: раз в 5 минут.
  • Кейс 2. AI-скоринг резюме через YandexGPT
Бизнес-задача
Скоринг — ключевой этап, где AI даёт максимальный выигрыш. Рекрутер тратит 3–5 минут на оценку одного резюме. При 200 откликах на позицию это 10–15 часов чистого скрининга. Наша задача: свести ручной скрининг к нулю для 80% кандидатов.

Структура данных в Яндекс Трекере
Каждая вакансия в Трекере содержит структурированное описание требований в кастомных полях. Рекрутер заполняет их при создании позиции — это и есть «эталон» для скоринга:
  • must-have навыки — обязательные технические и софт-скиллы (JSON-массив)
  • nice-to-have — желательные, дающие дополнительные баллы
  • минимальный опыт — в годах, по ключевым технологиям
  • уровень позиции — junior / middle / senior / lead
  • зарплатная вилка — для фильтрации по ожиданиям кандидата

Промпт и модель
Когда n8n получает новое резюме, он собирает данные вакансии из Трекера (GET /v2/issues/{key}) и формирует промпт для YandexGPT 5.1 Pro. В системном промпте модель получает роль HR-аналитика и инструкцию вернуть JSON с полями: overall_score (0–100), must_have_match (список совпадений), gaps (чего не хватает), salary_fit, recommendation (shortlist / maybe / reject) и reasoning.

YandexGPT 5.1 Pro выбран не случайно. Для задачи скоринга критичны три вещи: точное следование инструкциям (structured output в формате JSON), понимание российского рынка труда (названия вузов, локальные сертификации, специфика должностей) и низкий процент галлюцинаций. По данным Яндекса, версия 5.1 Pro вдвое реже выдаёт придуманные факты по сравнению с предыдущей и показывает результаты на уровне GPT-4.1 от OpenAI.

Первые версии промпта давали нестабильный JSON. Решили через few-shot examples прямо в системном промпте и жёсткую спецификацию формата. На стороне n8n добавили валидацию ответа с fallback на повторный запрос при невалидном JSON.

Воронка автоматизации
После скоринга n8n автоматически маршрутизирует кандидатов по результату:
  • Score >= 70 — задача-кандидат переходит в статус «Shortlist» в Трекере, линкуется с вакансией через POST /v2/issues/{key}/links. Рекрутер получает уведомление.
  • Score 40–69 — статус «Review». Рекрутер видит резюме с AI-комментарием (reasoning) и принимает решение вручную.
  • Score < 40 — автоматический вежливый отказ через API площадки. На hh.ru — через смену состояния отклика, на Хабр Карьере — через соответствующий эндпоинт. Кандидат получает ответ в течение 24 часов.

Результат
Из 200 откликов на позицию рекрутер теперь вручную просматривает только 10–20. Остальные либо автоматически проходят в воронку, либо получают отказ.
  • Кейс 3. Chrome-плагин: транскрипция, саммари и прогноз найма
Это самая технически сложная и бизнесово ценная часть решения. Мы разработали Chrome плагин, которое превращает каждое интервью в структурированные данные и привязывает их к карточке кандидата в Трекере.

Что делает плагин
  1. Захватывает аудио из браузерного видеозвонка (Google Meet, Яндекс Телемост, Контур Толк и любые другие ВКС).
  2. Выполняет потоковую транскрипцию с разделением говорящих (диаризация).
  3. Генерирует структурированное саммари по итогам интервью: ответы на ключевые вопросы, red flags, сильные стороны.
  4. Рассчитывает вероятность успешного найма (hire probability) на каждом этапе воронки.
  5. Автоматически привязывает транскрипцию и саммари к карточке кандидата в Яндекс Трекере через комментарий с форматированным текстом.

Выбор моделей: почему гибридный подход
Для анализа интервью мы сознательно вышли за рамки одного провайдера. Задача требует нескольких типов AI-обработки, и под каждый оптимальна своя модель:
Почему YandexGPT не подходит для глубокого анализа интервью?
Две причины. Во-первых, контекстное окно: у YandexGPT 5 Pro оно составляет 32K токенов, а транскрипция часового интервью — это 15–20K токенов. Когда нужно добавить к ней резюме, описание вакансии, историю предыдущих интервью и профиль менеджера — места не хватает. Во-вторых, прогноз найма требует сложных мультишаговых рассуждений с учётом слабых сигналов (уклончивость ответов, несоответствие заявленного опыта глубине ответов), где модели с большим контекстом и развитым reasoning показывают себя лучше.

Для саммари, которое не требует огромного контекста, YandexGPT 5.1 Pro работает отлично: принимает транскрипцию (15–20K токенов) и возвращает структурированную выжимку. Здесь ключевое преимущество — понимание российских реалий: специфика должностей, названия технологий, обороты русского языка.

RAG: персонализация под нанимающего менеджера
Одна из уникальных особенностей системы — учёт стиля конкретного нанимающего менеджера при расчёте вероятности найма. Реализовано через RAG (Retrieval-Augmented Generation) на базе векторной БД Qdrant (self-hosted):
  • Все исторические данные по интервью сохраняются в векторную базу: транскрипции, оценки рекрутеров, финальные решения, фидбек после испытательного срока.
  • При расчёте hire probability система извлекает из RAG профиль менеджера: какие качества он ценит, какие red flags для него критичны, каких кандидатов он исторически нанимал и увольнял.
  • Это позволяет учесть, например, что менеджер команды A всегда отклоняет кандидатов без опыта в конкретном фреймворке, даже если общий скор высокий. Или что менеджер команды B ценит софт-скиллы выше технических.

Правило «4 кандидата по 80%»
Система отслеживает hire probability по всем кандидатам на позицию в реальном времени. Когда 4 или более кандидата достигают порога 80%, система:
  1. Автоматически ставит вакансию в статус «Достаточно кандидатов» в Трекере.
  2. Отправляет уведомление рекрутеру и нанимающему менеджеру.
  3. Прекращает отправку новых откликов в скоринг — экономит бюджет на API-вызовы.
  4. Новые отклики уходят в статус «Ожидание» и будут обработаны, только если кто-то из shortlist выпадет.

Порог в 4 кандидата выбран на основе данных клиента: исторически при 4 финалистах с высоким скором offer acceptance rate составляет 95%+. Это оптимальное соотношение между качеством воронки и затратами на процесс.
  • Результаты: оптимизация штата и метрики
Ключевой бизнес-эффект: сокращение штата рекрутеров с 8 до 5 человек при одновременном росте пропускной способности почти вдвое. Три рекрутера были переквалифицированы в рекрутинг-аналитиков — они теперь работают над качеством процесса, обучают модели на исторических данных и развивают RAG-базу.

Offer acceptance rate вырос с 72% до 89%. Это следствие не только лучшего скрининга, но и персонализации: система помогает находить кандидатов, подходящих конкретному менеджеру, что снижает количество ситуаций, когда оффер делается, но кандидат отклоняется на финальном этапе.

Этот проект показал, что автоматизация подбора персонала с использованием AI позволяет существенно ускорить процесс найма и снизить нагрузку на HR-команду.
  • Технические уроки и подводные камни
1. n8n без нативного модуля для Яндекс Трекера
В n8n нет готовой интеграции с Яндекс Трекером. Вся работа идёт через HTTP Request ноды. Мы создали переиспользуемые sub-workflow для типовых операций: создание задачи, смена статуса, добавление комментария, линковка. Авторизация через OAuth-токен Яндекса с автообновлением через отдельный workflow.

2. Нормализация данных с разных площадок
Каждая площадка возвращает резюме в своём формате. hh.ru выдаёт детальный JSON с массивом experience-объектов. Хабр Карьера — компактный профиль с experience_total в месяцах и последним местом работы. SuperJob — свою структуру. В n8n мы написали Code-ноду (JavaScript) на ~200 строк, которая приводит всё к единой схеме перед отправкой в скоринг.

3. Rate limiting hh.ru
API hh.ru жёстко лимитирует запросы. Помимо пула токенов, мы добавили exponential backoff и очередь запросов в n8n. При массовом найме (10+ позиций одновременно) без этого система быстро упирается в 429-е ошибки.

4. Промпт-инжиниринг для скоринга
YandexGPT 5.1 Pro заметно лучше следует инструкциям, чем предыдущие версии, но для стабильного JSON-вывода потребовались: few-shot examples в системном промпте, жёсткая JSON-схема, валидация на стороне n8n с retry при невалидном ответе. Процент невалидных JSON снизился с 15% (первый прототип) до 2% (текущая версия).

5. Латентность Whisper для live-транскрипции
Whisper Large V3 — не real-time модель. На GPU NVIDIA A10 транскрипция часового интервью занимает 3–4 минуты. Для live-транскрипции в плагине используем Whisper Large V3 Turbo (в 6 раз быстрее, минимальная потеря качества), а полную модель прогоняем после завершения звонка для финального саммари.
  • Заключение
Автоматизация рекрутинга — это не замена рекрутера, а освобождение его от рутины. AI берёт на себя скрининг, транскрипцию, первичную аналитику. Рекрутер фокусируется на том, что действительно требует человеческой экспертизы: построении отношений с кандидатами, глубоком интервью, принятии финальных решений.

Стек Яндекс Трекер + n8n + YandexGPT показал, что российские инструменты позволяют строить production-grade автоматизацию, сопоставимую по уровню с западными ATS. При этом гибридный подход к моделям — YandexGPT для текстовых задач на русском, Whisper для аудио, Claude для сложной аналитики с большим контекстом — даёт лучший результат, чем попытка закрыть все задачи одной моделью.

Подключение четырёх площадок (hh.ru, Хабр Карьера, SuperJob, Работа.ру) через единый пайплайн в n8n с нормализацией данных обеспечило полное покрытие рынка кандидатов без ручной работы. А Chrome-плагин с RAG-персонализацией под менеджера стал главным фактором роста offer acceptance rate.

Подробнее о настройке и автоматизации процессов можно прочитать в нашем материале про внедрение Яндекс Трекера.
  • Хотите внедрить подобное решение? Оставьте заявку, и мы поможем спроектировать архитектуру системы и настроить автоматизацию рекрутинга под задачи вашей компании.