Inspiration
Entre un système RH et un système de temps, un écart n'est pas forcément une erreur. Aujourd'hui, chaque écart est vérifié à la main, avec une connaissance du système et des règles qui ne sont pas toujours écrites.
Ce que ça fait
CorroborAI applique une règle par champ du mapping. Chaque verdict cite la règle, la ligne du mapping et la preuve, et classe l'écart en conforme, écart justifié, anomalie probable ou anomalie. Sur les 23 lignes fournies : 11 conformes, 1 écart justifié, 2 anomalies probables à valider, 9 anomalies. Les écarts qui touchent presque toutes les lignes sont signalés au niveau du jeu, et non comme erreurs par dossier. Les cas ambigus (horaires, date d'entrée) sont arbitrés avec des preuves croisées : historique du détail de poste, autres affectations de la personne, correspondance avec un autre dossier. Deux paires de contrats sont inversées entre dossiers, et deux sites sont échangés ; ces erreurs n'apparaissent qu'en comparant les dossiers entre eux. Aucune donnée ne quitte la machine.
Comment on l'a construit
Python 3.11, pandas et openpyxl. Un moteur de règles (une règle par champ mappé), un module d'arbitrage, un rapport Excel et CSV, et une visionneuse HTML hors ligne avec filtres par verdict et preuve par champ. Les tests incluent 4 cas où des erreurs connues sont injectées dans une copie des données.
Défis rencontrés
Le mapping ne couvre pas toutes les règles de date et d'horaires. Les libellés anonymisés sont incohérents, ce qui produit des écarts systématiques à distinguer des vraies anomalies. Plusieurs règles ont dû être lues comme des interprétations, et elles sont signalées comme telles.
Réalisations dont on est fiers
Chaque verdict est explicable et traçable. Les 15 tests passent, y compris les cas d'erreurs injectées, et la visionneuse a été testée dans un navigateur, en largeur bureau et mobile.
Ce qu'on a appris
Une règle explicite et sourcée est plus utile à un relecteur qu'un score opaque.
Et après
Un arbitre LLM pour les cas ambigus, si l'usage sur des données anonymisées est autorisé. Une mesure de précision sur un jeu synthétique avec erreurs connues, puisque nous n'avons pas de corrigé pour les données fournies. Une boucle de correction par un expert, qui réinjecte les corrections dans les règles.
Limites et transparence sur l'IA
L'arbitrage est une pondération de preuves écrite à la main, pas un modèle de langage. La précision n'a pas été mesurée contre une vérité terrain. Un seul jeu de données a été testé.
Outils, sources et modèles
Python 3.11, pandas, openpyxl, pytest, Playwright (vérification visuelle). Développement assisté par Claude Code (Anthropic) ; choix de règles et interprétations relus par l'équipe.
What's next for CorroborAI
Built With
- html
- javascript
- openpyxl
- pandas
- playwright
- pytest
- python
Log in or sign up for Devpost to join the conversation.