
Google AI publie Auto-Diagnose : un système basé sur des LLM pour diagnostiquer les échecs de tests d'intégration à grande échelle
Une équipe de chercheurs de Google a publié Auto-Diagnose, un outil basé sur le modèle Gemini 2.5 Flash qui analyse automatiquement les logs d'échecs de tests d'intégration, identifie la cause racine et poste un diagnostic structuré directement dans l'interface de revue de code interne de Google, appelée Critique. Évalué manuellement sur 71 pannes réelles couvrant 39 équipes distinctes, l'outil a correctement identifié la cause racine dans 90,14 % des cas. À grande échelle, il a déjà tourné sur 52 635 tests défaillants distincts, représentant 224 782 exécutions sur 131 130 changements de code écrits par 22 962 développeurs différents. Le taux de retours négatifs ("Not helpful") n'atteint que 5,8 %, tandis que 84,3 % des 517 retours reçus correspondent à des demandes "Please fix" de la part de reviewers, signe que les diagnostics sont jugés suffisamment fiables pour déclencher une action immédiate.
L'enjeu est concret : diagnostiquer un échec de test d'intégration est structurellement plus difficile que de déboguer un test unitaire. Dans une enquête interne menée auprès de 116 développeurs Google, 38,4 % des échecs de tests d'intégration prenaient plus d'une heure à diagnostiquer, et 8,9 % plus d'une journée, contre respectivement 2,7 % et 0 % pour les tests unitaires. La raison est simple : les logs du pilote de test n'exposent généralement qu'un symptôme générique, un timeout ou une assertion échouée, tandis que l'erreur réelle est enfouie dans l'un des nombreux composants du système testé. Auto-Diagnose résout ce problème en agrégeant tous les logs, les triant par horodatage en un flux unique, puis en guidant le modèle via un protocole explicite étape par étape pour remonter à la source réelle de l'échec.
Sur le plan technique, le système fonctionne sans fine-tuning : Gemini 2.5 Flash est appelé avec une température de 0,1 pour des résultats quasi-déterministes, à partir d'un prompt d'ingénierie pur incluant des contraintes négatives strictes, par exemple l'interdiction de tirer une conclusion si les logs du composant fautif sont absents. Chaque exécution consomme en moyenne 110 617 tokens en entrée et produit 5 962 tokens en sortie, avec une latence médiane de 56 secondes et un 90e percentile à 346 secondes, suffisamment rapide pour que le développeur voie le diagnostic avant de changer de contexte. Ce travail illustre une tendance plus large chez les grands groupes technologiques : utiliser les LLM non pas pour écrire du code, mais pour absorber la complexité observationnelle des systèmes distribués, là où l'humain peine à tenir l'ensemble des signaux en tête simultanément.



