На одну вакансию для выпускника в Британии приходится в среднем 140 откликов — максимум с 1991 года, когда такую статистику начали собирать. В самых конкурентных отраслях — 290. А в тестовом прогоне, о котором пойдёт речь ниже, работодатели прямо называли цифру «300+ соискателей на место».
Первое, что приходит в голову соискателю: автоматизировать отправку. Истории в духе «отправил тысячу заявок, пока спал» вы наверняка встречали. Детали там неутешительные. Один инженер разослал около 5000 автоматических откликов и получил примерно 20 собеседований. Второй отправил 2800 за три месяца — четыре интервью и один оффер. Рекрутеры называют это спамом, и они не так уж неправы.
Альтернатива выглядит скучнее, но работает: оставить объём и убрать спам. Ровно это проверяет JobAgent — небольшой открытый проект под лицензией MIT. Он живёт внутри Claude Cowork, десктопного приложения Claude, и управляется фразами на обычном английском: «запусти пайплайн вакансий», «откликнись на вакансии 12 и 15». Терминал, код и настройка окружения не нужны — техническую часть берёт на себя ассистент. Для сравнения: проект career-ops, вдохновивший автора JobAgent, работает в терминале со связкой Claude Code, Node.js и Playwright и принёс своему создателю 12 собеседований и подписанный оффер после 740 разобранных вакансий и 68 откликов.
Почему это вообще интересно? Рынок изменился в одну сторону: резюме читает софт, а отказ чаще всего приходит молчанием. Выигрывает не тот, кто отправил больше, а тот, чей документ совпал с конкретным объявлением.
Что именно делает агент
Обычные боты играют в числа на стороне отправки. JobAgent играет в числа на стороне чтения. Звучит как реклама, но вся разница — в механике.
- Ищет вакансии на выбранных вами площадках, не спеша, и сразу отбрасывает всё ниже зарплатного порога, вне ваших локаций и слишком старое.
- Читает каждое оставшееся объявление целиком. Ничего не оценивается по заголовку.
- Считает балл от 0 до 100, сопоставляя требования вакансии с вашим профилем — пункт за пунктом, а не «в целом похоже».
- Для подходящих ролей пишет резюме под конкретное объявление и сопроводительное письмо там, где оно реально меняет исход.
- Отдельная проверка сверяет каждую цифру и формулировку в резюме с вашим исходным профилем. Выдуманного опыта там не появится.
- Ничего не отправляется без вашего подтверждения.
Машина забирает то, от чего выгорают: чтение тысяч объявлений и переписывание резюме под каждое. Человеку остаётся решение — куда откликаться.
Как это устроено внутри
JobAgent — папка так называемых skills: обычных Markdown-инструкций (файлы SKILL.md), которым следует Claude, плюс небольшие Python-хелперы. Никакой магии.
| Этап | Skill | Что происходит |
|---|---|---|
| Сбор | job-ingest | Claude в Chrome открывает поисковые страницы, экстрактор читает карточки вакансий, жёсткие фильтры отсекают зарплату, локацию и устаревшие объявления |
| Чтение | job-ingest | Полный текст объявления сохраняется для каждой прошедшей вакансии; по заголовку не оценивается ничего |
| Оценка | job-match-score | Объявление построчно сопоставляется с мастер-профилем, выставляется балл от 0 до 100 |
| Резюме | cv-tailor | Резюме под британский формат, читаемое скрининговым софтом, через встроенный skill uk-cv-writer |
| Письмо | cover-letter | Пишется только там, где может повлиять на результат |
| Проверка | cv-verify | Независимая сверка: каждое число и утверждение должно существовать в профиле |
| Отклик | job-apply | Только одобренные вами вакансии; страницы с обязательным логином уходят в таблицу для ручной доделки |
Дальше — детали, которые объясняют, почему схема не разваливается на десятом отклике.
- Состояние хранится в SQLite. Локальная база jobs.db ведёт каждую вакансию от статуса «найдена» до «отправлен отклик». Есть защита: отклонить вакансию, которую никто не читал, система откажется.
- Настройки — тоже Markdown. Рынки, зарплатные пороги, города и поисковые запросы лежат YAML-блоками внутри .md-файлов. Поведение меняется без правки кода.
- Приоритет отдан точности. Скрипт check_grounding.py подсвечивает любое число или слово в резюме, которого нет в мастер-профиле.
- Решение остаётся за человеком. Инструмент не создаёт аккаунты, не вводит пароли и не решает капчи.
13 недель теста: от 10 483 вакансий до трёх офферов
Прогон шёл в Британии: один скан раз в две недели, тринадцать недель.
- 10 483 вакансии прошли фильтры
- 8 585 объявлений прочитаны целиком и оценены
- 779 оценены как подходящие (284 — уверенно, 495 — на грани)
- 481 резюме под конкретные вакансии и 348 сопроводительных писем
- 258 откликов, примерно по 40 за скан, каждый подтверждён вручную
- 8 собеседований и 3 оффера
Получается одно собеседование примерно на 32 отклика. У ботов из вирусных историй — одно на 250 или реже. Разница не в хитрости модели, а в том, что здесь сначала читают.
| Подход | Откликов | Собеседований | На 1000 откликов |
|---|---|---|---|
| Массовая рассылка ботом, кейс 1 | ~5000 | ~20 | около 4 |
| Массовая рассылка ботом, кейс 2 | 2800 за три месяца | 4 плюс один оффер | 1,4 |
| JobAgent, британский прогон | 258 | 8 плюс три оффера | 31 |
С выводами стоит быть аккуратным. Тестировали JobAgent четверо: один человек в Британии и трое в других странах ЕС. Цифры выше — только британский прогон, у остальных результаты были похожими, но в графики не попали. Доля откликов, дошедших хотя бы до скринингового звонка, различалась сильно — от 0,5% до 12% в зависимости от человека и рынка.
Что из этого стоит забрать себе
- Сначала читать, потом судить. Ранний фильтр по ключевым словам тихо выбрасывал вакансии, которые при полном чтении набирали высокий балл. Заголовки врут.
- Резюме под вакансию обыгрывает объём. Документ, собранный под конкретное объявление, проходит и скрининговый софт, и человека.
- Честность здесь встроена в механику. Инструмент физически не может приписать вам опыт, которого не было. На собеседовании это спасает.
- Время лучше тратить на интервью, чем на формы.
Кому подойдёт, а кому нет
Смысл есть, если вы ищете работу активно и в объёме, готовы один раз потратить пару часов на описание карьеры и не против вручную нажимать «отправить» на каждом отклике. Нужна подписка Claude с Cowork и расширение Claude in Chrome, больше ничего.
Не подойдёт, если хочется полностью автоматической рассылки без подтверждений: проект намеренно так не умеет. И если вы присматриваете две вакансии в месяц, вся конструкция избыточна — быстрее написать письмо руками и не разворачивать базу данных ради этого.
Как запустить
- Открыть папку проекта в Cowork.
- Сказать ассистенту: «Read AGENTS.md and help me set up JobAgent».
- Записать историю карьеры в мастер-профиль. На это уходит большая часть из тех самых двух часов, и это единственная по-настоящему ручная работа во всей схеме.
- Прогнать пятиминутный сухой запуск на выдуманном кандидате: он показывает каждый этап, не касаясь реальных данных.
JobAgent — эксперимент с четырьмя тестировщиками, а не гарантия трудоустройства. Но механика из него переносится на любой инструмент и даже на ручной поиск: читать объявление целиком до отклика, писать резюме под него и не приписывать себе ничего лишнего.
Комментарии (0)
Войдите, чтобы комментировать.
Пока нет комментариев. Будьте первым.