Поиск работы в IT превратился в какой-то сюр.
С одной стороны - HR, которые не читают резюме и фильтруют кандидатов по ключевикам. С другой - кандидаты, которые бомбят веерной рассылкой "здравствуйте, рассмотрите меня".
Чтобы найти нормальный оффер, нужно тратить 2-3 часа в день на скроллинг ленты и написание сопроводительных, которые никто не откроет.
Меня это достало. Я разработчик, я хочу писать код, а не играть в бюрократию.
Поэтому я решил написать AI-агента, который заберет эту рутину на себя. Спойлер: он сработал слишком хорошо и чуть не устроил одному из пользователей увольнение.
Ниже история о том, как мы за 3 дня собрали MVP, как боролись с галлюцинациями LLM и почему первый запуск принес нам седые волосы.
Что под капотом (и почему это не просто "обертка над ChatGPT")
Идея простая: Telegram-бот "Аврора", который ведет себя как личный ассистент.
Но дьявол, как всегда, в деталях.
Просто скормить вакансию и резюме в API OpenAI не работает. На выходе получается "вода": «Я проактивный командный игрок, стрессоустойчивый амбиверт». HR такие письма закрывают через секунду.
Нам пришлось реализовать подобие Chain of Thought (цепочка рассуждений):
Парсинг. Сначала бот вытаскивает из вакансии "мясо": стек, требования, "плюшки" и тон компании (формальный или стартап-бро).
Матчинг. Бот смотрит в профиль кандидата (мы тянем данные прямо с hh.ru через API, никаких pdf) и ищет пересечения.
Генерация. Письмо пишется только на основе пересечений. Если в вакансии нужен Docker, а у кандидата его нет - бот об этом честно молчит или аккуратно сглаживает углы, а не врет.
Сейчас у нас три режима:
Автопилот. Ты спишь - бот работает.
Tinder-режим. Бот шлет карточку -> лайк/дизлайк -> отклик.
Аудит. Прогонка резюме по чек-листу с оценкой 0-100.
Бета-тест: цифры
В начале ноября мы пустили в бота закрытую группу. Спринт длился 3 дня.
104 пользователя (тестеры).
>3900 откликов отправлено за 72 часа.
12.5% конверсия в покупку (люди готовы платить, чтобы не писать письма руками).
Результат есть: реальные собеседования и один оффер. Но потом начался ад.
Где мы облажались (Факапы)
1. "Привет, шеф"
Мы забыли про черный список компаний. Это была фатальная ошибка.
Бот одного из пользователей нашел вакансию в ЕГО ЖЕ текущей компании. И отправил туда восторженное письмо.
Представьте лицо HR, которому приходит отклик от сотрудника из соседнего кабинета.
Пользователь написал в саппорт. Мы извинились. Теперь blacklist - это первая фича, которую мы внедрили после фиксов.
2. Фронтендеры на C#
Первая версия матчинга была слишком наивной. Бот видел слово "Developer" и радовался. Фронтендеры получали вакансии бэкендеров, питонисты - джавистов.
Пришлось переписывать логику фильтрации, чтобы AI смотрел вглубь стека, а не только на заголовки.
3. Этический вопрос (DDoS для HR)
В комментариях наверняка напишут: "Вы просто генерируете спам".
Мы это понимаем. Поэтому наша цель - не завалить рекрутеров мусором, а повысить релевантность.
Мы вводим жесткие лимиты на количество откликов в сутки и порог вхождения: если совпадение резюме и вакансии меньше 60%, бот просто не будет откликаться, даже если пользователь попросит. Мы не хотим убить рынок, мы хотим убрать рутину.
Что дальше
После теста мы закрыли продажи и ушли в доработку.
Сейчас пилим релиз 2.0 (планируем на 8 декабря):
Асинхронная БД (чтобы не ложиться от 100 юзеров).
Жесткие фильтры по ЗП и опыту.
Тот самый черный список.
Итого
Мы делаем инструмент, который возвращает разработчикам время на код.
Статья написана не ради пиара (доступ к боту пока все равно ограничен), а чтобы рассказать о граблях, на которые наступает любой AI-стартап.
Если вам интересно следить за технической внутрянкой и тем, как мы готовимся ко второму запуску - велкам в канал. Там я пишу про разработку и баги: https://t.me/auroracareer
Kamil_GR
https://habr.com/ru/articles/969314/
Вы там разберитесь, кто автор, кто писал статью, кто код, а кто факап.
Хотя может быть я наблюдаю давно предсказанный эффект LLM, когда для похожих промптов, генерируются похожие статьи. Если так, то спасибо за впечатляющий пример