Полный разбор того, как AI-агенты закрывают рутину HR-отдела: семантический скрининг резюме, автоматическая оценка кандидатов, онбординг, HR-сервис-деск для сотрудников и предиктивная аналитика удержания. Реальный Python-код, SVG-схема пайплайна, таблица инструментов и метрики окупаемости.
HR — одна из первых отраслей, где AI-агенты перестали быть экспериментом и превратились в рабочий инструмент с измеримым ROI. По оценкам, рекрутер тратит до 70% времени на рутину: чтение резюме, переписку с кандидатами, ответы на типовые вопросы сотрудников, сбор документов. AI-агент снимает именно этот слой, оставляя человеку переговоры, финальные решения и сложные кейсы. В этом гайде — полная карта применения AI-агентов в HR с рабочим кодом, который можно запустить прямо сейчас, даже если в компании нет ни одного ML-инженера. Для подключения самих LLM к агентам удобно использовать готовые API — например, ChatGPT или Claude, оплата которых из России подробно разобрана на отдельных страницах.
AI-агент в HR отличается от обычного чат-бота тем, что он не просто отвечает по скрипту, а принимает решения и выполняет действия: читает входящие резюме, вызывает внутренние API, пишет в ATS, отправляет письма, формирует отчёты. Ключевые сценарии, которые уже окупаются в 2026 году:
01. Скрининг резюме — семантическое сопоставление кандидата с вакансией, ранжирование по релевантности.
02. Структурированная оценка — извлечение навыков, опыта и грейдов из резюме в машиночитаемый JSON.
03. Онбординг — персональный ассистент нового сотрудника, отвечающий на вопросы по политикам и процессам.
04. HR-сервис-деск — автоответы на типовые запросы сотрудников (отпуска, справки, зарплата, ДМС).
05. Предиктивная аналитика — прогноз риска увольнения по данным eNPS, активности и зарплатной истории.
Граница ответственности, которую стоит провести сразу: агент готовит и ранжирует, решение о найме всегда за человеком. Это не только юридически безопаснее, но и даёт точку контроля качества — вы сравниваете выбор агента со своим и калибруете промпт.
Отдельный вопрос — обработка персональных данных. В России это регулируется 152-ФЗ, в Европе — GDPR. Резюме, зарплатные ожидания и eNPS-оценки — это персональные данные, поэтому перед запуском агента стоит: получить согласие на обработку, разместить модель или API в контуре компании (или заключить соглашение с провайдером о неиспользовании данных для обучения), и логировать все действия агента для аудита. Практика показывает, что компании, которые сразу закладывают compliance-слой, внедряют AI-агентов в HR быстрее, чем те, кто пытается «сначала попробовать, а оформить потом».
Первый и самый быстрый win — заменить поиск по ключевым словам семантическим. Вместо «есть ли в резюме слово Python» агент отвечает на вопрос «насколько кандидат соответствует этой конкретной вакансии», даже если он описал опыт другими словами. Технически это два шага: превратить резюме и описание вакансии в векторные эмбеддинги, а затем сравнить их косинусной близостью.
# semantic_screen.py — ранжирование резюме по вакансии import numpy as np from openai import OpenAI client = OpenAI() # OPENAI_API_KEY из окружения def embed(text): r = client.embeddings.create(model="text-embedding-3-small", input=text) return np.array(r.data[0].embedding) vacancy = "Senior Python-разработчик: FastAPI, PostgreSQL, Docker, опыт highload" resumes = [ "5 лет на Django и Flask, проектировал REST API, PostgreSQL", "Менеджер проектов, Agile, Scrum, Jira", "Бэкенд на FastAPI, Kubernetes, брокеры сообщений, 40k RPS", ] v = embed(vacancy) for r in resumes: e = embed(r) score = np.dot(v, e) / (np.linalg.norm(v) * np.linalg.norm(e)) print(f"{score:.3f} {r[:50]}")
Скрипт выдаст близкие к 1.0 значения для релевантных резюме и близкие к нулю — для нерелевантных. В проде вместо списка в памяти — векторная база (ChromaDB, Qdrant, pgvector), куда загружаются сотни тысяч резюме, а поиск по новой вакансии занимает миллисекунды. Порог отсечения (например 0.72) подбирается на исторических данных: какой процент «плохих» кандидатов вы готовы пропустить ради скорости.
Эмбеддинги отвечают «насколько похоже», но не дают структуры. Для извлечения фактов — навыков, лет опыта, грейда — используется LLM с structured output: модель обязана вернуть JSON по схеме, а не свободный текст. Это позволяет потом фильтровать и агрегировать кандидатов по полям, а не грепать по строкам.
# resume_parse.py — извлечение фактов в JSON через structured output from pydantic import BaseModel from openai import OpenAI class Candidate(BaseModel): name: str years_experience: int skills: list[str] seniority: str # junior | middle | senior | lead salary_expectation: int | None client = OpenAI() def parse(resume_text: str) -> Candidate: r = client.beta.chat.completions.parse( model="gpt-4o", messages=[ {"role": "system", "content": "Извлеки факты из резюме. Не додумывай."}, {"role": "user", "content": resume_text}, ], response_format=Candidate, ) return r.choices[0].message.parsed c = parse("Иван Петров, 6 лет в Python, FastAPI, Kafka. Зарплата 400k.") print(c.model_dump()) # {'name': 'Иван Петров', 'years_experience': 6, ...}
Такой парсер вешается на входящий поток резюме: каждое письмо или заявка с карьерного сайта прогоняется через LLM, результат складывается в таблицу кандидатов с готовыми фильтрами «senior, Python, от 400k». Сэкономит часы ручного разбора и исключит человеческие ошибки при переносе данных.
Больше половины обращений в HR — это повторяющиеся вопросы: «сколько дней отпуска», «как оформить больничный», «где взять справку 2-НДФЛ», «что с ДМС». Это идеальная задача для RAG-агента: вы загружаете внутренние политики, регламенты и FAQ в векторную базу, а агент отвечает цитатой из документа, а не выдумывает ответ. Сборка такого агента занимает меньше часа, а закрывает 50–70% тикетов первой линии.
# hr_desk.py — RAG-агент по внутренним политикам (ChromaDB + OpenAI) import chromadb from openai import OpenAI client = OpenAI() db = chromadb.PersistentClient(path="./hr_kb") col = db.get_or_create_collection("policies") # 1. Загрузка документов (делается один раз при подключении базы) docs = ["Отпуск — 28 календарных дней в год...", "ДМС оформляется после испытательного срока..."] for i, d in enumerate(docs): col.add(ids=[f"d{i}"], documents=[d]) def ask(question: str) -> str: hits = col.query(query_texts=[question], n_results=3)["documents"][0] context = "\n".join(hits) r = client.chat.completions.create( model="gpt-4o-mini", messages=[ {"role": "system", "content": "Отвечай строго по контексту. Если ответа нет — скажи, что передашь HR-менеджеру."}, {"role": "user", "content": f"Контекст:\n{context}\n\nВопрос: {question}"}, ], ) return r.choices[0].message.content
Как измерить эффект сервис-деска: ведите счётчик тикетов, которые агент закрыл без участия человека, и отдельно — долю эскалаций, где агент ошибся. Здоровый целевой ориентир на старте — 50% автономного закрытия при менее чем 5% неверных ответов. Если агент начинает «сочинять» — сужайте базу знаний, добавляйте больше документов и ужесточайте системный промпт: правило «лучше честно эскалировать, чем выдумать» должно стоять в нём явно и стоять первым пунктом. Ключевая строчка — «если ответа нет, передай человеку». Агент с RAG безопасен ровно настолько, насколько он умеет честно признавать незнание и эскалировать, а не сочинять ответ про корпоративные правила. Этот же агент работает на онбординге: новый сотрудник задаёт вопросы персональному боту в первый месяц вместо того, чтобы дёргать коллег и HR по мелочам. Для оркестрации такого сервиса в связке с корпоративными системами удобно использовать low-code платформы — например, n8n.
Самый дорогой для бизнеса сценарий — прогноз увольнения. Замена сотрудника стоит от 30 до 200% его годовой зарплаты, поэтому ранний сигнал «человек в зоне риска» окупает любой бюджет на аналитику. Модель собирает признаки: падение eNPS, снижение активности в корпоративных системах, отсутствие повышений, длительность на позиции, зарплата относительно рынка — и выдаёт вероятность оттока.
# attrition_model.py — предсказание риска увольнения import pandas as pd from sklearn.ensemble import GradientBoostingClassifier from sklearn.model_selection import train_test_split df = pd.read_csv("employees.csv") # признаки + колонка left (0/1) feats = ["tenure_months", "enps", "salary_ratio", "promotions", "activity_score"] X_train, X_test, y_train, y_test = train_test_split( df[feats], df["left"], test_size=0.2, random_state=42) model = GradientBoostingClassifier() model.fit(X_train, y_train) risk = model.predict_proba(X_test)[:, 1] # вероятность ухода for idx, p in enumerate(risk): if p > 0.6: print(f"Сотрудник {idx}: риск {p:.0%} — инициировать retention-разговор")
Модель не «увольняет» и не ставит диагноз — она лишь подсвечивает HR-менеджеру, с кем стоит поговорить до того, как человек напишет заявление. Важно соблюдать этику и законы о персональных данных: признаки собираются агрегированно, без слежки за личной перепиской, а результат — рекомендация для живого разговора, а не автоматическое решение. Для более сложных автономных сценариев, где агент сам ходит по системам и собирает данные, стоит посмотреть на Manus — автономного агента общего назначения.
Рынок HR-tech на AI-агентах в 2026 году делится на три слоя: готовые SaaS-платформы, low-code конструкторы и собственные Python-сборки. Выбор зависит от бюджета и того, насколько уникальны ваши процессы.
| Инструмент | Тип | Сценарий | Цена |
| Paradox (Olivia) | SaaS | чат-интервью, скрининг | от $300/мес |
| HireVue | SaaS | видео-интервью, оценка | кастом |
| Eightfold / Moonhub | SaaS | talent intelligence, сорсинг | кастом |
| n8n + OpenAI | low-code | сервис-деск, онбординг | $20–50/мес |
| Python + ChromaDB | self-host | полный кастом | цена API |
С чего начать, если вы решили внедрять уже завтра: на первой неделе соберите RAG-сервис-деск по внутренним политикам (самый дешёвый и заметный эффект), на второй — подключите семантический скрининг резюме к входящему потоку вакансий, на третьей — добавьте structured output для извлечения фактов и начните копить чистую базу кандидатов для будущей аналитики. Предиктивный отток оставьте на потом — он требует накопленной истории по сотрудникам, которой у небольшой компании на старте просто нет. Для компании до 100 сотрудников MVP на Python + OpenAI API обойдётся в 50–200 долларов в месяц на токены и закроет 80% потребностей. Переплачивать за enterprise-SaaS имеет смысл только когда появляются требования по комплаенсу, интеграции с SAP/Oracle и SLA. Подробнее про тарифы и оплату моделей из России — в разделах оплата ChatGPT и оплата Claude.
AI-агенты в HR окупаются быстрее, чем в большинстве других отделов, потому что рутины здесь много, а цена ошибки при найме — высокая. Стартовать стоит с двух быстрых сценариев: семантический скрининг резюме и RAG-сервис-деск по внутренним политикам — оба собираются за день на Python и сразу экономят десятки часов. Дальше — структурированное извлечение фактов из резюме и предиктивная аналитика удержания, где эффект измеряется уже в деньгах на предотвращённом оттоке. Главное правило — агент готовит, а решение о найме и увольнении принимает человек.
Следите за новыми гайдами по AI-агентам и автоматизации — в Telegram-канале Qantcore.
Подписаться на @qantcore