Support client et éditeurs de logiciels
Projet démo : agent IA de support client connecté au ticketing
Ce projet est présenté à titre démonstratif : il illustre notre façon de concevoir et de livrer, sans correspondre à un client identifié.
Contexte
Ce projet démonstratif montre comment nous construisons un agent IA de support de niveau 1 : il ne s'agit pas d'un déploiement client, mais d'un système complet que nous maintenons pour illustrer nos choix d'architecture et nos garde-fous.
Le cas modélisé est celui d'un éditeur de logiciel dont l'équipe support reçoit des demandes répétitives (configuration, facturation, erreurs courantes) dont les réponses figurent déjà dans la documentation et les articles d'aide.
L'agent répond aux demandes simples en s'appuyant exclusivement sur cette documentation, crée ou met à jour les tickets dans l'outil de ticketing, et transmet à un agent humain dès qu'il sort de son périmètre.
Problème
Un assistant fondé sur un modèle de langage générique invente des réponses, ne connaît pas le produit et n'a aucune idée du contexte du client. Sans garde-fous, il crée plus de travail pour le support qu'il n'en retire.
Il faut donc ancrer les réponses dans la documentation, borner ce que l'agent a le droit de faire, mesurer la qualité des réponses et contrôler les coûts d'appel au modèle.
Contraintes
- Les réponses doivent être fondées sur la documentation et citer leurs sources ; en l'absence de source, l'agent doit le dire et transférer.
- L'agent ne doit jamais promettre un remboursement, modifier un abonnement ni accéder aux données d'un autre client.
- Le transfert à un humain doit être fluide, avec l'historique complet de la conversation joint au ticket.
- La qualité doit être mesurée sur un jeu d'évaluation avant chaque modification du prompt, du modèle ou de l'index.
- Le coût par conversation doit être suivi et plafonné.
Architecture
Un service Python (FastAPI) reçoit les messages depuis le widget de discussion ou depuis les tickets entrants de l'outil de ticketing via webhook.
Un pipeline d'ingestion découpe la documentation (pages d'aide, notes de version, FAQ) en fragments, calcule leurs représentations vectorielles et les stocke dans PostgreSQL avec l'extension pgvector, avec les métadonnées de version et de source.
À chaque question, le service recherche les fragments les plus pertinents (recherche vectorielle combinée à une recherche par mots-clés), construit un prompt contraint et appelle l'API du modèle de langage.
Une couche de garde-fous valide l'entrée (détection de données sensibles, hors sujet) et la sortie (présence de sources, absence d'engagements interdits) avant tout envoi à l'utilisateur.
L'agent dispose d'outils limités : lire le ticket, y ajouter une réponse ou une note interne, changer son statut et le transférer à un humain. Redis gère l'état des conversations et les plafonds de coût.
Chaque appel est tracé (OpenTelemetry) avec le nombre de jetons, la latence et le coût, et un jeu d'évaluation est rejoué automatiquement dans le pipeline d'intégration continue.
Solution
Le cœur de la démarche est la génération augmentée par récupération (RAG) : l'agent ne répond qu'à partir des fragments de documentation retrouvés et cite les pages correspondantes. Si la recherche ne renvoie rien de pertinent ou si la confiance est faible, l'agent l'indique clairement et propose le transfert plutôt que de deviner.
Les garde-fous sont implémentés comme des étapes distinctes, testables indépendamment du modèle : filtrage des demandes hors périmètre, masquage des données personnelles dans les journaux, liste explicite des actions autorisées et vérification de la réponse avant envoi. Une réponse qui échoue à ces contrôles est remplacée par un transfert.
Le transfert humain est un cas normal, pas un échec : l'agent résume la demande, joint la conversation et les sources consultées au ticket, et le place dans la file adéquate. L'agent humain voit exactement ce qui a été dit et pourquoi le transfert a eu lieu.
La qualité et les coûts sont mesurés en continu. Un jeu d'évaluation de questions représentatives avec réponses attendues est rejoué à chaque changement ; les régressions bloquent le déploiement. Les coûts par conversation sont suivis et un plafond suspend l'agent au profit des humains si le budget est dépassé.
Résultat
- Les réponses sont ancrées dans la documentation et citent leurs sources, ce qui les rend vérifiables par l'utilisateur et par l'équipe support.
- Les demandes hors périmètre ou à risque sont transférées systématiquement à un humain avec le contexte complet.
- Chaque changement de prompt, de modèle ou d'index est évalué automatiquement avant d'être déployé.
- Le coût de chaque conversation est connu, tracé et plafonné.
- L'agent s'intègre au flux de travail existant du support, sans outil supplémentaire à consulter pour les agents humains.
Améliorations obtenues
- Ajouter des actions supplémentaires sous validation humaine (réinitialisation de mot de passe, renvoi de facture).
- Personnaliser les réponses selon la formule et la configuration du client, après authentification.
- Enrichir le jeu d'évaluation à partir des transferts et des corrections apportées par les agents humains.
- Prendre en charge plusieurs langues avec une documentation indexée par langue.
- Comparer plusieurs modèles sur le jeu d'évaluation pour arbitrer entre qualité, latence et coût.
Captures d'écran
Les captures d'écran seront ajoutées lorsque le projet sera publié.
Services associés
Agents IA
Agents autonomes ou semi-autonomes connectés à votre CRM, ticketing ou ERP, avec garde-fous et supervision.
Voir ce serviceIntelligence artificielle
Solutions à base de LLM, RAG, traitement de documents, classification et assistants, sécurisées et évaluées.
Voir ce serviceAutomatisation métier
Workflows, intégrations API, scripts et tâches planifiées, avec n8n, Make ou du code sur mesure.
Voir ce serviceAPI et backend
API REST et GraphQL, services backend Node.js, Spring Boot et Python, documentés et sécurisés.
Voir ce serviceParlez-nous de votre projet
Décrivez votre besoin en quelques lignes : nous revenons vers vous avec une première analyse et les prochaines étapes.