2 из 122 мин

Как бот сравнивает меня с вакансией и собирает отклик под нее

Одна из самых важных вещей в этом проекте в том, что он не отвечает на все вакансии одинаково.

Он не берёт одно универсальное резюме, не вставляет один и тот же шаблон и не надеется, что где-то это случайно сработает.

Сначала система решает, какой профессиональной версией меня вообще нужно отвечать на конкретный рынок.

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

Это выглядит примерно так:

search_mode = 7
mode_7 -> [config_5]

config_5:
  text = "Prompt Engineer / AI Developer"
  area = [1, 2]
  salary_min = "configured threshold"
  resume_name = "automation_resume"

resumes["automation_resume"]:
  resume_id = "..."
  portfolio_url = "..."

search_mode выбирает рабочий сценарий.
config_5 задаёт рамку поиска: направление, регионы и финансовый порог.
resume_name привязывает этот сценарий к нужному резюме.
resume_id переводит всё это в конкретный документ, с которым проект реально выходит на рынок.
portfolio_url продолжает резюме наружу и даёт системе не только текст, но и доказательный материал.

Но это только первый слой.

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

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

И уже на основе этого пишет сопроводительное.

Поэтому письмо здесь не шаблон и не декоративный текст.
Оно строится из трёх слоёв:
• что именно требует вакансия;
• что у меня реально есть по опыту и материалам;
• как сформулировать это так, чтобы отклик был читаемым и для человека, и для первичного HR-фильтра.

Именно поэтому задача сопроводительного здесь не “обмануть систему”.
Задача в другом: сделать релевантность явной, не потерять ключевые сигналы вакансии и не отвалиться ещё до живого просмотра.

В этом для меня и была одна из главных границ проекта.

Я не хотел бота, который просто ускоряет спам.
Я хотел систему, которая сначала понимает, кем именно я сейчас выхожу на рынок, потом понимает, что именно ищет работодатель, и только после этого собирает отклик из реальных совпадений.

Именно в этот момент автоматизация перестаёт быть механикой.

Она становится формой дисциплины:
не отвечать всем одинаково,
не врать о себе,
и не терять релевантность даже там, где первый отсев уже частично делает машина.

Как бот сравнивает меня с вакансией и собирает отклик под нее: иллюстрация 1
Оглавление серии
  1. Автоматизация отклика как ответ на асимметрию рынка
  2. Как бот сравнивает меня с вакансией и собирает отклик под нее
  3. Почему закрытие соискательского API не убило проект, а заставило его повзрослеть
  4. Как я сохранил мозг системы и заменил ей транспорт
  5. Самое трудное в автоотклике, это не submit
  6. Автоотклик в видимом режиме
  7. Как LLM в моем проекте превращает вакансию в сопроводительное письмо
  8. Почему полная автономия оказалась слабее управляемой автономии
  9. Я дал системе не только действия, но и тормоза
  10. Как проект живёт после отклика: статусы, приглашения, переписки и ручной dashboard
  11. Dashboard
  12. Самая неожиданная вакансия, которую нашел мой бот