AI-агент для скрининга кандидатов: первичный диалог ведёт бот, а менеджеру падают готовые карточки с решением
Telegram UserBot с LLM-оркестратором ведёт переписку с кандидатами от живого аккаунта, собирает анкету из свободного текста и отдаёт менеджеру готовую карточку с кнопками Одобрить / Отказать / Дозапрос. Человек подключается только к финальному решению.
Первичный отбор съедал часы ручной переписки
В модельном агентстве воронка входящих кандидатов широкая, а первое касание — всегда переписка в Telegram. И вся эта переписка одинаковая: поздороваться, задать одни и те же вопросы, попросить фото, уточнить параметры, аккуратно довести человека до анкеты. Менеджер тратит часы в день на разговоры, 80% которых сводятся к одному и тому же скрипту.
Проблема не только в объёме. Кандидаты отвечают свободным текстом и вразнобой: кто-то сразу присылает всё, кто-то — половину и пропадает, кто-то отвечает голосовым или присылает кружок. Менеджеру приходится вычитывать диалог, выуживать из него рост, возраст, город и собирать это в анкету руками. Часть кандидатов теряется просто потому, что им не успели ответить в первые минуты, пока они тёплые.
Ещё одна тонкость: переписка должна идти от живого аккаунта, а не от «бота с кнопками». Кандидат должен чувствовать, что общается с человеком из агентства, иначе доверие к диалогу падает и конверсия в анкету проседает.
Задача формулировалась так: снять с менеджера весь первичный диалог, но не потерять «человечность» общения и оставить за людьми только финальное решение — одобрить кандидата, отказать или дозапросить материалы.
AI ведёт диалог, человек принимает решение
Мы сразу развели две роли: разговор с кандидатом — это работа для AI, а решение по кандидату — работа для человека. AI не должен ничего «решать» о судьбе кандидата; его задача — довести диалог до полной анкеты и передать её менеджеру в удобном виде. Это и снимает рутину, и убирает риск, что модель «сама кого-то взяла или отказала».
Из этого выросла двухуровневая архитектура:
- UserBot — ведёт переписку от имени живого Telegram-аккаунта агентства. Это он здоровается, задаёт вопросы, реагирует на сообщения, собирает анкету.
- AdminBot — отдельный бот, который доставляет менеджеру готовую карточку кандидата с кнопками Одобрить / Отказать / Дозапрос и позволяет планировать созвон.
Сердце системы — LLM-оркестратор. Вместо жёсткого дерева «вопрос → ответ» модель на каждом шаге принимает структурированное решение в формате JSON: какой шаблон отправить, нужно ли генерировать свободный ответ, обновлять ли статус кандидата, уведомлять ли админа — и при каждом решении прикладывает свою логику рассуждения. Это даёт живой диалог, который не ломается от нестандартного ответа.
Но «живой» не значит «бесконтрольный». Поверх AI мы поставили детерминированный движок с FSM и жёсткими guards: некоторые действия запрещены на уровне кода вне зависимости от того, что решила модель. Например, условия сотрудничества физически нельзя отправить, пока кандидат не одобрен человеком. AI предлагает — код проверяет и разрешает.
Что в итоге работает
Получился AI-агент, который полностью ведёт первичный контакт — от приветствия до передачи готового кандидата менеджеру — и при этом неотличим в переписке от живого человека.
Диалог от живого аккаунта, как у человека
UserBot переписывается с кандидатом от имени реального Telegram-аккаунта. Чтобы это читалось как живое общение, в боте заложена имитация поведения человека: реакции 🤍 на сообщения, индикатор «печатает», задержка набора примерно 0,05 секунды на символ с разбросом ±30%, отметка сообщений как прочитанных и маскировка под iOS-клиент. Кандидат видит обычную переписку с менеджером, а не «бота с кнопками».
Анкета собирается из свободного текста
Кандидаты отвечают как угодно — AI-парсер с отдельным extraction-промптом вытаскивает анкетные поля прямо из свободного текста и сам дозапрашивает то, чего не хватает. Не нужно гнать человека по жёсткой форме: он пишет естественно, а структурированная анкета собирается под капотом.
Карточка кандидата с кнопками решения
Когда анкета собрана, AdminBot присылает менеджеру готовую карточку кандидата с тремя кнопками: Одобрить, Отказать, Дозапрос. Менеджер не читает простыню переписки — он смотрит на собранные данные и одним нажатием двигает кандидата дальше. Это и есть тот самый «только финальное решение за человеком».
Медиа: фото, кружки, голосовые, альбомы
Агентству критично работать с медиа, поэтому агент полноценно обрабатывает фото, видео-кружочки, альбомы и голосовые сообщения — скачивает и хранит фото, распознаёт типы вложений, умеет отправлять альбомы и голосовые через внутренние маркеры. Кандидат может прислать материалы в любом удобном формате.
Созвон планируется прямо из карточки
После одобрения менеджер планирует созвон, не выходя из AdminBot: интеграция с Google Calendar подтягивает свободные слоты, создаёт событие со ссылкой на Google Meet и ставит напоминания. Кандидат получает время встречи, менеджер — событие в календаре.
Никто не теряется
Кандидатов, которые ответили не до конца и пропали, агент сам догоняет follow-up'ом через 8 часов и через 2 дня — отдельная фоновая задача проверяет, кто завис без ответа. А при перезапуске бот делает catch-up пропущенных сообщений, так что ни один кандидат не остаётся без реакции.
Под капотом
AI-оркестрация и контроль
Двухуровневая архитектура ботов
Планирование, напоминания, надёжность
Менеджер видит только готовые карточки
На выходе — агент, где AI ведёт диалог от живого аккаунта, собирает анкету и отдаёт менеджеру только готовые карточки с кнопками решения. Первичная переписка, которая раньше съедала часы, теперь идёт сама: бот здоровается, задаёт вопросы, реагирует на сообщения, принимает фото и голосовые, дозапрашивает недостающее и доводит кандидата до полной анкеты. Человек подключается в одной точке — нажать Одобрить, Отказать или Дозапрос — и при одобрении тут же ставит созвон через Google Calendar.
За счёт жёстких guards в FSM система предсказуема: AI не может «сам» отправить условия или перескочить этап — критичные действия разрешает только код после решения человека. А follow-up через 8 часов и 2 дня плюс catch-up при перезапуске означают, что ни один кандидат не выпадает из воронки из-за того, что ему вовремя не ответили.
Конкретные цифры по экономии времени менеджера и доле кандидатов, доведённых до анкеты, — приватные данные клиента и предоставляются по запросу под конкретный проект, без выдуманных метрик.
Если вам нужен такой же AI-агент — чтобы он вёл первичный диалог от живого аккаунта, собирал структурированные данные и отдавал команде готовые решения, — это ровно та механика, которую мы собираем под ключ. Логика переносится на любую нишу с входящей перепиской: рекрутинг, продажи, поддержка, квалификация лидов.
Нужен AI-агент, который заберёт первичный диалог?
Расскажите про вашу воронку переписки — за день пришлём фиксированную смету и сроки. AI-оркестратор, диалог от живого аккаунта, сбор анкеты и карточки решений — собираем под ключ, исходники ваши с первого дня.
Берём в работу ограниченное число проектов одновременно — это держит сроки реальными.