2 points par GN⁺ 4 시간 전 | 1 commentaires | Partager sur WhatsApp
  • En relançant à plusieurs reprises l’agent de recrutement ATS open source de HackerRank avec le même CV et la même commande, les scores ont oscillé entre 66 et 99 points ; avec un seuil de 85 points, 65 % des passages aboutissaient à un rejet
  • L’outil parse les CV PDF et appelle un LLM 6 fois pour structurer les informations de base, l’expérience, la formation, les compétences, les projets et les distinctions, puis ajoute les informations GitHub pour évaluer le profil sur 100 points + 20 points de bonus
  • Les compétences techniques sont restées presque constantes, avec 8/10 dans 98 exécutions sur 100, mais l’évaluation des projets a montré une forte variabilité, oscillant entre « manque de complexité architecturale » et « démontre un déploiement réel »
  • La non-détermination persistait non seulement avec le modèle par défaut gemma3:4b à une temperature de 0,1, mais aussi à une temperature de 0 ; même en passant à Gemini, un seuil de 60 points entraînait un taux de rejet de 28 %
  • La rubrique expérience a attribué 25/25 points même à un ancien CV ne comportant qu’un seul stage, ce qui suggère que la notation par LLM peut devenir un filtrage dû au hasard plutôt qu’un moyen de distinguer la qualité des candidats

Le même CV obtient un score différent à chaque fois

  • hiring-agent, l’ATS open source de HackerRank, a été testé après avoir suscité l’attention sur LinkedIn et Reddit
  • Le premier score obtenu était de 90/100 points ; après suppression d’une instruction d’affichage de debug, une nouvelle exécution avec le même CV et la même commande a donné 74/100 points
  • Après désactivation de DEVELOPMENT_MODE et 100 exécutions répétées, les scores se sont étendus de 66 à 99 points
  • Si le seuil de passage d’une entreprise est fixé à 85 points, le même CV a 65 % de chances d’être rejeté

Pipeline d’évaluation et structure de notation

  • L’outil parse le CV PDF en texte, puis appelle plusieurs fois un LLM pour structurer les informations du candidat
    • Informations de base
    • Expérience
    • Formation
    • Compétences
    • Projets
    • Distinctions
  • Il scanne le profil GitHub et les principaux dépôts, puis ajoute ces informations comme contexte supplémentaire avant d’envoyer l’ensemble des données au LLM pour évaluation
  • Le modèle par défaut est gemma3:4b, exécuté localement, avec une temperature réglée à 0,1
  • Le score est sur 100 points, avec jusqu’à 20 points de bonus supplémentaires
    • Contributions open source : 35 points
    • Projets personnels : 30 points
    • Expérience professionnelle : 25 points
    • Compétences techniques : 10 points
    • Expérience en startup, site portfolio, blog technique, etc. : jusqu’à 20 points de bonus

Rubriques stables et rubriques instables

  • Les compétences techniques sont presque constantes, avec 8/10 points dans 98 exécutions sur 100
    • La présence de technologies comme React relève davantage d’une checklist, ce qui laisse peu de place au jugement subjectif du LLM
  • En revanche, la rubrique projets varie fortement d’une exécution à l’autre
    • Dans certaines exécutions, les projets sont évalués comme présentant un « manque de complexité architecturale »
    • Dans d’autres, ils sont jugés comme « démontrant un déploiement réel »
  • Une temperature de 0,1 est un réglage faible, mais le problème ne disparaît pas même en la réduisant à 0
  • Dans une issue GitHub ouverte en octobre 2025, six exécutions consécutives à temperature 0 ont également produit des scores différents : 27, 34, 32, 34, 34, 30

Une instabilité qui persiste même en changeant de modèle

  • L’influence du modèle a aussi été vérifiée, gemma3:4b étant un modèle local
  • Avec Gemini, la distribution des scores s’est resserrée entre 48 et 64 points
  • Mais avec un seuil de 60 points, le candidat est rejeté avec une probabilité de 28 %, indépendamment du contenu de son CV
  • Le score open source est devenu plus cohérent, mais le score des projets a continué à fortement fluctuer

