Что получится
ИИ-агент для HR и рекрутинга помогает разбирать резюме, сравнивать опыт с требованиями вакансии, готовить summary кандидата, предлагать вопросы для интервью, обновлять ATS и согласовывать время собеседования.
Важно: такой агент не должен автоматически отказывать кандидатам или принимать решения о найме. Он помогает рекрутеру, но финальное решение остается за человеком.
Где агент полезен
- Разбор входящих резюме.
- Сопоставление кандидата с вакансией.
- Подготовка краткого профиля кандидата.
- Поиск missing information.
- Составление вопросов для интервью.
- Scheduling интервью.
- Обновление статуса в ATS.
- Подготовка feedback summary после интервью.
- Поиск похожих кандидатов в базе.
Шаг 1. Определите границы ответственности
HR-агент работает с персональными данными и влияет на карьеру людей, поэтому границы должны быть очень четкими.
Разрешите агенту:
- извлекать факты из резюме;
- готовить summary;
- сопоставлять требования вакансии и опыт;
- предлагать вопросы;
- находить пробелы в данных;
- создавать черновик письма кандидату;
- готовить карточку для рекрутера.
Запретите агенту:
- автоматически отказывать;
- ранжировать людей по чувствительным признакам;
- делать выводы о возрасте, здоровье, семейном положении, национальности и похожих признаках;
- обещать оффер;
- менять статус кандидата без approval;
- отправлять письма без проверки.
Шаг 2. Подключите ATS
Если компания использует Greenhouse, можно работать через Harvest API и другие Greenhouse API: вакансии, кандидаты, applications, interviews и related data. Для Lever есть Developer API для candidates, opportunities, postings и pipeline. Workable также предоставляет API для jobs, candidates и webhook-сценариев.
Сразу решите:
- агент только читает кандидатов или может обновлять карточки;
- какие вакансии доступны;
- кто может запускать screening;
- можно ли читать вложения;
- можно ли писать комментарии;
- можно ли менять stage.
Для первой версии используйте read-only доступ плюс право создавать internal note после подтверждения рекрутера.
Шаг 3. Настройте минимальные права
Минимальные права:
- читать конкретную вакансию;
- читать кандидатов этой вакансии;
- читать резюме и сопроводительные письма;
- читать interview feedback, если это разрешено;
- писать внутренний комментарий после approval;
- не менять stage без подтверждения;
- не удалять кандидатов;
- не отправлять внешние письма без проверки.
Если агент подключен к календарю, права календаря тоже должны быть ограничены.
Шаг 4. Извлеките структуру из резюме
Резюме бывают в PDF, DOCX, LinkedIn export, plain text и иногда в виде изображения. Сначала нужен extraction pipeline.
Извлекайте:
- имя;
- контакты;
- текущую роль;
- опыт по компаниям;
- навыки;
- образование;
- языки;
- сертификаты;
- ссылки;
- даты;
- достижения;
- ограничения по формату документа.
Не делайте выводы по фото, полу, возрасту, семейному положению и другим чувствительным признакам.
Шаг 5. Подготовьте профиль вакансии
Агент должен сравнивать кандидата не с абстрактным “идеальным человеком”, а с конкретной вакансией.
Профиль вакансии:
- must-have требования;
- nice-to-have требования;
- задачи роли;
- уровень seniority;
- стек технологий;
- доменная экспертиза;
- формат работы;
- языки;
- критерии rejection, если они законны и заранее определены;
- вопросы для уточнения.
Если требования размыты, агент должен попросить рекрутера уточнить их.
Шаг 6. Сопоставьте кандидата и вакансию
Результат matching лучше делать объяснимым.
{
"candidate_summary": "Backend-разработчик с 5 годами опыта в Python и PostgreSQL",
"matched_requirements": ["Python", "PostgreSQL", "REST API"],
"missing_requirements": ["опыт Kubernetes не найден"],
"unclear_points": ["неясен уровень английского"],
"questions_for_interview": [
"Расскажите про самый сложный production-инцидент с PostgreSQL"
],
"decision": "needs_recruiter_review"
}
Не используйте непрозрачный “скоринг 87/100” как основание решения. Лучше показывать факты, совпадения и вопросы.
Шаг 7. Подготовьте summary для рекрутера
Хороший summary:
- короткий;
- основан на резюме;
- отделяет факты от предположений;
- показывает совпадения с вакансией;
- показывает пробелы;
- предлагает вопросы;
- не содержит чувствительных признаков;
- не делает финальный вывод “нанять/отказать”.
Формат: “что известно”, “что подходит”, “что проверить”, “вопросы на интервью”.
Шаг 8. Добавьте screening-вопросы
Агент может подготовить вопросы для рекрутера или кандидата.
Примеры:
- уточнить опыт по must-have навыку;
- попросить пример проекта;
- проверить формат работы;
- уточнить уровень языка;
- спросить про ожидания по срокам выхода;
- уточнить релевантность доменного опыта.
Вопросы должны быть связаны с работой. Не задавайте вопросы про личную жизнь, здоровье, семейный статус и другие нерелевантные темы.
Шаг 9. Настройте интервью и календарь
Агент может помочь согласовать интервью:
- предложить слоты;
- проверить доступность интервьюеров;
- создать событие;
- добавить ссылку на созвон;
- отправить черновик письма;
- записать итог в ATS.
Но отправку кандидату лучше делать через approval: рекрутер проверяет тон, время, ссылку и участников.
Шаг 10. Обновляйте ATS осторожно
Write-действия в ATS должны быть ограничены.
Можно после подтверждения:
- добавить internal note;
- прикрепить summary;
- добавить tag;
- создать задачу рекрутеру;
- назначить интервью;
- обновить missing fields.
Опасные действия:
- reject candidate;
- move to hired;
- delete application;
- bulk update;
- отправить external email;
- изменить compensation fields.
Они должны требовать человека и обычный процесс рекрутинга.
Шаг 11. Защитите персональные данные
HR-данные чувствительны.
Правила:
- хранить только нужные данные;
- ограничить доступ по ролям;
- не отправлять резюме целиком в модель без необходимости;
- маскировать контакты при аналитике;
- логировать доступ к кандидатам;
- удалять временные файлы;
- учитывать сроки хранения резюме;
- не использовать кандидатов для обучения без отдельного основания.
Если работаете в нескольких юрисдикциях, юридическая проверка обязательна.
Шаг 12. Протестируйте на контрольных резюме
Соберите тесты:
- хороший match;
- слабый match;
- резюме с нестандартным форматом;
- PDF-скан;
- кандидат без важного must-have;
- кандидат с похожим, но нерелевантным опытом;
- резюме с чувствительными данными;
- попытка prompt injection в резюме;
- запрос автоотказа;
- запрос массовой сортировки.
Проверяйте, что агент не дискриминирует, не делает финальное решение и не использует нерелевантные признаки.
Минимальная архитектура
ИИ-агент для HR и рекрутинга состоит из восьми блоков.
- ATS connector: Greenhouse, Lever, Workable или другая система.
- Resume extractor: PDF, DOCX, текст, OCR.
- Job profile builder: must-have, nice-to-have, seniority и задачи роли.
- Matching layer: факты, совпадения, пробелы и вопросы.
- Screening assistant: summary, вопросы и missing info.
- Scheduling layer: календарь, интервьюеры и черновик письма.
- Policy layer: privacy, bias checks, запрет автоотказов и approval.
- Audit layer: доступы, summaries, действия и изменения ATS.
Модель помогает структурировать и объяснять. Решения по кандидату, статусы и внешние коммуникации контролирует человек.
Частые вопросы
Можно ли агенту автоматически отказывать кандидатам?
Лучше не делать этого. Агент может подсветить missing requirements и подготовить summary, но решение по отказу должен принимать рекрутер или hiring manager.
Можно ли использовать скоринг кандидатов?
Можно использовать объяснимую оценку по заранее заданным требованиям, но не черный ящик. Лучше показывать совпадения, пробелы и вопросы, а не один общий балл.
Какие данные из резюме нельзя использовать?
Не используйте чувствительные и нерелевантные признаки: возраст, пол, семейное положение, здоровье, национальность, фото и похожие данные. Оценивайте только рабочие требования.
Что автоматизировать первым?
Извлечение фактов из резюме, summary для рекрутера и вопросы для интервью. Write-действия в ATS и письма кандидатам добавляйте после approval.
Как защититься от prompt injection в резюме?
Считать резюме недоверенным документом. Текст резюме не должен менять системные правила, раскрывать токены или заставлять агента выполнять действия вне разрешенного workflow.