Hunel : Intelligence
IA pour le Recrutement
Création d'un système RAG de production qui transforme la façon dont les recruteurs découvrent et matchent les candidats — avec orchestration multi-LLM, recherche sémantique hybride et workflows agentiques.
Stack IA en Production
Le matching par mots-clés est fondamentalement cassé
La technologie de recrutement traditionnelle repose sur le matching par mots-clés — une approche fondamentalement cassée. « Développeur Python » ne matche pas « Ingénieur Logiciel (Python) ». Les CV scannés sont invisibles. Les relations entre compétences sont ignorées.
Hunel avait besoin d'un système IA qui comprend le recrutement comme un humain — mais à l'échelle et à la vitesse d'une machine. Pas un énième wrapper de chatbot. Un vrai système RAG de production capable de :
- Ingérer et indexer des données de 40+ job boards et services d'emploi nationaux
- Traiter n'importe quel format de CV — texte, scanné, créatif/infographique
- Comprendre les relations sémantiques entre compétences, postes et trajectoires de carrière
- Expliquer pourquoi un candidat matche, pas juste retourner un score
Mismatch mots-clés
Candidats qualifiés ratés par le matching exact
30% des CV invisibles
Les documents scannés ne sont pas recherchables
Pas de relations compétences
« React » ne remonte pas les experts « Frontend »
Scoring opaque
Aucune explication sur pourquoi un candidat matche
Ce que nous avons livré
Recherche sémantique hybride
Retrieval dense + sparse + graph avec reranking cross-encoder. Pas juste des vecteurs — une vraie compréhension des relations entre compétences.
Matching IA explicable
Chaque match vient avec un raisonnement lisible : points forts, lacunes, deal-breakers et angles d'approche recommandés.
Workflows agentiques
Agents autonomes avec tool-calling qui recherchent, scorent, enrichissent et rédigent des approches personnalisées — avec validation humaine.
Traitement CV multi-modal
Texte, scanné, créatif/infographique — tout est traité avec OCR, Vision IA et extraction structurée. Aucun CV n'est invisible.
L'architecture RAG
Un système de retrieval de production qui va bien au-delà de la recherche vectorielle basique
Pipeline de retrieval hybride
Embeddings multi-vecteurs
Pas un embedding par CV — plusieurs vecteurs pour compétences, expérience, trajectoire et job idéal. Match sur l'expérience spécifique, pas juste le profil global.
Orchestration multi-LLM
Routage intelligent par complexité de tâche, latence et exigences de confidentialité. LLM raisonnement pour matching complexe, LLM rapide pour autocomplétion, LLM privacy pour données sensibles.
Knowledge Graph Neo4j
Approche réseau de neurones graphiques : compétences, rôles, entreprises et trajectoires comme nœuds. Relations encodant « mène à », « requiert », « similaire à ». Traversée du graph pour étendre les requêtes et inférer des matchs implicites.
Traitement Vision IA
OCR avec détection de langue. Prétraitement d'images. Extraction CV créatifs. Analyse de screenshots portfolios. Aucun type de document invisible.
Extraction structurée
Parsing LLM vers schéma JSON. Expérience, compétences, réalisations, niveau de séniorité — tout inféré et structuré à partir du texte brut.
Inférence conforme RGPD
Options LLM hébergées UE pour données personnelles sensibles. Contrôles de résidence des données. Routage automatique des données personnelles vers endpoints conformes.
Knowledge Graph Neo4j
Pourquoi les vecteurs seuls ne suffisent pas — et comment les relations de graphe permettent une vraie compréhension sémantique
Le problème de la recherche vectorielle pure
La similarité vectorielle trouve « Développeur Python » ≈ « Ingénieur Logiciel » — mais elle ne comprend pas que Python → Django → Web Backend → API Design est une progression de compétences. Elle ne sait pas que quelqu'un qui a fait Django pendant 5 ans connaît probablement les APIs REST, même s'il ne l'a jamais listé. C'est là qu'intervient le graphe.
« Développeur React » et « Ingénieur Frontend » sont des vecteurs similaires, mais on rate que React → TypeScript → Testing Library est un cluster de compétences commun qui implique une expertise frontend plus profonde.
Traverser depuis le nœud « React » vers les compétences connectées. Pondérer par fréquence de co-occurrence. Étendre la recherche pour inclure les compétences implicites. Scorer selon la centralité du graphe.
Types de nœuds et relations du graphe
Matching inspiré des réseaux de neurones graphiques
Message Passing
Les compétences « propagent » leur pertinence aux voisins. Un signal Python fort booste les nœuds Django, FastAPI, Flask dans le profil du candidat.
Centralité de graphe
Les candidats avec compétences en position « hub » (haute connectivité) sont plus polyvalents. Scoring style PageRank pour identifier les profils en T.
Analyse de chemins
Trajectoire de carrière = chemin à travers les nœuds de rôles. Prédire le prochain rôle probable. Identifier les transitions atypiques mais réussies.
La stack de production
Construite pour le scale dès le premier jour — pas un prototype à reconstruire
IA & Machine Learning
Backend
Couche Data
Infrastructure
Les parties difficiles
Les problèmes qui séparent le pays des POC de la réalité de la production
Intitulés de poste subjectifs et ambiguïté sémantique
Les intitulés de poste sont subjectifs et incohérents. « Tech Lead » dans une startup ≠ « Tech Lead » dans une banque. « Développeur Full-Stack » peut signifier React+Node ou PHP+jQuery. Impossible de matcher sur les titres — il faut comprendre le contexte derrière.
Solution : Approche contexte-first. Extraire les responsabilités réelles, technologies, taille d'équipe et contexte entreprise depuis les descriptions d'expérience. Mapper vers une taxonomie normalisée de compétences/rôles (ESCO) avant le matching. Le match se fait sur ce qu'ils ont fait, pas ce que leur titre disait.
Hallucinations et calibration de confiance
Les LLMs inventent des choses avec assurance. Un recruteur qui envoie une approche basée sur une expérience hallucinée détruit la confiance instantanément.
Solution : Vérification multi-étapes. Le RAG ancre toutes les affirmations dans les documents récupérés. Scoring de confiance avec incertitude explicite. « Impossible à vérifier » est une réponse valide. Vérification croisée des données extraites contre les documents sources.
Limites de fenêtre de contexte en production
Le matching nécessite de comparer les exigences d'un poste contre plusieurs candidats, chacun avec des CV de plusieurs pages. Les fenêtres de contexte se remplissent vite. Le chunking détruit la cohérence sémantique.
Solution : Représentation multi-vecteurs — embeddings séparés pour compétences, expérience, trajectoire. Résumé hiérarchique pour les comparaisons lourdes en contexte. Chunking intelligent qui respecte la structure du document (sections, pas découpes arbitraires).
Compromis latence vs précision
Les utilisateurs attendent l'autocomplétion en <500ms. Mais un matching de qualité nécessite du reranking cross-encoder et du raisonnement LLM. Impossible d'avoir les deux avec une implémentation naïve.
Solution : Routage multi-LLM. Modèle rapide pour suggestions temps réel. Modèle raisonnement pour scoring final. Révélation progressive — afficher les résultats rapides immédiatement, affiner en arrière-plan. Cache des patterns communs.
RGPD et résidence des données
Les CV contiennent des données personnelles sensibles. Les réglementations européennes exigent des contrôles de résidence des données. La plupart des fournisseurs LLM sont basés aux US. La conformité n'est pas optionnelle.
Solution : Options d'inférence hébergées UE dans le gateway LLM. Routage automatique des requêtes à forte composante données personnelles vers des endpoints conformes. Classification des données à l'ingestion. Piste d'audit pour toutes les décisions IA.
Ce qui a fait la différence
Pipeline Contexte → Mapping → Match
Les intitulés de poste ne valent rien. « Tech Lead » veut dire des choses différentes partout. Donc on extrait d'abord le contexte (responsabilités, taille équipe, techno), on mappe vers une taxonomie normalisée (ESCO), puis on matche. Jamais de saut direct à la similarité sans comprendre.
Représentation CV multi-vecteurs
Au lieu d'un embedding par candidat, on génère plusieurs vecteurs capturant différents aspects : compétences, expérience, trajectoire, job idéal. « Montre-moi les candidats qui ONT FAIT de la fintech » vs « connaissent la fintech ».
Retrieval hybride avec reranking
Combinaison recherche dense (sémantique), sparse (mots-clés) et graph (relationnelle) avec reranking cross-encoder. Les vecteurs seuls ratent les matchs exacts. Les mots-clés seuls ratent la sémantique. On utilise les deux.
Matching IA explicable
Chaque score de match vient avec un raisonnement lisible — forces, lacunes, deal-breakers et angles d'approche recommandés. Les recruteurs peuvent faire confiance et vérifier.
Ce que j'ai appris
« Le plus difficile n'était pas le LLM — c'était de comprendre que les intitulés de poste sont insignifiants sans contexte. Un « Développeur Senior » dans une startup de 5 personnes a une expérience complètement différente de celui d'une banque. La percée : contexte d'abord, puis mapping vers taxonomie, puis matching. On ne peut pas sauter directement à la similarité vectorielle. Le LLM c'est 20% du travail. Les 80% restants c'est comprendre le domaine assez bien pour savoir ce qui compte vraiment. »
Vous construisez un système IA ?
Que ce soit du RAG, de l'orchestration multi-LLM, des workflows agentiques ou de la recherche sémantique — j'ai livré des systèmes de production qui gèrent les parties difficiles. Parlons de votre projet.
Parlons de votre projet IAPassons aux choses sérieuses
30 minutes d'échange, sans engagement. On parle de votre projet, pas de mes services.
Startups, scale-ups et grands comptes en France et à l'international.