- BrainTools - https://www.braintools.ru -
Любой разработчик знает: если действие нужно повторить больше двух раз — его надо автоматизировать. Мы настраиваем пайплайны для деплоя, пишем автотесты, используем линтеры.
Но когда дело доходит до поиска работы, мы превращаемся в биороботов.
Заходим на hh. Вбиваем фильтры. Читаем описание (которое на 90% копипаста). Пишем сопроводительное (которое никто не читает). Жмем кнопку. Повторить 100 раз.
Меня хватило на два дня. Потом я понял, что трачу часы на работу, которую должен делать скрипт.
Попытка №1: Тупой парсер (Python + Requests)
Сначала я решил задачу в лоб. Написал воркер, который:
Мониторит новые вакансии по API (да, у hh оно есть, хоть и капризное).
Фильтрует совсем мусор (галеры, неадекватные вилки).
Шлет стандартный отклик.
Это работало, но плохо. Конверсия в просмотр была, конверсия в ответ — около нуля.
Проблема оказалась не в коде, а в “человеческом факторе” на той стороне. HR-ы и их ATS (Applicant Tracking Systems) не смотрят на сухие факты. Им нужно “шоу”. Им нужны ключевые слова, релевантный опыт [1] именно под их стек и “продающее” био.
Мое резюме техлида выглядело как json с перечислением технологий. Для машины норм, для HR — скучно.
Попытка №2: Подключаем LLM (RAG + Prompt Engineering)
Я понял, что узкое горлышко — это контент. Нужно генерировать уникальный контент под каждую вакансию.
Архитектура изменилась:
Parser: Забирает текст вакансии, чистит от html-тегов и воды (“дружный коллектив”).
Analyzer: LLM матчит мое резюме с вакансией.
Generator: Самое интересное.
Я не стал просто просить GPT “напиши письмо”. Я скормил ей методологию STAR (Situation, Task, Action, Result).
Теперь бот не просто пишет “Я знаю Python”. Он пишет: “На прошлом месте оптимизировал легаси-код на Python (Action), что снизило затраты на инфраструктуру на 20% (Result)”.
Фича, которая взорвала конверсию: PDF Re-writer
Самым сложным было научить бота переписывать сам файл резюме.
Пришлось повозиться с генерацией PDF на лету. Бот берет “сырую” фактуру (ваш опыт), смотрит на вакансию и пересобирает резюме так, чтобы подсветить именно то, что ищет конкретный работодатель.
Если ищут Team Lead — подсвечиваем менеджмент. Если ищут Senior Backend — подсвечиваем архитектуру.
Технически это работает на связке Python-backend (FastAPI) + Telegram Front. Очереди разгребаем через Celery/Redis, чтобы не упереться в рейт-лимиты API.
Результаты и мораль
Я тестировал систему на себе и паре друзей.
— Время на поиск работы: 0 минут (только ответы на входящие).
— Конверсия в собес: выросла в 3 раза за счет гипер-персонализации.
Конечно, кто-то скажет, что это нечестно. Что боты засоряют рынок.
Но давайте честно: рынок уже засорен вакансиями-дублями и автоотказами. Мы просто уравниваем шансы.
Если HR использует софт для фильтрации нас, мы имеем полное моральное право использовать софт для прохождения их фильтров.
Где потыкать
Проект вырос из пет-проджекта в полноценный сервис “Аврора”.
Сейчас мы готовим релиз версии 2.0 с тем самым “умным переписыванием” резюме.
Код закрыт (SaaS), но API телеграма открыто для всех.
Если интересно посмотреть, как это работает в проде — велком в бота.
Ссылка на бота: https://t.me/auroracareer [2]
Буду рад ответить на технические вопросы в комментах: про обход капчи, работу с контекстным окном LLM и генерацию PDF.
Автор: motrni
Источник [3]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/24892
URLs in this post:
[1] опыт: http://www.braintools.ru/article/6952
[2] https://t.me/auroracareer: https://t.me/auroracareer
[3] Источник: https://habr.com/ru/articles/990438/?utm_source=habrahabr&utm_medium=rss&utm_campaign=990438
Нажмите здесь для печати.