Перейти к содержимому
Антон ГончаровРазработчик ИИ-систем

Веб-приложение · HR · скоринг и чат-бот

Отбор резюме и бот-интервьюер

Рекрутер тратит на резюме минут пять, и на сотне откликов это день работы, в конце которого внимание уже не то. Нейросеть разбирает быстрее, но решение «отказать» без объяснения нельзя ни показать руководителю, ни защитить по ТК РФ. Здесь у каждой оценки есть причина и цитата, обязательные требования отделены от желательных, а то, чего нет в резюме, бот спрашивает у кандидата сам, вместо того чтобы молча снижать балл.

Сценарий: Компания «Траектория» в Казани — вымышленная: три вакансии (менеджер по продажам B2B, Python-разработчик, кладовщик) и по 6–7 откликов на каждую, от идеальных до «не наш город».

Скриншот демо: Отбор резюме и бот-интервьюер

Открыть демо

Удобнее с компьютера: список кандидатов и разбор резюме видны рядом.

Приложение работает в браузере: на сервер ничего не отправляется.

Что показывает демо

  • Парсер резюме: имя, должность, город, переезд, формат, зарплата, места работы с периодами в любой записи — «Март 2021 — по настоящее время», «03.2019 – 11.2020»

  • Требования вакансии: обязательные и желательные, вес от 1 до 3, ключевые слова, стаж «от N лет» и потолок вилки — оценка пересчитывается сразу

  • Решение с причинами: «Пригласить», «Уточнить у бота», «На рассмотрение», «Отказ»; у каждого требования — цитата из резюме или ответа боту

  • Стаж считается по местам работы: опыт в профильной роли идёт целиком, упоминание в обязанностях — частично

  • Флаги для рекрутера: частая смена работы, перерыв больше полугода, общие слова без цифр

  • Пол, возраст, семейное положение и дети вырезаются до оценки (ст. 3 и 64 ТК РФ) — в резюме они видны зачёркнутыми, на балл не влияют

  • Бот-интервьюер в стиле Telegram: спрашивает только недостающее, переспрашивает «по-разному бывало», останавливается на обязательном «нет», даёт кейс по вакансии и записывает на свободный слот

  • Два режима бота: переписка с заготовленными ответами кандидата или отвечаете за кандидата сами

  • Воронка по этапам: новые, бот-интервью, собеседование, оффер, резерв, отказ

  • Письма-приглашения, отказы и резерв с деловой причиной; проверка ловит «ищем помоложе», «без детей» и отказ без причины

  • Слепой отбор без имён, своё резюме из буфера обмена, выгрузка таблицы в CSV

Как попробовать

  1. Посмотрите разбор

    Первым идёт кандидат со 100% совпадения. Во вкладке «Разбор» у каждого требования — цитата из резюме, во вкладке «Резюме» те же места подсвечены, а пол, возраст и семья вычеркнуты.

  2. Запустите бота

    Вакансия «Python» → Тимур Сафин, «Уточнить у бота» → «Бот-интервью». Бот спросит про SQL, тесты и кейс и запишет на собеседование — оценка вырастет до приглашения.

  3. Ответьте за кандидата

    У другого кандидата выберите «Ответить за кандидата» и напишите «по-разному бывало» — бот переспросит. Ответьте «нет» на обязательный вопрос — интервью остановится.

  4. Поменяйте требования

    «Требования» → сделайте CRM желательной или снизьте потолок вилки. Список пересортируется сразу, «Как было» вернёт исходное.

  5. Проверьте письмо

    «Пригласить» откроет письмо со слотом из переписки. Допишите «ищем кандидата помоложе» — проверка подсветит фразу и сошлётся на ТК РФ.

  6. Добавьте своё резюме

    «Резюме» → вставьте текст с hh.ru или шаблон. Включите «Слепой отбор» и откройте «Воронку».

Без платных нейросетей

Платных запросов к нейросетям нет: разбор резюме, скоринг и бот работают на правилах, ответы кандидатов боту заготовлены — или отвечайте сами. Парсер, подсчёт стажа, флаги, вопросы бота, проверка писем работают по-настоящему. В рабочем проекте на месте правил — модель, которая читает резюме в любом виде, но с теми же проверками: цитата на каждое решение и запрет на признаки, не связанные с работой.

