Étude de cas · 2026 · IA/ML · Full-stack
AnswerGate — tests de régression pour assistants IA
Une vérification libre en intégration continue qui repère le moment où les réponses d'un assistant IA se dégradent après un changement de code, et fait échouer la demande de fusion en nommant les questions touchées.
Vidéo · 1:35 · avec son
36/42
Défauts injectés détectés
0
Fausses alertes, 1 070 questions
19/44
Questions signalées par une seule vérification
00 Comment ça marche
Demande de fusion · « Des segments plus petits pour une recherche plus précise »
examples/fastapi_qdrant/rag.py
−CHUNK_SIZE = 1000 # characters per chunk
+CHUNK_SIZE = 250 # characters per chunk
Une seule ligne. Anodine à la revue de code.
Une demande de fusion change une ligne dans un assistant IA
01 Le problème
Les équipes ajustent sans cesse leurs assistants IA — taille des segments, requêtes, modèles. Chaque changement peut dégrader les réponses sans bruit, et rien ne le remarque : la revue de code semble correcte et les tests unitaires passent encore. Les équipes l'apprennent par leurs utilisateurs.
02 Approche
- 01
Comparaison avec une référence : chaque exécution est comparée à la dernière bonne, question par question. Une baisse au-delà de la marge permise fait échouer la vérification, et chaque écart est donné avec un intervalle de confiance à 95 %; on peut aussi n'échouer que sur des baisses significatives.
- 02
Confidentiel par défaut : les réponses sont notées par un LLM local via Ollama, étalonné sur des cas annotés avant qu'on s'y fie (granite4.1:8b a obtenu 32/32).
- 03
Notation vérifiée par la preuve : chaque verdict « appuyé » doit citer le texte récupéré, et le code vérifie la citation, pour qu'un juge ne laisse pas passer une hallucination.
- 04
Garde-fous intégrés contre les fuites de renseignements personnels, l'injection de requêtes cachée dans des documents et les demandes hors sujet, en plus du découpage, de la reprise et d'un cache du juge pour les grands jeux de tests.
- 05
Suivi des changements : l'assistant déclare ses réglages, et AnswerGate nomme ce qui a changé depuis la dernière bonne exécution. Avec les répétitions, il pose chaque question plusieurs fois et mesure la constance des réponses.
03 Architecture
04 Résultats
- 36 des 42 défauts injectés dans six pipelines de test sectoriels détectés, sur 1 070 questions limites, sans aucune fausse alerte. Les six autres sont des hallucinations qui exigent un juge.
- Sur un vrai assistant FastAPI + Qdrant, un changement d'une ligne de la taille des segments a gardé la recherche à 0,975, mais a fait passer l'exactitude de 0,925 à 0,856 et la pertinence de 0,988 à 0,900. AnswerGate a fait échouer la vérification et listé les 19 questions dégradées.
- Les essais sur de vrais documents ont révélé trois bogues dans les vérifications d'AnswerGate lui-même — corrigés, ce qui a fait passer la fidélité mesurée de 0,881 à 0,935.
- Passer la température du modèle de 0 à 1 a laissé l'exactitude, la fidélité et la pertinence dans la marge de bruit, mais la constance des réponses est tombée de 0,848 à 0,509. AnswerGate a fait échouer la vérification et nommé le réglage : température 0 → 1.
- Publié sur PyPI sous le nom answergate (version 0.3.0) par publication de confiance GitHub, avec 221 tests automatisés exécutés en intégration continue sous Linux et Windows.
Étude de cas suivante
Exsy — carnet d'argent familial