Agent CV : du manuel à la production

−94%de temps de traitement
0,30€par CV généré
134tests automatisés
75jours-homme/an économisés

01 · SITUATION

Le contexte 

Adapter un CV consultant à un appel d'offres représentait 30 à 45 minutes de travail manuel, répété plusieurs dizaines de fois par an, avec un résultat hétérogène selon qui s'en chargeait. Le risque réel : perdre un appel d'offres non sur la compétence, mais sur la présentation du dossier.

02 · MÉTHODE

Pipeline 4 étapes 

Extraction documentaire locale

Extraction des données brutes depuis les PDF (pdfplumber). Traitement local. Aucune donnée ne quitte l'infrastructure avant validation.

IA contrainte par schéma strict

14 champs Pydantic, température 0. Deux passes : extraction de l'union des versions du CV, puis alignement sur le cahier des charges. Marqueurs [[À compléter]] pour les manques, [[À arbitrer]] pour les conflits.

Rendu déterministe découplé

Génération du PPTX en python-pptx natif. Découplage total IA/rendu = zéro troncature, zéro dépendance à un service tiers pour le rendu.

Validation humaine obligatoire

L'agent ne remplace pas le consultant : il produit un premier jet structuré et documenté. La décision finale reste humaine.

SCHÉMA D'ARCHITECTURE (PIPELINE)

CV(s) consultant (PDF)1 à N versions, 2-5 pages chacuneAppel d'offres (PDF)Cahier des charges / CCTP, 5-30 pagesgolden-source-template.pptxStandard de mise en forme du cabinet01pdf_parser.pyExtraction du texte brut (pdfplumber)02prompt.pyAssemblage du contexte LLM (anti-hallucination, Action-Preuve-Impact)03claude_client.pyGénération JSON via API (Claude Sonnet 4.5, température 0)04schema.pyValidation stricte (Pydantic, 14 champs)05pptx_renderer.pyRendu déterministe (python-pptx, auto-fit, no-overlap)06correspondances.pyTableau des correspondances (sections A·B·C·D)Lit legolden-source-template.pptxcv-final.pptxCV adapté à l'appel d'offresresultat.jsonDonnées structurées (14 champs)correspondances.mdTraçabilité des choix

Orchestration pipeline.py · Points d'entrée cli.py / server.py (CLI + FastAPI) · Sandbox local : aucune donnée ne quitte l'infrastructure avant validation.

PARCOURS UTILISATEUR (DU DÉPÔT AU CV FINAL)

Dépôt des fichiersLe consultant dépose CVs+ appel d'offresLecture & parsingCVs + AO → texte brutGénération LLMClaude (règles strictes,~25 s)Validation PydanticSchéma 14 champs (< 100ms)JSON conformePrêt pour le rendu PPTXT0+2 s+27 s+27 s~30 s

Le coût LLM domine le temps total (environ 80 % de la durée).

03 · RÉSULTATS

En production 

30-45 min → 2 min de traitement (−94 %)
~0,30 € par CV généré
134 tests automatisés au vert
75 jours-homme/an économisés à l'échelle du cabinet
4 phases livrées en production (dont un pivot technique assumé : migration n8n → Python, Carbone.io → python-pptx natif)

Cas suivant

Gouvernance IA à l'échelle d'un grand groupe

Un processus documentaire à automatiser ?

Réservons 30 minutes.

Agent CV : du manuel à la production — Diane Maurin