Si vous avez déjà téléchargé un CV dans un système de suivi des candidatures (ATS) et que vous vous êtes demandé pourquoi aucun humain ne l'a jamais vu, vous comprenez déjà le problème de la « boîte noire » du recrutement par l'IA. La plupart des outils de notation de CV cachent leur logique derrière des tableaux de bord SaaS et des e-mails de refus polis. HackerRank a pris une direction différente. Son Hiring Agent est open source, ce qui signifie que n'importe qui peut l'ouvrir, en tracer le code et voir exactement comment un LLM transforme un PDF et un lien GitHub en un score. Un développeur a fait précisément cela. Ce qu'il a découvert n'est pas un cadre de recrutement perfectionné. C'est un miroir qui nous montre avec quelle facilité l'automatisation codifie les opinions personnelles.

Sous le capot

Le pipeline est d'une simplicité trompeuse. Le CV PDF d'un candidat est converti en Markdown, puis analysé dans une structure JSON rigide avec des champs pour l'historique professionnel, les compétences, la formation et les projets personnels. Des scripts Python transfèrent les données d'une étape à l'autre, mais la véritable réflexion se déroule au sein d'une chaîne de prompts. Chaque section dispose de son propre prompt. Le LLM lit les données structurées, applique des règles de notation rédigées en anglais simple et renvoie une note.

Cette architecture est cruciale. Le gros du travail ne se fait pas dans des algorithmes astucieux ou des boucles d'entraînement. Il se fait dans la formulation des prompts. Changez quelques adjectifs dans l'ensemble des instructions, et le même ingénieur passe d'une recrue prometteuse à un candidat médiocre. Cela rend l'outil fragile. Mais cela le rend aussi honnête. La plupart des fournisseurs de recrutement par IA ne vous laisseraient jamais voir les prompts. Le prototype de HackerRank expose la vérité : la notation des CV a toujours reposé sur la grille d'évaluation, et non sur le code.

La tyrannie des 35 %

Le biais le plus frappant se cache dans la grille de notation. Les contributions open source représentent 35 % du score total. C'est un poids énorme. Pour mettre cela en perspective, l'ensemble de l'historique professionnel, de la formation et des compétences d'un candidat doit rivaliser avec une seule facette de sa vie de codage extra-professionnelle pour les 65 % restants.

Les règles sont encore plus strictes que ce que suggère la pondération. Les dépôts GitHub personnels ne comptent pas. Maintenir sa propre bibliothèque, aussi utile soit-elle, rapporte zéro point. L'outil ne récompense que les contributions aux projets d'autrui. Le candidat doit être un committer sur le code de quelqu'un d'autre pour obtenir ces points.

Cette préférence a un véritable poids démographique. Les ingénieurs qui maintiennent leurs propres outils le font souvent parce qu'ils ont résolu un problème que personne d'autre ne traitait. Ils peuvent également occuper des emplois qui interdisent les contributions externes, travailler dans des régions disposant de moins de grandes communautés open source, ou simplement avoir des obligations familiales qui rendent impossible le codage bénévole après les heures de travail. En rédigeant le prompt de cette manière, l'outil ne mesure pas la capacité d'ingénierie brute. Il mesure la participation à une culture de codage spécifique, puis appelle cela de l'objectivité.

Quand les instructions ne sont pas suivies

La grille tente également de récompenser l'expérience en startup. Le prompt suggère explicitement d'attribuer des points supplémentaires aux fondateurs et aux ingénieurs de la phase de démarrage. Cela semble raisonnable en théorie. Les vétérans des startups portent souvent plusieurs casquettes et livrent sous pression. Le testeur a donc mené une expérience. Il a pris un seul CV et n'a rien changé, sauf l'intitulé du poste le plus récent, en le passant trois fois dans l'

Un profil LinkedIn vaut exactement un point. Pas la qualité du profil. Ni le nombre de recommandations, ni la profondeur de l'historique professionnel. Le simple fait d'avoir une URL sur le CV ajoute un seul point au total. Pendant ce temps, être un participant à Google Summer of Code vaut cinq points. Et si un candidat possède des dépôts forkés sur GitHub, l'agent ignore tout fork possédant moins de cinq forks de son côté.

Chacune de ces règles exprime un jugement de valeur flagrant déguisé en un discret coefficient. Pourquoi la présence sur LinkedIn vaut-elle un point, tout court ? Cela signale qu'un candidat sait remplir un réseau social, pas qu'il est capable d'architecturer un système distribué. Pourquoi le GSoC vaut-il cinq fois plus qu'un lien LinkedIn ? Peut-être parce que l'auteur du prompt respecte le programme. Ce respect est devenu une politique de recrutement. Et pourquoi fixer la limite à cinq forks ? Un outil avec dix utilisateurs pourrait résoudre un problème de niche critique. Dans ce système, il pourrait tout aussi bien ne pas exister.

Ces chiffres ne sont pas issus d'une analyse de régression. Ils ont été choisis par des individus. Une personne a décidé que la participation à l'open source valait plus d'un tiers de la valeur d'un ingénieur. Une autre a décidé qu'un profil LinkedIn valait 1 point. Lorsque vous automatisez ces suppositions, vous leur donnez l'autorité du logiciel.

Chaque prompt est un préjugé

La partie la plus difficile de la création d'un agent de notation de CV n'est pas l'analyse de PDF ou l'appel à une API. C'est de décider de ce qui importe. Chaque mot dans un prompt de notation est un jugement de valeur sur ce qui fait un bon ingénieur. Les projets personnels devraient-ils l'emporter sur l'emploi principal ? Le code public devrait-il compter plus que le travail en entreprise privé ? Un profil de réseau social devrait-il même compter ? Il n'y a pas de réponses mathématiquement correctes à ces questions. Il n'y a que des préférences culturelles.

Lorsqu'une équipe de recrutement le fait manuellement, au moins les biais sont répartis entre de nombreux examinateurs qui peuvent être en désaccord, se calibrer et apprendre. Lorsqu'un LLM le fait, les biais d'un seul ingénieur de prompt se figent en une fonction répétable qui s'exécute à grande échelle. L'outil n'élimine pas la subjectivité. Il l'archive.

Utilisez-le comme un miroir, pas comme un filtre

L'agent de recrutement de HackerRank doit être compris comme un prototype. Il ressemble à un premier jet, ce qui est exactement ce qu'il est. Il offre un aperçu fascinant de la manière dont les outils de recrutement par IA sont construits, mais il manque de calibration, de tests et de la diversité d'opinions d'une véritable organisation de recrutement.

Si vous développez des technologies de recrutement, étudiez-le attentivement. Il montre avec quelle rapidité des règles arbitraires se transforment en un filtrage automatisé. Si vous êtes un candidat, rappelez-vous que ces systèmes ne sont pas des oracles. Ce sont des feuilles de calcul habillées en langage naturel, et elles portent les hypothèses de celui qui a écrit les prompts.

Tant que ces outils ne seront pas testés pour leurs biais aussi rigoureusement que les ingénieurs qu'ils jugent, ils devraient éclairer la conversation humaine, et non la remplacer.