Привет, Хабр! Это моя вторая статья, посвященная нашему проекту. 

Мы создаем продукт, который, как мы верим, изменит рынок труда в Рунете — AI-ассистента для поиска работы, забирающего на себя всю рутину. А рутины, как выяснилось, очень много.

В этой статье я постараюсь открыть больше внутрянки про техническую часть проекта и продолжу рассказывать про наши факапы (а куда без них?:)

Цифры и факты

По данным, которые нам предоставил коллега — ChatGPT, в России около 20-40% людей хотят сменить работу. Но шокирует другое: только 10% из них ведут активный поиск. Остальные 90% — это 13+ миллионов человек, которые просто боятся, не уверены в себе или не хотят погружаться в бюрократический ад: обновлять резюме, писать сотни сопроводительных, отвечать рекрутерам и готовиться к собеседованиям.

Мы задались вопросом: а что, если весь этот процесс можно автоматизировать?

Что если будет продукт, который:

  1. Сам создаст и улучшит ваше резюме.

  2. Сам будет массово откликаться на релевантные вакансии и писать уникальные сопроводительные письма.

  3. Сам будет готовить к интервью с помощью персонального тренажера.

  4. Сам будет ставить собеседования в календарь, оставляя пользователю только прийти и блеснуть.

Именно так родилась Софи. И сегодня я хочу заглянуть под капот и показать, как она работает и какой отклик мы получили от юзеров.

Реализация идеи. Парсер

Первое, что мы разберем сегодня, это парсер - важнейшая составляющая работы нашего продукта. На одном из синков наш бэкендерер Святослав показывал всю внутряку, которую можно описать следующими тезисами:

  1. Прогнозирование. Первым делом система определяет примерное время окончания парсинга, чтобы пользователь понимал, сколько ждать.

  2. Формирование запроса.На основе данных пользователя (например, «middle python») формируется точный запрос к api hh.ru.

  3. «Человеческий» сбор ID. Это ключевой момент. Парсер не просто дергает API, а собирает ID всех вакансий, листая страницы с задержками, как это сделал бы живой человек. Это помогает избегать банов и выглядеть естественнее в глазах платформы.

  4. Детальный сбор и фильтрация. Для каждого найденного ID делается отдельный запрос за полными данными вакансии. Эти данные проходят через ряд фильтров (локация, стек технологий, уровень зарплат и т. д.).

  5. Запись в БД. Отфильтрованные и чистые данные отправляются в нашу базу данных.

  6. Фидбэк. В конце парсер показывает сводку: сколько вакансий собрано, сколько записано (с разбивкой по грейдам) и общее время работы.

Этот отлаженный процесс — фундамент, на котором строится главная функция Софи: массовый и релевантный отклик.

Наша небольшая команда на ежедневных планерках
Наша небольшая команда на ежедневных планерках

Топ сложностей, которые у нас возникли 

Как ни странно, почти каждая фича ассистента вызвала ряд проблем при разработке) Мы составили вот такой топ, от сложных проблем к более простым: 

  1. Улучшение резюме.

  2. Ответы на вопросы рекрутеров.

  3. Написание сопроводительных писем.

  4. Система откликов.

  5. Тренажер собеседований.

Как я писал раннее, продукт работает через API hh.ru. Это сильно влияло на систему откликов и сопроводов, иногда в них бывали нехилые аномалии. Например, Софи не подставляла почту юзера, а оставляла графу «указать при необходимости».

Пример аномалии в откликах 
Пример аномалии в откликах 

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

Алгоритм работы с резюме у нас такой:

Шаг 1: Исходные данные — тянем и анализируем

Всё начинается с текущего резюме на hh.ru. Мы подтягиваем его через API. Здесь работает простое правило: чем больше исходной информации, тем лучше. Пустое или слишком краткое резюме — это чистый холст, на котором даже самой продвинутой ИИ сложно нарисовать шедевр. Нам нужна база: проекты, технологии, периоды работы. Это сырье для последующей обработки.

Шаг 2: Глубинный опрос — добываем контекст

Это самый важный и неочевидный для многих этап. На основе исходного резюме наша ИИ генерирует персонализированные вопросы. Её задача — выйти за рамки формальных обязанностей и докопаться до сути:

  • Не «Что вы делали?», а «Какой конкретно результат принесла ваша работа?»

  • Не «Какие задачи решали?», а «Какую проблему вы закрыли и как это измеримо?»

Примеры описания опыта до и после
Примеры описания опыта до и после

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

Шаг 3: Примеры для вдохновения 

Тут Софи делает ход конём: она генерирует примеры ответов на свои же вопросы. Человек видит не абстрактную инструкцию, а конкретный вариант, как можно описать свой опыт. Это не шаблон для копирования, а ориентир, который можно отредактировать под себя. Это снимает психологический барьер и значительно ускоряет процесс.

Шаг 4: Упаковка и моментальное обновление
Когда юзер ответил на вопросы, его развернутые описания попадают в дообученную нами языковую модель. Её задача — отбросить воду, структурировать мысли и переформулировать ваш опыт в сильные, лаконичные формулировки, насыщенные результатами и цифрами.