Le problème inverse du score d’expérience : cohérent, mais inutile

  • La rubrique expérience a donné 25/25 points dans toutes les exécutions
  • Même un ancien CV ne comportant qu’un seul stage a obtenu 25/25 points
  • Dans le prompt d’évaluation, la rubrique Production ne contient que deux lignes
    • Analyser le travail réel, les stages et l’expérience en production dans les sections work et volunteer
    • Accorder une considération supplémentaire aux rôles de fondateur, cofondateur ou ingénieur early-stage en startup
  • Il n’existe aucun critère, exemple ou repère permettant de distinguer 15 points de 25 points
  • En conséquence, le stage d’un ingénieur junior, l’expérience de 10 ans d’un principal engineer en systèmes distribués et le CV utilisé pour le test peuvent tous recevoir 25/25 points

Risques pratiques pour le tri des CV

  • Utiliser un LLM pour parser un CV en données structurées ou vérifier la présence de Python est un cas d’usage relativement adapté
  • Lui demander de décider si l’expérience d’un candidat vaut 18 ou 24 points produit plutôt un résultat de type vibe-check
  • La structure qui donne à l’open source et aux projets un poids cumulé de 65 % peut aussi biaiser les décisions de recrutement
    • Un candidat ayant deux stages et un projet open source peut être mieux évalué qu’un ingénieur ayant créé S3 avec 30 ans d’expérience
    • Un ingénieur ayant réalisé des travaux importants qui n’apparaissent pas sur GitHub peut perdre plus de la moitié des points
  • Les ingénieurs habilités à introduire des outils d’IA dans le tri des CV doivent garder à l’esprit qu’un outil incapable de distinguer la qualité peut simplement devenir un dispositif d’élimination des candidats

Corrections

  • La première ligne du modèle resume_evaluation_criteria.jinja contient « Software Intern »
  • Cette formulation n’est pas documentée et n’est référencée nulle part ailleurs dans le dépôt
  • Le même modèle attribue plus loin des bonus aux rôles de fondateur, cofondateur et ingénieur early-stage en startup
  • Même en relançant explicitement avec un prompt Senior SWE, le résultat est resté identique, et les dimensions de scoring fonctionnent indépendamment du niveau du poste