Демо работает без API-ключей OpenAI, YandexGPT или GigaChat. Там, где рабочая система обращается к модели, стоит локальная заглушка с тем же интерфейсом — поэтому демо бесплатно, всегда доступно и ничего не выдумывает.

Что будет в рабочем проекте

  • Отклики из hh.ru, SuperJob и Хабр Карьеры по API и из почты, резюме в PDF и DOCX — в одну базу
  • Разбор резюме моделью YandexGPT, GigaChat или GPT со структурированным ответом и цитатами; проверка кодом, что цитата правда есть в тексте
  • Бот-интервьюер в Telegram или в чате hh.ru, запись на собеседование в календарь рекрутера и руководителя
  • Статусы и письма — в Хантфлоу, Поток, amoCRM или Битрикс24; рекрутер видит причины и решает сам
  • Персональные данные по 152-ФЗ: хранение в России, согласие на обработку, удаление по сроку

Стек

  • React 19
  • TypeScript
  • Zustand
  • Vite
  • Tailwind CSS

Основано на

Книги и дисциплины, идеи из которых работают в этом демо.

  • Книга · Уильям Арнц, Бетси Чейс, Марк Висенте

    Что мы вообще знаем?

    Пол, возраст и семейное положение вырезаются из резюме до оценки: решение принимается по требованиям вакансии, а не через фильтр привычных представлений.

Комментарий от разработчика

Антон Гончаров

Разработчик ИИ-систем · Python

Для бизнеса

  • Сотня откликов разбирается за минуты, а рекрутер начинает с тех, кто подходит, и видит, почему.
  • Чего не хватает в резюме, уточняет бот — кандидат не теряется из-за того, что забыл написать про SQL.
  • Решение защищено: у каждого «нет» деловая причина, а пол, возраст и семья в оценку не попадают.

Для разработчиков

  • Скоринг — чистая функция от резюме, требований и ответов боту: правка требования пересчитывает всех кандидатов без запросов к серверу.
  • Парсер понимает периоды работы в разных записях и считает стаж по ролям; числа вроде «Битрикс24» и «2025 года» не принимаются за результаты и стаж.
  • Бот — конечный автомат: очередь вопросов строится из того, что не подтвердилось, а тесты прогоняют все демо-резюме и проверяют, что у каждого вопроса есть ответ.

Советы

  • Совет 01

    Не доверяйте модели решение об отказе без цитаты: просите указать место в резюме и проверяйте кодом, что оно там есть.

  • Совет 02

    Убирайте пол, возраст и семью из текста до того, как его увидит модель, — так они точно не повлияют на оценку.

Нужен такой же для вашего бизнеса?

Расскажите о задаче — отвечу, что из демо подойдёт вам, сколько это займёт и что понадобится с вашей стороны.

Другие демо в этом разделе

