Откликов все больше, ответов все меньше. Что показали 16 000 вакансий в моей базе

Коротко

  • В конфиге сервиса 313 западных карьерных досок с публичными API и более 21 отдельного парсера для карьерных сайтов.
  • Зарплатные медианы автор считает по более чем 12 800 вакансиям с указанной вилкой и не показывает сравнение при слишком малой выборке.
  • Dry-run перед массовой очисткой выявил ошибку в условии и предотвратил удаление 3 132 зарубежных вакансий из базы.
  • Расширение для откликов экономит около минуты на форму, но специально не отправляет ее автоматически и не пытается прикреплять резюме.
  • Для новых страниц используется IndexNow, а получает адреса через sitemap; сам каталог обновляется каждые четыре часа.

Разработчик превратил личный скрипт для поиска работы в Workaem — сервис с базой более 16 000 активных вакансий. На своих данных он пытается не увеличить число откликов, а понять, какие вакансии действительно стоит рассматривать, и одновременно разбирает экономику и техническую кухню такого каталога.

В базе более 6 500 вакансий приходят напрямую с карьерных страниц компаний, обновление идет каждые четыре часа. По наблюдениям автора, зарплата указана примерно в одной вакансии из семи, одно объявление может несколько раз появляться в разных источниках, а часть позиций остается опубликованной заметно дольше фактического найма. Поэтому для каждой вакансии сервис учитывает срок жизни, перевыставления и изменения текста, количество похожих объявлений компании, долю ответов на отклики и наличие зарплатной вилки; если данных мало, точную оценку не показывает.

Дубли с карьерных страниц ищутся по сходству названия позиции и компании, а -вакансии дополнительно сравниваются по смыслу через эмбеддинги в Postgres. Для западных компаний подключены 313 досок Greenhouse, Ashby, Lever и других ATS через публичные API, для российских сайтов написано более 21 отдельного парсера. Медианы зарплат считаются по 12 800+ вакансиям с вилками, а массовые изменения данных автор теперь сначала запускает в dry-run: одна такая проверка предотвратила ошибочное удаление 3 132 вакансий.

Отдельный вывод касается стоимости автоматизации. При потоке 300–600 новых вакансий в сутки обработка описания моделью по 0,27 рубля за запись давала 2–5 тыс. рублей расходов в месяц, хотя 73% описаний уже имели структуру, которую можно разобрать обычным парсером. Поэтому часть AI-задач автор заменил кодом и локальной моделью для эмбеддингов; постоянные расходы на виртуальную машину, базу, домены и трафик он оценивает в 12–16 тыс. рублей в месяц.

FAQ

Зачем автор оценивает «живость» вакансии вместо того, чтобы просто собирать как можно больше объявлений и отправлять больше откликов?

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

Почему часть задач обработки вакансий автор перенес с внешних AI-моделей на обычный код и локальные модели?

При 300–600 новых вакансиях в сутки даже небольшая цена одного вызова превращается в заметный месячный расход. Там, где структура уже есть или результат можно надежно посчитать, автор предпочитает парсер, SQL или локальную модель.

Как сервис пытается не показывать одну и ту же вакансию несколько раз, если она опубликована на разных сайтах и в Telegram-каналах?

Для карьерных страниц достаточно сравнения названия вакансии и компании, а Telegram требует второго уровня дедупликации. Там сервис строит эмбеддинги текста и объединяет записи, если их семантическая близость превышает заданный порог.

Читайте также

  1. Как ЮMoney учит ИИ отвечать на вопросы к базе данных и проверять собственные ошибки
  2. «Яндекс» восстанавливает рекламные сервисы: данные сохранились, но ограничения остаются
  3. Нейросетями пользуются уже 55% россиян: Алиса AI опережает DeepSeek и GigaChat
  4. Как автоматизировать Threads через AI-агента: 188 постов и ответы на комментарии за $4–6 в месяц
  5. Как показать работу AI-агента в Telegram: статусы инструментов, анимации и кнопка Stop
Ключевые инсайты из новости (по версии ChatGPT)
  • Не путать отсутствие данных с нулевым значением: При скоринге и аналитике NULL должен означать неизвестность, а не нулевое значение показателя. Если наблюдений мало, лучше хранить уровень уверенности и не показывать точную оценку, чем превращать отсутствие данных в негативный сигнал.
    [Качество данных]
Для получения полного доступа оформите подписку PubMag PRO.
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Инсайты автоматически генерируются с помощью искусственного интеллекта на основе текста статьи.
← Назад в лентуЧитать оригинал →
✈️ Подписывайтесь на мой Telegram-канал — там еще больше интересного про AdTech, MarTech, AI и многое другое!