Сейчас каждый второй джун пытается генерировать сопроводительные письма через ChatGPT.И каждый первый рекрутер научился их детектить за секунду.Стандартный отвеСейчас каждый второй джун пытается генерировать сопроводительные письма через ChatGPT.И каждый первый рекрутер научился их детектить за секунду.Стандартный отве

Как я отучил нейросеть писать «Я коммуникабельный» и заставил её проходить HR-фильтры

Сейчас каждый второй джун пытается генерировать сопроводительные письма через ChatGPT.

И каждый первый рекрутер научился их детектить за секунду.

Стандартный ответ LLM выглядит так:

Это мусор. Это «AI-slop», как пишут в комментариях. Такие письма летят в корзину, потому что они пустые.

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

В этой статье расскажу, как я настраивал пайплайн генерации текста, боролся с галлюцинациями и повышал конверсию в ответы.

Архитектура генератора

Просто скармливать текст вакансии в модель — ошибка. Модель «поплывет» и начнет лить воду.

Я разбил процесс на 3 этапа:

  1. Extraction (Выжимка фактов): Из вакансии достаем стек и боли.

  2. Matching (Сопоставление): Ищем пересечения с моим JSON-резюме.

  3. Generation (Написание): Генерируем текст по жестким правилам.

Этап 1. Чистка вакансии

Вакансии на hh зашумлены. Там куча воды про «печеньки» и «дружный коллектив». Если это подать в LLM, она начнет писать про печеньки.

Сначала я чищу HTML, оставляя только блоки Requirements и Tasks.

Python

# Псевдокод логики очистки def clean_vacancy(html_text): soup = BeautifulSoup(html_text, 'html.parser') # Убираем все лишнее, оставляем только требования text = soup.get_text() # LLM-экстрактор достает только хард-скиллы key_skills = llm.extract_skills(text) return key_skills

Этап 2. Промпт-инжиниринг: Убиваем «Робота»

Самое сложное — заставить модель писать сухо и по делу.

Я использовал технику Negative Prompting (запрет определенных паттернов) и Few-Shot Learning (показал ей примеры хороших писем).

Вот упрощенная версия моего системного промпта:

Борьба с галлюцинациями

Главный страх автоматизации — нейросеть припишет вам опыт, которого нет.

Вакансия: «Нужен опыт с Kubernetes».

Резюме: Docker.

Плохой бот: «Я эксперт в Kubernetes».

Мой бот: «У меня плотный опыт с Docker, с Kubernetes знаком на базовом уровне».

Как это сделано?

Я добавил шаг Fact-Checking. Перед отправкой письма второй (более дешевый) инстанс модели проверяет сгенерированный текст на соответствие исходному JSON-резюме. Если найдено несоответствие — генерация перезапускается.

Результаты: Было / Стало

Default ChatGPT:

Мой агент :

Чтобы автоматизация работала, нужно потратить 80% времени не на код отправки запросов, а на тюнинг лингвистической модели.

Рекрутеры банят не ботов. Рекрутеры банят скучных спамеров.

Если бот пишет по делу лучше, чем 90% живых кандидатов — его зовут на собеседование.

Код, конечно, я полностью не выложу (коммерческая тайна), но логи работы системы и примеры генерации под разные стеки (Java, JS, PM) показываю в своем канале.

Сейчас там идет открытый бета-тест.

[Ссылка на канал]

Источник

Возможности рынка
Логотип Sleepless AI
Sleepless AI Курс (AI)
$0,04087
$0,04087$0,04087
-%1,54
USD
График цены Sleepless AI (AI) в реальном времени
Отказ от ответственности: Статьи, размещенные на этом веб-сайте, взяты из общедоступных источников и предоставляются исключительно в информационных целях. Они не обязательно отражают точку зрения MEXC. Все права принадлежат первоисточникам. Если вы считаете, что какой-либо контент нарушает права третьих лиц, пожалуйста, обратитесь по адресу service@support.mexc.com для его удаления. MEXC не дает никаких гарантий в отношении точности, полноты или своевременности контента и не несет ответственности за любые действия, предпринятые на основе предоставленной информации. Контент не является финансовой, юридической или иной профессиональной консультацией и не должен рассматриваться как рекомендация или одобрение со стороны MEXC.