Якщо ви коли-небудь завантажували резюме в систему відстеження кандидатів (ATS) і задавалися питанням, чому його ніколи не бачила людина, ви вже розумієте проблему «чорної скриньки» в наймі за допомогою ШІ. Більшість інструментів для оцінювання резюме приховують свою логіку за SaaS-панелями керування та ввічливими листами про відмову. HackerRank пішов іншим шляхом. Їхній Hiring Agent є open source, а це означає, що будь-хто може розібрати його, простежити код і побачити, як саме LLM перетворює PDF-файл і посилання на GitHub на число. Один розробник зробив саме це. Те, що він знайшов, — це не відшліфована рекрутингова платформа. Це дзеркало, яке показує, наскільки легко автоматизація кодує особисті думки.
Під капотом
Конвеєр напрочуд простий. PDF-резюме кандидата конвертується в Markdown, а потім розбирається на жорстку структуру JSON із полями для досвіду роботи, навичок, освіти та сторонніх проєктів. Python-скрипти переказують дані з одного етапу на інший, але справжнє «мислення» відбувається всередині ланцюжка промптів. Кожен розділ має свій власний промпт. LLM зчитує структуровані дані, застосовує правила оцінювання, написані звичайною англійською мовою, і повертає бал.
Ця архітектура має значення. Основне навантаження припадає не на розумні алгоритми чи цикли навчання, а на формулювання промптів. Змініть кілька прикметників у наборі інструкцій — і той самий інженер перетворюється з перспективного кандидата на слабкого. Це робить інструмент крихким. Але це також робить його чесним. Більшість постачальників рішень для найму за допомогою ШІ ніколи не дозволили б вам побачити промпти. Прототип HackerRank викриває правду: оцінювання резюме завжди залежало від критеріїв оцінювання, а не від коду.
Тиранія 35 відсотків
Найбільш вражаюча упередженість прихована в критеріях оцінювання. Внесок в open source становить 35 відсотків від загального бала. Це величезний коефіцієнт. Для порівняння: весь досвід роботи кандидата, його освіта та навички мають конкурувати з однією частиною його позаробочого кодингу за решту 65 відсотків.
Правила навіть суворіші, ніж свідчить вага балів. Особисті репозиторії на GitHub не враховуються. Підтримка власної бібліотеки, якою б корисною вона не була, дає нуль балів. Інструмент винагороджує лише внесок у чужі проєкти. Щоб отримати ці бали, кандидат має бути коммітером у чиємусь іншому коді.
Це уподобання має реальний демографічний вплив. Інженери, які підтримують власні інструменти, часто роблять це тому, що вирішили проблему, яку ніхто інший не вирішував. Вони також можуть працювати на посадах, що забороняють зовнішню діяльність, працювати в регіонах з меншою кількістю великих open-source спільнот або просто мати сімейні зобов'язання, які роблять безкоштовний кодинг у позаробочий час неможливим. Пишучи промпт таким чином, інструмент вимірює не чисту інженерну здатність, а участь у певній кодинг-культурі, і називає це об'єктивністю.
Коли інструкції не спрацьовують
Критерії також намагаються винагородити досвід роботи в стартапах. Промпт прямо пропонує нараховувати додаткові бали фаундерам та інженерам на ранніх стадіях. Теоретично це звучить розумно. Ветерани стартапів часто виконують багато функцій одночасно та працюють у стресових умовах. Тому тестувальник провів експеримент. Він взяв одне резюме і не змінював нічого, крім назви останньої посади, прогнавши його через агента тричі з трьома різними назвами: Senior Java Engineer, Founding Engineer та Co-founder / CTO.
Бали майже не змінилися. LLM фактично проігнорувала інструкцію.
Це одне з найважливіших відкриттів усього аудиту. Воно доводить, що правило в промпті — це лише пропозиція. Великі мовні моделі навчаються на величезних масивах тексту, які містять власні стійкі упередження щодо того, що саме є ознакою якості. Якщо навчальні дані моделі пов'язують престиж із певними посадами, назвами компаній або ключовими словами, а не з фразою «founding engineer», ваша ретельно написана інструкція може просто не спрацювати. Промпт каже моделі зважати на назви стартапів, але у моделі свої ідеї, і вона перемагає. Цей розрив між людським наміром і поведінкою машини є небезпечним, коли результатом є оцінка для найму.
Бали без мети
Окрім основних вагових коефіцієнтів, критерії сповнені дивно специфічних мікроправил, які більше схожі на чийсь нічний мозковий штурм, ніж на рішення, засновані на даних.
A LinkedIn profile is worth exactly one point. Not the quality of the profile. Not the number of recommendations or the depth of the work history. Simply having a URL on the resume adds a single point to the total. Meanwhile, being a Google Summer of Code participant is worth five points. And if a candidate has forked repositories on GitHub, the agent ignores any fork with fewer than five forks of its own.
Each of these rules makes a loud value judgment disguised as a quiet coefficient. Why is LinkedIn presence worth a point at all? It signals that a candidate knows how to fill out a social network, not that they can architect a distributed system. Why is GSoC worth five times as much as a LinkedIn link? Perhaps because the prompt author respects the program. That respect is now a hiring policy. And why draw the line at five forks? A tool with ten users might solve a critical niche problem. Under this system, it might as well not exist.
These numbers do not emerge from regression analysis. They were chosen by individuals. One person decided open source participation is more than a third of an engineer’s worth. Another person decided a LinkedIn profile is worth 1 point. When you automate those guesses, you give them the authority of software.
Every Prompt Is a Prejudice
The hardest part of building a resume-scoring agent is not parsing PDFs or calling an API. It is deciding what matters. Every word in a scoring prompt is a value judgment about what makes a good engineer. Should side projects outweigh day jobs? Should public code matter more than private enterprise work? Should a social media profile matter at all? There are no mathematically correct answers to these questions. There are only cultural preferences.
When a recruiting team does this manually, at least the biases are distributed across many reviewers who can disagree, calibrate, and learn. When an LLM does it, the biases of one prompt engineer harden into a repeatable function that runs at scale. The tool does not eliminate subjectivity. It archives it.
Use It as a Mirror, Not a Filter
HackerRank’s Hiring Agent is best understood as a prototype. It feels like a first draft, which is exactly what it is. It offers a fascinating early look at how AI hiring tools are constructed, but it lacks the calibration, testing, and diverse input of a real recruiting organization.
If you are building hiring tech, study it carefully. It shows how quickly arbitrary rules turn into automated gatekeeping. If you are a candidate,remember that these systems are not oracles. They are spreadsheets dressed up in natural language, and they carry the assumptions of whoever wrote the prompts.
Until these tools are tested for bias as rigorously as the engineers they judge, they should inform human conversation, not replace it.