Все демо
  • Веб-приложение · схема агента

    работает

    Конструктор AI-агента

    Агент поддержки собирается из блоков: намерения, база знаний, вызовы API, проверки и передача оператору. Отправьте сообщение клиента — путь подсветится на схеме шаг за шагом.

    • React
    • TypeScript
  • Веб-приложение · вопрос → SQL → график · PostgreSQL в браузере

    работает

    ИИ-аналитик данных

    Руководитель спрашивает своими словами — «выручка по каналам за 3 квартал», «какие клиенты перестали заказывать» — и получает SQL, график, таблицу и вывод. База продаж — настоящий PostgreSQL, который работает прямо в браузере.

    • React
    • TypeScript
  • Веб-приложение · риски по эталону · Word с правками

    работает

    Проверка договоров

    Контрагент прислал свой договор — проверка сверяет его с эталоном компании, подсвечивает рискованные пункты, объясняет, чем они опасны, и предлагает редакцию. На выходе — Word с режимом исправлений и протокол разногласий.

    • React
    • TypeScript
  • Веб-приложение · задачи из чата · канбан · вечерняя сводка

    работает

    ИИ-агент в рабочем чате

    В рабочем чате пишут как обычно — «Петя, до пятницы поправь прайс». Агент сам заводит задачу на канбане, двигает её по «Беру» и «Готово», переносит сроки и передаёт задачи, утром напоминает о просрочке, а вечером присылает сводку.

    • React
    • TypeScript
  • Веб-приложение · общий ящик · CRM · защита от подмены реквизитов

    работает

    ИИ-разбор входящей почты

    Агент читает общий ящик отдела продаж: понимает, что за письмо, достаёт поля, заводит сделку, обращение или задачу в CRM и готовит ответ. Счёт с новыми реквизитами и фишинг он ловит до того, как кто-то заплатит или перейдёт по ссылке.

    • React
    • TypeScript
  • Веб-приложение · маркетплейсы · проверка модерации · юнит-экономика

    работает

    Карточки товаров для WB и Ozon

    Агент превращает текст поставщика в две карточки — для Wildberries и для Ozon: название в лимите площадки, описание с ключевыми запросами, характеристики по справочнику. Потом проверяет то, на чём карточки срезаются на модерации, и считает, сколько останется с продажи.

    • React
    • TypeScript
  • Веб-приложение · расшифровка встречи · протокол · канбан

    работает

    Протокол совещания → задачи в канбан

    Агент читает расшифровку планёрки и собирает протокол: решения, задачи с исполнителем и сроком из живой речи, риски и открытые вопросы. Задачи уходят на канбан, а на следующей встрече агент сам двигает их по статусам.

    • React
    • TypeScript
  • Веб-приложение · персональные данные · медицина · аналитика

    работает

    Обезличивание данных перед нейросетью (152-ФЗ)

    Агент находит в письмах и расшифровках ФИО в любом падеже, телефоны, паспорта, СНИЛС, карты, адреса и диагнозы, заменяет их до отправки во внешнюю нейросеть, а её ответ возвращает к настоящим данным уже у вас. Таблицу пациентов обезличивает для аналитики так, чтобы никого нельзя было узнать.

    • React
    • TypeScript
  • Веб-приложение · автоматизация · amoCRM, 1С, Telegram

    работает

    Конвейер автоматизации в духе n8n

    Три рабочих сценария мебельной фабрики на холсте, как в n8n: заявки с сайта уходят в amoCRM и к менеджерам по горячести, оплата ЮKassa — в 1С с повторами и веткой ошибок, по утрам — сводка руководителю. Запустите событие и смотрите, как записи идут от узла к узлу; схему можно править и выгрузить в настоящий n8n.

    • React
    • TypeScript
  • Веб-приложение · мультиагентная система · контент

    работает

    Команда ИИ-агентов для контента

    Шесть агентов готовят публикацию по брифу: главред планирует, исследователь ищет факты в базе знаний, автор пишет, фактчекер и редактор возвращают черновик на доработку, SMM раскладывает текст по Telegram, ВКонтакте, рассылке, блогу и карусели. Видно всю переписку агентов, каждую правку и что ушло бы в публикацию без проверки.

    • React
    • TypeScript
  • Веб-приложение · RAG · нейросеть в браузере

    работает

    Песочница поиска

    Как бот поддержки находит ответ в базе знаний: документы режутся на фрагменты, поиск идёт по словам, по смыслу или гибридом, и у каждого найденного фрагмента видно, почему он выше других.

    • React
    • TypeScript
    • Нейросеть в браузере
  • Веб-приложение · метрики · пороги CI

    работает

    Оценка качества бота

    Прежде чем выкатить новую настройку бота, её прогоняют на контрольных вопросах. Здесь видно, как это устроено: hit@1, hit@3, доля верных отказов, сравнение с продом и красная плашка, если CI не пропустил бы выкладку.

    • React
    • TypeScript
    • Нейросеть в браузере
  • Веб-приложение · безопасность AI · нативный JS

    работает

    Тренажёр защиты от prompt-инъекций

    Попробуйте обмануть бота поддержки: выманить секретный промокод, вытащить системный промпт или оформить возврат без оснований. Шесть уровней защиты, атаки в лоб и через письма, отзывы и базу знаний, журнал проверок по OWASP Top 10 для LLM.

    • Нативный JS
  • Веб-приложение · экономика AI · нативный JS

    работает

    Калькулятор стоимости AI-бота

    Сколько будет стоить бот в месяц на GPT, Claude, YandexGPT, GigaChat или своей модели на арендованной видеокарте. Расчёт по токенам, сравнение всех моделей на графике, советы, как платить меньше, и настоящий токенизатор o200k прямо в браузере.

    • Нативный JS