
HackerRank открыл AI-агента для оценки резюме
HackerRank выложил на GitHub open-source агента Hiring Agent: он парсит PDF-резюме, обогащает данными GitHub и выдаёт объективную оценку кандидата.
HackerRank выложил AI-агента для честной оценки резюме
Команда HackerRank (организация interviewstreet на GitHub) опубликовала open-source проект Hiring Agent — pipeline (конвейер обработки данных), который превращает PDF-резюме в структурированную объективную оценку кандидата. Агент парсит резюме в формат Markdown, извлекает данные по секциям через локальную или облачную LLM, обогащает результат сигналами из GitHub-профиля и репозиториев, а затем выдаёт оценку с категорийными баллами, доказательствами, бонусами и штрафами. Запустить его можно полностью локально через Ollama или подключить Google Gemini.
Как устроен пайплайн
Hiring Agent — это резюме-в-оценку pipeline, который проходит три стадии: автоматическое извлечение данных, обогащение и оценка. Система выдаёт структурированные, честные и объяснимые оценки кандидатов с разбивкой по категориям, поддерживая как локальное исполнение через Ollama, так и облачное через Google Gemini.
graph TD
A[PDF резюме] --> B[pymupdf_rag.py\nКонвертация в Markdown]
B --> C[pdf.py\nИзвлечение секций через LLM]
C --> D[github.py\nОбогащение данными GitHub]
D --> E[evaluator.py\nСтрогая оценка с fairness-ограничениями]
E --> F[score.py\nВывод отчёта + CSV]
Ключевые этапы
1. Извлечение из PDF. PyMuPDF читает страницы и преобразует их в Markdown-подобный текст с заголовками, ссылками и таблицами.
2. Парсинг по секциям. Jinja-шаблоны задают строгие инструкции для каждого раздела: Basics, Work, Education, Skills, Projects, Awards. LLM обрабатывает каждый раздел отдельно и собирает объект JSONResume.
3. GitHub-обогащение. Модуль github.py извлекает имя пользователя из профилей в резюме, получает профиль и репозитории, классифицирует каждый проект. Затем LLM выбирает ровно 7 уникальных проектов с минимальным порогом коммитов от автора, отдавая предпочтение значимым вкладам.
4. Оценка. Оценки включают категории open_source, self_projects, production и technical_skills, а также бонусы, штрафы и пояснения с доказательствами.
5. Вывод результатов. При включённом DEVELOPMENT_MODE=True система создаёт или дополняет файл resume_evaluations.csv с ключевыми полями и кэширует промежуточный JSON в директорию cache/.
Поддерживаемые LLM-провайдеры
| Параметр | Ollama (локально) | Google Gemini (облако) |
|---|---|---|
LLM_PROVIDER | ollama | gemini |
| Пример модели | gemma3:4b | gemini-2.5-pro |
| API-ключ | не нужен | GEMINI_API_KEY |
| Приватность данных | полная (offline) | зависит от политики Google |
| Требования к железу | от 4 ГБ ОЗУ | любое устройство |
gemma3:1b, для стандартных конфигураций — gemma3:4b, а для мощных серверов — gemma3:12b. Качество оценки заметно растёт с увеличением модели.Быстрый старт
Установка занимает несколько минут:
git clone https://github.com/interviewstreet/hiring-agent
cd hiring-agent
python -m venv .venv
source .venv/bin/activate # Linux/macOS
pip install -r requirements.txt
# Подтянуть модель (для Ollama)
ollama pull gemma3:4b
# Настроить переменные окружения
cp .env.example .env
# Запустить оценку
python score.py /path/to/resume.pdf
Если включён режим разработки, результат извлечения из PDF кэшируется в cache/resumecache_<basename>.json. При наличии GitHub-профиля в резюме репозитории загружаются и кэшируются в cache/githubcache_<basename>.json. Оценщик выводит отчёт и в режиме разработки добавляет строку CSV в файл resume_evaluations.csv.
.python-version — убедитесь, что у вас установлена именно эта версия, чтобы избежать конфликтов зависимостей.Сообщество уже расширяет инструмент
Проект активно развивается силами community. Среди открытых pull request’ов — добавление LeetCode-обогащения и LLM-оценки задач, улучшенные критерии open-source scoring, поддержка анализа вакансий (JD-augmented scoring) и пакетная обработка нескольких кандидатов.
Логика оценки из interviewstreet/hiring-agent уже используется в сторонних форках: один из них добавляет веб-интерфейс поверх пайплайна и расширяет поддержку провайдеров до Claude и OpenAI.
«Честная, объяснимая оценка» — именно это позиционирование отличает Hiring Agent от закрытых ATS-систем, которые принимают решения по резюме без какой-либо прозрачности.
Почему это важно для отрасли
В 2026 году AI-ассистированный найм перестал быть нишевым экспериментом: инженерные команды от стартапов Series A до компаний Fortune 500 используют AI на каждом этапе технического рекрутинга, сокращая time-to-hire на 30–50%.
Hiring Agent предлагает принципиально иной подход: не чёрный ящик корпоративного ATS (Applicant Tracking System — система отслеживания кандидатов), а открытый, аудируемый инструмент. Рекрутер или разработчик может изменить Jinja-шаблоны, подстроить критерии под конкретную роль и проверить, почему кандидат получил те или иные баллы.
Исходный код распространяется под лицензией MIT и доступен на GitHub.