1 commentaires

 
GN⁺ 4 시간 전
Avis sur Hacker News
  • Il est surprenant de voir combien de gens ignorent qu’un LLM fonctionne comme un processus purement probabiliste, donc ce genre d’article approfondi est bienvenu
    Je suis en recherche d’emploi, et c’est peut-être pour ça qu’il est si difficile d’obtenir des rappels ces temps-ci. On dirait que les CV sont simplement jetés dans une sorte de trou noir à LLM, sans que personne ne sache vraiment comment il fonctionne
    L’explication de l’article — « temperature 0.1 — une valeur basse, généralement considérée comme poussant le modèle vers des sorties déterministes » — n’est pas exacte. La température n’est pas un interrupteur de déterminisme : c’est une valeur qui influe sur la distribution d’échantillonnage ; elle rend simplement la distribution plus pointue, mais cela reste une distribution

    • En théorie, une température de 0 peut rendre un LLM déterministe
      Plus rigoureusement, une température de 0 n’existe pas en soi. Mathématiquement, à mesure que la température tend vers 0, la distribution devient de plus en plus pointue, l’échantillon le plus probable tend presque vers l’infini, et les autres vers presque 0
      Dans les implémentations réelles, temperature=0 n’utilise pas la formule prévue pour les valeurs non nulles ; on passe plutôt par une branche séparée dans un if, afin d’éviter une division par zéro, qui choisit l’échantillon le plus fréquent
      Cela dit, à cause du traitement par lots ou d’erreurs en virgule flottante propres aux implémentations, la distribution de probabilité elle-même varie souvent d’une exécution à l’autre, et l’échantillon change donc aussi
    • Toute compréhension de texte est un problème d’inférence sous incertitude. On ne peut jamais être certain de savoir de quelle « witch » les gens parlent, et quel que soit le processus de recrutement utilisé, la personne embauchée peut réussir ou échouer
      Deux personnes peuvent regarder le même CV et parvenir à la même conclusion, tout comme deux patients présentant les mêmes symptômes et le même tableau clinique peuvent avoir des maladies différentes
      L’explication selon laquelle l’ancienne IA serait surtout morte à cause du coût de maintenance des bases de connaissances ne me convainc pas vraiment ; je pense plutôt que le problème central était l’absence d’un système d’inférence général capable de gérer l’incertitude
      Le fait que Spock dise toujours des choses du genre « Capitaine, les chances de survie de cette mission sont de 21 % » m’a toujours semblé être une blague récurrente. D’un point de vue bayésien, comme il existe aussi des distributions de probabilité sur les distributions de probabilité, une formulation plus juste serait plutôt : « les chances de survie de cette mission sont β(5,1) »
      En ce sens, passer un CV 100 fois dans cette machine et observer la distribution de probabilité des scores n’est pas si étrange
      [1] Cela dit, je suis le genre de fou qui reste allongé dans son lit à trier des images sur une tablette jusqu’à ce que son système visuel parte en vrille
    • Pour être clair, une température de 0 est déterministe et, pour une entrée strictement identique, produit la même sortie quel que soit le choix de graine
      En revanche, s’il s’agit d’un MoE, les entrées dupliquées doivent aussi être identiques dans l’ensemble du batch. Les voisins du batch peuvent influencer le choix des experts
      Les kernels doivent être déterministes, et il ne doit pas y avoir, dans les modèles de raisonnement, de commutateur de niveau d’effort à l’échelle du système qui réagisse à des choses comme la charge globale du cluster
      En conclusion, dans une infrastructure cloud classique, même une température de 0 n’est probablement pas déterministe, mais en inférence en périphérie, elle peut l’être de façon assez fiable
      Quant à dire que 0,1 est « plus déterministe », je trouve que c’est un résumé assez raisonnable. À température 0,1, n’échantillonne-t-on pas beaucoup plus souvent la « réponse de température 0 » qu’à température 0,9 ?
    • J’ai plusieurs collègues autoproclamés experts en IA qui répètent ça comme un évangile
      J’ai entendu un nombre incalculable de fois : « pour obtenir des résultats cohérents, il faut régler la température à 0 »
    • Une distribution dont toute la masse de probabilité est concentrée sur un seul résultat est déterministe ; en principe, régler la température à 0 devrait donc produire une sortie déterministe
      Il y a plusieurs raisons pour lesquelles ce ne serait pas forcément le cas, mais lorsque l’on exécute un modèle local, comme l’a fait l’auteur, je ne pense pas que ces raisons s’appliquent
  • Si l’on combine la tendance de l’IA à « préférer » le code produit par l’IA avec d’autres biais, cette méthode a de fortes chances d’être très illégale dans l’UE, en violant de plusieurs façons les lois antidiscrimination
    Filtrer au hasard des CV au motif qu’il y en a trop me semble globalement acceptable. Mais il faut que ce soit réellement aléatoire, et indépendant du contenu des CV
    Avec l’IA, le caractère aléatoire n’est pas indépendant de l’évaluation réelle du CV, donc cela ne s’applique pas
    En général, on ne peut pas garantir qu’une IA n’applique pas de biais systémique, et il existe même de forts signaux indiquant que c’est probable
    On peut former des humains et leur donner pour consigne d’ignorer les biais. Bien sûr, cela ne fonctionne pas non plus de manière fiable, mais au moins la responsabilité du biais illégal se trouve déléguée au recruteur qui a enfreint les consignes
    En revanche, lorsqu’on utilise l’IA, l’utilisateur reste responsable, quelles que soient les consignes données. Il peut aussi être techniquement possible de « montrer ou prouver » qu’une IA donnée est fortement biaisée dans un contexte donné. C’est techniquement possible aussi pour un employé humain, mais en pratique ce n’est quasiment pas difficile
    Au final, le risque juridique passe d’un niveau « individuel et généralement niable » à celui d’un biais systématiquement démontrable. Autrement dit, dès qu’on sait qu’une IA est utilisée dans le recrutement, les gens peuvent l’attaquer juridiquement de façon systématique

    • Tout est corrélé avec tout [1]
      Autrement dit, même d’un strict point de vue mathématique, il est probable que cela soit corrélé d’une manière ou d’une autre avec la race, le genre et d’autres groupes protégés aux États-Unis
      Donc, même aux États-Unis, un bon procès pourrait rendre cela illégal. Il n’est même pas nécessaire de gagner : il suffit de tenir suffisamment longtemps au tribunal pour faire peur aux autres entreprises et les dissuader de l’utiliser
      Je n’aimerais pas me retrouver dans la position du défendeur qui doit prouver que mon système de tri par IA respecte pleinement toutes les règles du droit du travail. Ce serait un cauchemar
      [1]: https://gwern.net/everything
    • Il n’y a absolument aucun problème à filtrer des CV d’une manière totalement aléatoire et indépendante du contenu
      Prendre le quatrième CV dans la pile et proposer le poste à cette personne est une méthode de recrutement stupide, mais parfaitement équitable
      Mais l’IA est très douée pour capturer les biais ; si on lui demande de filtrer des CV, il ne serait donc pas surprenant qu’elle se mette à utiliser comme critères des éléments qui ne devraient absolument jamais en être, comme le nom du candidat
      Il se pourrait par exemple que tous les CV mentionnant la correction d’une faute de frappe dans un grand projet open source passent, tandis que les CV ne listant que des projets personnels soient rejetés dans 60 % des cas. Dans ce cas, on perdrait davantage de bons candidats que de mauvais
    • Je ne sais pas s’il est si facile de prouver qu’il s’agit d’une violation des exigences de non-discrimination en matière d’emploi, comme celles de la directive 2000/78/CE du Conseil
      Je suis d’accord pour dire que, puisqu’il fonctionne comme une machine à sous irrationnelle, il peut avoir des effets indésirables de discrimination indirecte. Mais il ne sera probablement pas facile de montrer qu’il discrimine en raison de « la religion ou des convictions, du handicap, de l’âge ou de l’orientation sexuelle ». C’est possible, mais il faudrait beaucoup de travail aux avocats pour le prouver devant un tribunal
      Le point le plus intéressant est l’EU AI Act. Cette partie n’entrera en application que le 2 décembre 2027, mais les systèmes d’IA utilisés pour le recrutement ou la sélection de personnes physiques, en particulier pour le placement d’annonces d’emploi ciblées, l’analyse et le filtrage des candidatures, ainsi que l’évaluation des candidats, sont clairement des systèmes d’IA à haut risque
      Cela ne signifie pas qu’ils sont interdits, mais les LLM pourraient plus tard être exclus des cas d’usage d’IA à haut risque. Sans exception, ils peuvent relever de l’article 6
      Alors que les normes ne sont pas encore publiées, je ne vois absolument pas comment faire respecter, lors de l’utilisation d’un LLM pour ce type de tâche, les passages suivants de l’article 10
      « (f) examiner les biais susceptibles d’affecter la santé et la sécurité des personnes, d’avoir une incidence négative sur les droits fondamentaux ou d’entraîner une discrimination interdite par le droit de l’UE, en particulier lorsque les sorties de données influencent les entrées de futures opérations
      (g) prendre des mesures appropriées pour détecter, prévenir et atténuer les biais potentiels identifiés conformément au point (f) »
      À ce stade, même avec la coopération complète du fournisseur du modèle, je pense que c’est techniquement impossible avec un LLM généraliste. De petits modèles pourraient peut-être faire l’objet d’un audit significatif
      L’EU AI Act pourrait finir par exclure, pour les cas d’usage à haut risque de l’annexe III, toutes les approches façon vibe coding du type « on utilise bien un LLM, mais on ne sait pas vraiment pourquoi », et cela me paraît justifié
      https://eur-lex.europa.eu/eli/reg/2024/1689/oj/eng
    • C’est globalement illégal au titre de l’article 22 du RGPD
      « La personne concernée a le droit de ne pas faire l’objet d’une décision fondée exclusivement sur un traitement automatisé, y compris le profilage, produisant des effets juridiques la concernant ou l’affectant de manière significative de façon similaire »
      Les exceptions de l’article 22(2) ont peu de chances de s’appliquer. Il est difficile de soutenir que c’est réellement nécessaire, et dans un contexte d’emploi, le consentement est rarement valable. Ce serait possible si une loi spécifique de l’UE ou d’un État membre l’autorisait, mais il faudrait alors une base juridique distincte
  • À ce stade, on pourrait aussi bien adopter la blague consistant à dire : « je ne veux pas embaucher des gens malchanceux, donc je jette la moitié des CV les yeux fermés »

    • Par le passé, une grande école de médecine britannique, Barts and The London School of Medicine and Dentistry, qui fait partie de Queen Mary University of London, avait introduit une sélection aléatoire parmi les candidats qualifiés
      Cette méthode avantageait les étudiants qualifiés issus de milieux moins aisés, plutôt que ceux qui avaient les moyens de contourner des critères d’évaluation manuelle des dossiers de plus en plus complexes à l’époque
      Une campagne organisée du type « va-t-on choisir les futurs médecins par tirage au sort ? » a été lancée, et le système de loterie a fini par être discrètement abandonné
    • La quantité totale de chance dont dispose une personne au cours de sa vie est constante
      Les candidats de la moitié restante ont déjà dépensé une partie de leur chance dans cette sélection ; en moyenne, ils auront donc moins de chance que la moitié rejetée
    • Plus fondamentalement, il y a généralement beaucoup plus de candidats qualifiés que de postes disponibles
      Au cours des dernières décennies, la formation et l’éducation se sont considérablement développées, ce qui a continuellement augmenté le nombre de chercheurs d’emploi, mais la création d’emplois n’a pas suivi le même rythme
    • Le tri de CV par LLM est peut-être le symptôme d’un problème plus vaste
      Quand des dizaines de candidats se présentent pour un seul poste, l’employeur peut trier les CV n’importe comment, ou en jeter la moitié, et quand même finir par recruter quelqu’un de qualifié
  • « J’ai 65 % de chances d’être recalé. Exactement le même CV, mais une autre chance » : pour quelqu’un qui a exploité des pipelines de recrutement pour des postes techniques ces dernières années, c’est en fait un excellent chiffre
    Je déteste objectivement le dire comme ça, mais c’est vrai
    35 % de chances de faire passer des profils techniques à l’étape suivante sans effort ? Même en ajoutant des questions de présélection spécifiques au domaine, j’ai déjà vu plus de 100 candidats par heure. Cela fait donc 35 candidats « présélectionnés » par heure
    Des candidats valables ont-ils été filtrés ? Oui. Se retrouve-t-on quand même avec un vivier de candidats 35 fois plus grand que nécessaire ? Malheureusement, oui aussi
    Le nombre de candidatures est tellement élevé que, sans intervention de l’IA, la probabilité de passer à l’étape suivante est en réalité bien plus faible. Si vous n’avez pas postulé immédiatement, et surtout si vous ne l’avez pas fait avec un bot IA, il y a plus de 50 personnes devant vous, et un responsable technique épuisé devra bien finir par arriver un jour à votre CV
    Ce n’est pas pour rien qu’il existe une prime de cooptation

    • Dans ce cas, j’ai un système de présélection à vous vendre
      Grâce aux technologies les plus récentes, il ne laisse passer que les meilleurs* 1 % de candidatures
      *selon nos indicateurs propriétaires, non publics et non déterministes, qui peuvent ou non être Math.random
    • Est-ce vraiment le cas ? Ou bien, si un CV a 65 % de chances d’être ignoré avant même qu’un humain ne le voie, le pipeline de recrutement réduit-il d’autant ses chances d’identifier des candidats qualifiés ?
      Un filtre qui réduit le flux de CV n’est utile que si cette réduction est corrélée à la qualité. Sinon, il ne fait qu’allonger inutilement le processus de recrutement ou conduire, au final, à abaisser les critères sans raison
    • La solution logique consiste pour le candidat à postuler plusieurs fois en modifiant légèrement ses coordonnées
      Par exemple « John Schmidt », « John J. Schmidt », « John J. J. Schmidt », « John Jacob J. Schmidt », « J. J. Jingleheimer Schmidt »
    • S’il n’y a pas d’exigence de précision, il suffit de faire passer aléatoirement 35 % des candidats à l’étape suivante
      Si les 50 premiers candidats sont tous des bots, pourquoi lire les CV dans l’ordre de candidature ?
  • Ce qui m’inquiète davantage, c’est que si d’autres systèmes fonctionnent comme cet ATS, ils semblent juger les candidats sur des éléments qui écarteront massivement des profils tout à fait corrects, voire bons
    Par exemple, la combinaison de projets personnels et de contributions open source reçoit 65 points. Cela peut être très bien si la tech est votre seul centre d’intérêt et que vous n’avez ni famille, ni personnes à charge, ni deuxième ou troisième emploi
    Mais si l’un de ces éléments existe, les chances semblent devenir énormément défavorables
    Je me demande combien de ces systèmes sont conçus pour avantager des personnes aisées qui n’ont rien d’autre à gérer que l’université ou un seul emploi dans le secteur qu’elles visent, et qui peuvent se passionner pour la tech à un niveau quasiment obsessionnel

    • Survaloriser les projets personnels et les projets open source est inquiétant et assez nul
      Pour prendre mon propre exemple, je fais très peu de projets personnels en dehors du travail. Toute mon expérience réelle en programmation vient de ce que j’ai fait pour mes employeurs pendant mes heures de travail
      Mes loisirs sont adjacents à la tech, comme l’impression 3D, le matériel/Arduino ou la photo, mais ce n’est pas le genre de choses où je publie quantité de projets sur GitHub
      Je ne vais certainement pas créer de fausses applis CRUD ou SaaS pour les montrer à de potentiels employeurs. C’est une perte de temps
      J’ai délibérément évité de construire ce type de présence en ligne. Mon GitHub n’a aucun dépôt public et je ne tiens pas de blog
      Cette tendance s’est aussi propagée au domaine ops/administration systèmes dans lequel je travaille, et elle y est même pire. Bien sûr que je n’ai pas mis tout un tas de scripts spécifiques à mon environnement sur mon GitHub : pourquoi le ferais-je ? Ils n’auraient aucun sens pour quelqu’un qui ne travaille pas dans mon service, dans mon entreprise actuelle
  • Le mot déterminisme a un effet presque magique : il déforme les textes en ligne qu’il touche
    Quand on entend ce mot, on peut presque garantir que la discussion va partir dans la mauvaise direction. Cela dit, cette fois-ci, il est bien question du vrai déterminisme — même entrée, même sortie — et non de choses hors sujet
    Le déterminisme est important pour la reproductibilité, mais dans ce cas précis, veut-on vraiment que la sortie soit reproductible ? Rendre la sortie d’un LLM déterministe est relativement trivial. Si vous utilisez du batching, utilisez des kernels invariants au batch ; et plutôt que de régler la temperature à 0 — ou de ne pas le faire, car l’échantillonnage aléatoire existe pour une raison — mieux encore, fixez une seed. C’est déjà possible dans certains systèmes
    Mais cela ne rendra pas le résultat plus utile. Cela ne fera que masquer le fait que l’agent n’est pas réellement sûr de lui. Regardez l’éventail des scores. Il ne prédira toujours rien, mais le score sera simplement le même à chaque fois. Est-ce vraiment ce que vous voulez ?
    Ce qui se passe ici, c’est qu’on fournit trop peu d’informations : un seul CV, qui relève presque du bruit, et l’on attend une réponse aux implications beaucoup trop larges
    C’est une erreur de conception fondamentale, que l’on utilise ou non un LLM. Tous les questionnaires, examens, lois et systèmes de vote fonctionnent avec trop peu d’informations, ce qui les rend extrêmement sensibles au cadrage. Simplement, contrairement à ce machin, ils n’existent pas dans le vide

    • La non-déterminisme ne signifie pas qu’il est impossible d’atteindre de façon fiable la bonne sortie. Bien sûr, cela peut parfois être le cas
      Les algorithmes de Las Vegas sont non déterministes, mais corrects à 100 %. Le compromis est que le temps nécessaire pour atteindre la bonne réponse peut varier fortement
      L’erreur ici n’est pas d’avoir utilisé un système non déterministe. Dans un certain sens, l’erreur pourrait même être de ne pas l’avoir assez utilisé. Réévaluer le même CV 5 fois et observer une forte variance des scores serait un signal plus utile que de ne l’évaluer qu’une seule fois
    • Il est bien connu que les juges et les examinateurs humains ne sont pas aussi déterministes que nous le souhaiterions
      Tout le monde a déjà entendu dire que les peines sont plus sévères dans l’heure qui précède le déjeuner
    • La non-déterminisme n’est pas seulement un bug, c’est aussi une fonctionnalité
      Si l’on veut empêcher les gens d’optimiser leur candidature pour le processus de filtrage, il faut rendre celui-ci non déterministe dans une certaine mesure
      Par exemple, au lieu de couper net après les 100 premiers, on pourrait augmenter de manière exponentielle la probabilité qu’un meilleur candidat passe le filtre
      Cela réduit l’intérêt de chercher à exploiter le processus de filtrage à la Goodhart, car la probabilité n’augmente presque pas et il existe beaucoup de meilleures façons d’utiliser son temps
  • Si le modèle par défaut est gemma3:4b, c’est un très petit modèle
    Aucun LLM ne sera sans doute un juge parfait et reproductible, mais brancher un modèle 4B sur un tel système revient un peu à connecter un générateur de nombres aléatoires
    Toute l’expérience donne l’impression que quelqu’un voulait créer un projet ATS open source, a codé un ATS en mode vibe coding, puis l’a ajusté juste assez pour que les tests passent

    • Même ce genre de modèle peut convenir à de petits problèmes s’il est utilisé correctement
      Il existe probablement une façon d’analyser des CV avec ce modèle qui fonctionnerait bien. Mais pas en mode « hé, tas de ferraille, quels projets cette personne a-t-elle faits ? »
      Il faudrait de l’extraction, de la structuration, probablement de la comparaison via OCR et un nettoyage supplémentaire, plusieurs analyses LLM par signal, des classificateurs, etc.
      Rien de tout cela n’a besoin d’être un grand modèle. Utiliser un grand modèle améliorerait un peu les choses, mais comme le contexte est très réduit, ce type de modèle peut bien fonctionner s’il est utilisé correctement
  • J’ai fait tourner l’ATS moi-même et j’ai eu une expérience tout aussi bizarre
    Il n’a pas trouvé mon profil GitHub, donc j’ai obtenu une note dans les 70, puis il n’a pas aimé certaines bibliothèques Ruby connues que j’ai créées
    Après quelques exécutions, il a commencé à les reconnaître correctement, mais il me pénalisait toujours sur la formation académique officielle
    Ce genre de chose est écœurant

    • J’ai eu une expérience similaire. Sur une exécution, j’ai eu environ 65 points, parce qu’il n’aimait pas l’absence de contributions open source
      Il n’a pas non plus détecté les certifications ni les prix. J’ai appliqué quelques PR où des gens proposaient des améliorations (https://github.com/Zem-0/hiring-agent), et ça a aidé, mais globalement cet ATS est fortement biaisé en faveur des personnes ayant de grosses contributions open source sur GitHub
  • J’ai toujours trouvé étonnant que les entreprises tech paient plus de 300 000 dollars sous prétexte qu’il est difficile de trouver de bons ingénieurs, alors que les recruteurs travaillent sans support et ont des critères totalement différents pour définir un « bon candidat »
    L’ATS envoie plus de 50 % des CV dans un trou noir à cause d’heuristiques de filtrage pourries, l’équipe recrutement a choisi l’ATS pour des raisons comme son intégration avec Google Gmail, et la technologie de filtrage de cet ATS n’a été revue par personne dans l’équipe d’ingénierie ou de data

  • J’ai essayé avec mon CV et, somehow, j’ai reçu des points bonus GSoC
    BONUS POINTS: 5.0
    ------------------------------
    Google Summer of Code (GSoC) participation: +5
    Pourtant, je n’ai jamais participé au GSoC et je ne l’ai pas écrit sur mon CV