Дальше остается только нажать кнопку «Сохранить» — и обновленное, мощное резюме автоматически публикуется на hh. 

Звучит все, конечно, здорово. Не так ли?) Но и здесь нас ожидали сюрпризы..

Во-первых, когда мы создали обновление для составление резюме должны были закинуть его на прод, hh поменял апишку, которая отвечает за обновление и редактуру резюме.


Мы написали в саппорт о несоответствии документации с тем, что у нас на выходе, а в ответ получили: 

«Мы знаем, что у нас неправильная документация сейчас. Как исправим, так и сообщим»

Было очень весело)

Вторая загвоздка была в том, что стоящие в основе продукта нейросети — как талантливые, но несмышленые дети. Они могут привирать, додумывать несуществующий опыт или некорректно формулировать задачи. Вариантов, куда ее может понести — тысячи. И мы стараемся учесть хотя бы 90% из них.

Изначально Софи задавала кандидатам странные вопросы, в которых мы сами не всегда могли уловить логику. Мы добавили десятки примеров «правильных» вопросов для разных сценариев и ситуация значительно улучшилась.

Такой итеративный процесс, постоянное тестирование и доработка — наша ежедневная рутина.


Тренажер собеседований: готовимся не к Leetcode, а к реальности

Одна из наших ключевых фич — это тренажер собеседований. Мы ушли от парадигмы «решения задач на литкоде». Собеседование — это не только код. Это и речь, уверенность, взгляд, умение рассуждать под давлением.

Вот в такой обстановке наш разработчик Арут делал этот тренажер)
Вот в такой обстановке наш разработчик Арут делал этот тренажер)

Как он работает:

  1. Вставляем описание вакансии, на которую нас пригласили.

  2. Софи на его основе генерирует 15 уникальных вопросов.

  3. Записываем ответы на камеру (или только голосом, для тех, кто не любит светиться) с минимальным временем на подготовку.

  4. ИИ анализирует ответы, дает обратную связь по каждому: плюсы, минусы, рекомендации.

  5. В конце вы получаете общую оценку и «резюме собеседования» — сводку по зонам роста.

Чтобы мотивировать пользователей приходить подготовленными, мы ввели систему допуска. Софи не отправит юзера на реальное собеседование, пока он не пройдет небольшой квиз по компании. Это win-win: компании получают заинтересованных кандидатов, а пользователь увеличивает свои шансы на успех.

Пример оценки ответа в тренажере собесов
Пример оценки ответа в тренажере собесов

Релиз, фидбэк и первые результаты

До релиза оставалось меньше месяца, и работа кипела днем и ночью. Мы запускали закрытую бета-версию, собирали фидбэк и буквально жили в режиме «запустили-зафиксили-улучшили».

Что удалось сделать перед релизом:

  1. Переехали с Cloudflare, решив проблемы с доступом.

  2. Научили Софи учитывать желаемые города и удаленку, а также точнее попадать в стек технологий (рост релевантных откликов с 60% до 90%).

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

  4. Увеличили глубину опросника перед собеседованием с 4 до 8 вопросов.

В общем и целом, мы успели исправить около 70% багов, которые получили после отзывов юзеров с бета-теста.

Итоги первой недели после релиза:

У 45 пользователей за 7 дней система сделала 5679 откликов. Из них было получено 37 приглашений на интервью (в том числе предложений пообщаться в Telegram). В среднем это 126 откликов и 0.82 интервью на пользователя.

Тогда для нас это был космический результат.

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

Результаты опроса на бета тесте и релизе
Результаты опроса на бета тесте и релизе

Как-то так прошел наш первый запуск:) В результате более 50% человек не отменили подписку после триала, что для нас было очень и очень ценно.

Как я уже писал, наша миссия — не просто помочь найти работу. Наша миссия — вернуть 13 миллионов пассивных соискателей в игровое поле, давая им возможность меняться к лучшему без страха и рутины. Пока что с помощью Софи работу нашли 10 человек из 13 000 000. Но мы только начинаем.

Спасибо, что дочитали до конца! Пишите в комментариях, что еще было бы интересно увиде��ь/узнать про наш проект. 

Комментарии (4)


  1. lsoul
    03.10.2025 12:35

    У 45 пользователей за 7 дней система сделала 5679 откликов

    По 18 откликов в день у одного соискателя. Как то почти уже спам рассылка своего резюме.


  1. cosmichorror
    03.10.2025 12:35

    Короче - Спам платформа. Теперь нормальным людям откликов вообще - не дождаться.


  1. AlexLeonov
    03.10.2025 12:35

    >> 2.  Сам будет массово откликаться на релевантные вакансии и писать уникальные сопроводительные письма.

    Отлично. Давайте доломаем механики найма окончательно.

    Пусть теперь в сутки на вакансию QA Middle будет благодаря вам не 500 откликов, а 5000. И работодатели окончательно плюнут на найм и уйдут в аутстафф.


  1. Viacheslav01
    03.10.2025 12:35

    Ну собственно будущее наступило, со стороны найма АИ, со стороны сотрудника АИ, они то между собой как нибудь договорятся, а что делать кожаным в этом мире, большой вопрос )