Un agent qui rédige un e-mail, c'est facile. Un agent qui l'envoie au bon client, au bon moment, sans jamais promettre ce que l'entreprise ne peut pas tenir, c'est un vrai problème d'ingénierie — et c'est celui que nous vous proposons. Sujet en binôme.
Contexte
Les demandes clients arrivent chez B2H par le site, par e-mail et par LinkedIn. Les qualifier, se renseigner sur l'entreprise, relancer au bon moment et préparer les rendez-vous prend une part importante du temps de l'équipe commerciale. Nous appliquons déjà ce principe chez Ordy : le modèle propose, du code ordinaire et déterministe décide. Ce projet l'étend au CRM, à partir des demandes de contact déjà présentes dans le back-office B2H.
Ce que vous ferez
- Concevoir une équipe d'agents spécialisés : qualification, recherche sur l'entreprise, relance, préparation de rendez-vous
- Orchestrer ces agents sous forme de graphe (LangGraph), avec des transitions explicites et testables
- Doter chaque client d'une mémoire long terme : base vectorielle pour le contexte, graphe de connaissances pour les relations
- Construire une couche de vérification formelle (machine à états, règles métier) par laquelle passe chaque action — e-mail, mise à jour de fiche, devis — avant exécution
- Mettre en place la reprise sur erreur, le rejeu d'une exécution et la validation humaine des actions sensibles
- Instrumenter l'ensemble avec OpenTelemetry pour suivre chaque décision de bout en bout
- Construire le benchmark de tâches qui servira à évaluer le système
Défis techniques
- Rendre fiable un système dont les composants sont par nature non déterministes
- Coordonner plusieurs agents sans boucles, doublons ni actions contradictoires
- Exprimer des règles métier assez strictes pour bloquer l'invalide, assez souples pour ne pas tout bloquer
- Rendre le système observable : comprendre pourquoi un agent a agi comme il l'a fait
Livrables
- Un prototype fonctionnel intégré au back-office B2H, branché sur les demandes de contact existantes
- Un benchmark de tâches CRM et les résultats d'évaluation associés
- La spécification de la couche de vérification (états, transitions, règles)
- Une documentation technique et une démonstration
- Le rapport de fin d'études
Critères de réussite
- Taux de réussite des tâches mesuré sur le benchmark construit pendant le stage
- 100 % des actions invalides du benchmark bloquées avant exécution
- Coût moyen par tâche mesuré et suivi
- Toute action exécutée traçable de la demande initiale jusqu'à son effet
Environnement technique
- LangGraph, LLM avec appel d'outils
- PostgreSQL + pgvector
- Next.js, TypeScript, Python
- OpenTelemetry
Profil recherché
- Étudiant(e)s en dernière année d'école d'ingénieurs ou de master, en génie logiciel ou en IA
- Bonne maîtrise de Python ou de TypeScript
- Intérêt réel pour les systèmes agentiques et leur fiabilité, pas seulement pour les démonstrations
- Rigueur : tests, revue de code, goût pour les spécifications précises
- Français courant et anglais technique
Modalités
- Durée : 4 à 6 mois (février – juin 2027 à titre indicatif)
- Encadrement par l'équipe technique B2H, avec un point hebdomadaire
- Intégration à la plateforme interne B2H (identité unique, bus d'événements, données partagées)
- Candidature : CV + lettre de motivation, 2 sujets maximum par candidat
- Date limite : 15/12/2026

