NLP : Systèmes Multi-Agents pour l’analyse automatisée de CV

Ce projet explore la conception d’un système multi-agents pour l’analyse automatisée de CV dans un contexte de recrutement. En équipe de quatre, nous avons comparé une architecture mono-agent à un pipeline composé de trois agents spécialisés (extraction, évaluation, rédaction), afin d’évaluer l’impact de la spécialisation sur la performance et la robustesse.

À travers une démarche expérimentale rigoureuse et un benchmark sur un dataset réel, nous mettons en évidence les compromis entre précision, rapidité et fiabilité des architectures basées sur les LLMs.

outils utilisés

Langage Python

Python

Pipeline mono-agent / multi-agents, LangChain

Logo Ollama

Ollama

modèle Llama 3 (8B)

logo Visual Studio Code

Visual Studio Code

Environnement de développement

Logo prism

Prism (anciennement Crixet)

Rédaction collaborative du rapport LaTeX

Projet réalisé pour

logo Cy Tech

École d’ingénieur informatique CY Tech

Notre article scientifique

Notre rapport scientifique présente en détail l’architecture des systèmes mono-agent et multi-agents, le protocole expérimental ainsi que l’ensemble des métriques d’évaluation utilisées (accuracy, precision, recall, F1-score, MAE, latence, consommation de tokens).

Il décrit également les données exploitées, la méthodologie d’annotation du ground truth, l’analyse comparative des résultats et les limites de l’étude. L’ensemble du projet y est structuré avec rigueur, dans une approche expérimentale complète et reproductible.

Naissance du projet

Dans le cadre du module Natural Language Processing en ING3 (spécialité IA), nous avons mené un projet en groupe de quatre autour d’un cas d’usage concret : automatiser l’analyse de CV dans un processus de recrutement.

Face à la montée en puissance des outils d’IA dans les services RH, nous avons imaginé un système capable de traiter un CV de bout en bout : de l’extraction des informations à la rédaction d’un email personnalisé au candidat.

Architecture : Mono-Agent vs Multi-Agents

Nous avons comparé deux approches :

    • Un système mono-agent, où un seul LLM réalise extraction, évaluation et génération en une seule étape.

    • Un système multi-agents, composé de trois agents spécialisés travaillant en séquence :

      1. Agent Extracteur → structure le CV en JSON

      2. Agent Évaluateur → analyse l’adéquation avec le poste

      3. Agent Rédacteur → génère un email personnalisé

Le cas d’usage choisi était le tri de candidatures pour un poste de Data Scientist Junior spécialisé en NLP.

Données & Stack technique

Nous avons utilisé un dataset Kaggle contenant des CV en PDF ainsi qu’un fichier Excel associé : https://www.kaggle.com/datasets/anissamylaamri/cv-database-excel-pdf

Notre stack technologique :

    • LangChain

    • Ollama (exécution locale)

    • Llama 3 (8B)

    • PyPDF pour l’extraction de texte

Un ground truth a été annoté manuellement sur 30 CV afin de benchmarker les performances.

Résultats

Les résultats mettent en évidence un compromis intéressant :

  • Le multi-agent obtient une meilleure accuracy (82.61%) et une meilleure precision (72.73%).

  • Le mono-agent atteint un recall parfait (100%), est trois fois plus rapide et consomme moins de tokens.

  • Le F1-score est identique (80%) pour les deux approches.

Le multi-agent est plus précis mais plus fragile (erreurs JSON), tandis que le mono-agent est plus robuste et plus rapide.

Conclusion

Ce projet nous a permis d’explorer concrètement les architectures multi-agents appliquées aux LLMs, dans un contexte réaliste de recrutement automatisé.

Au-delà des performances, nous avons analysé la robustesse, la latence, la consommation de tokens et les erreurs de pipeline, dans une logique expérimentale complète.

Un projet court mais particulièrement stimulant, qui nous a permis de comprendre les forces et limites des systèmes multi-agents dans des workflows NLP structurés. Pour consulter le code documenté, voici le lien vers notre dépôt GitHub :