← Derniers articles
💻 computer science

Holmes: Multimodal Agentic Diagnosis for Mixed-Language Mobile Crashes at Industrial Scale

Holmes est un système multi-agents qui automatise l'analyse des causes racines pour les plantages mobiles multilingues dans les applications à très grande échelle en synthétisant des signaux d'exécution multimodaux pour reconstruire les contextes de défaillance sans reproduction, atteignant une précision de localisation de fautes de 87,6 % et réduisant le temps d'investigation de plus de 98 % sur des données réelles de WeChat.

Auteurs originaux : Jia Li, Wenyuan Ma, Ting Peng, Haibin Zheng, Yuetang Deng

Publié 2026-06-23
📖 6 min de lecture🧠 Analyse approfondie

Auteurs originaux : Jia Li, Wenyuan Ma, Ting Peng, Haibin Zheng, Yuetang Deng

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous soyez le chef des détectives d'une ville immense et bouillonnante appelée WeChat. Cette ville compte des milliards d'habitants et des millions de bâtiments (lignes de code). Chaque jour, des milliers de bâtiments s'effondrent soudainement (plantages).

Par le passé, lorsqu'un bâtiment s'effondrait, une équipe de détectives humains devait passer des heures ou même des jours à essayer de comprendre pourquoi. Ils devaient fouiller des montagnes de paperasse (journaux de bord/logs), consulter des plans (code source) et tenter de reconstruire l'instant exact où le bâtiment est tombé, souvent sans pouvoir recréer l'accident dans un laboratoire de test.

Holmes est une nouvelle équipe de détectives surpuissants conçue pour résoudre ces mystères en quelques secondes. Voici comment cela fonctionne, en utilisant des analogies simples :

1. Le Problème : Le mystère de la « Boîte Noire »

Lorsqu'une application mobile plante, c'est comme si un bâtiment s'effondrait au milieu d'une rue passante. Vous ne pouvez pas revenir en arrière dans le temps pour voir exactement ce qui s'est passé. Vous n'avez que :

  • Les Débris : Une liste des dernières actions du bâtiment (la « stack trace »).

  • Les Témoins : Un journal de ce que les gens disaient juste avant le crash.

  • Les Plans : Le manuel d'instructions massif de la ville (70 millions de lignes de code).

Les anciennes méthodes consistaient à essayer de lire tout le manuel de 70 millions de pages pour trouver une seule faute de frappe. C'était trop lent. D'autres méthodes utilisaient l'IA, mais elles nécessitaient de recréer le crash dans un laboratoire de test, ce qui est impossible car chaque téléphone d'utilisateur est différent et privé.

2. La Solution : L'Escouade de Détectives Holmes

Au lieu d'un seul détective essayant de tout faire, Holmes utilise une équipe d'agents spécialisés travaillant ensemble, comme un commissariat de haute technologie. Ils utilisent un processus en trois étapes :

Étape 1 : Rassembler les indices (L'équipe de collecte)

Avant de tenter de résoudre l'affaire, l'équipe rassemble immédiatement les preuves les plus pertinentes.

  • Le Collecteur de Code de Pile (Stack Code Retriever) : Regarde les « débris » (la liste de plantage) et saisit instantanément les pages spécifiques du plan de l'endroit où le bâtiment est tombé.
  • Le Mineur de Logs (Log Miner) : Au lieu de lire l'intégralité d'un témoignage d'une heure, il utilise un filtre intelligent pour ne trouver que les 5 minutes de conversation qui ont réellement mené au crash.
  • L'Inspecteur de Threads : Vérifie si d'autres parties de la ville (autres threads) ont interféré avec le bâtiment. Est-ce qu'une équipe de construction au 5ème étage a accidentellement retiré une poutre de soutien au 10ème étage ?

Étape 2 : L'Immersion Profonde (L'équipe d'exploration)

Parfois, le crash se produit à cause d'une erreur survenue plus tôt ou dans une autre partie du bâtiment.

  • L'Explorateur de Code (Code Explorer) : Cet agent agit comme un détective qui ne se contente pas de regarder le site du crash, mais suit la piste des indices. Il demande : « Qui a appelé cette fonction ? » et « Que s'est-il passé avant ? ». Il fouille dynamiquement dans la vaste bibliothèque de code, en ne récupérant que les pages spécifiques dont il a besoin, plutôt que de charger toute la bibliothèque à la fois. Cela lui permet de trouver des défauts « non locaux » (des erreurs situées loin de l'endroit du crash).

Étape 3 : Le Verdict (L'équipe de raisonnement)

C'est le détective principal qui synthétise le tout.

  • L'Agent de Synthèse : Il prend les débris, les journaux de témoins filtrés, les pages de plans et les rapports d'interférence. Il utilise un tour spécial : il examine les indices de bas niveau (comme les registres CPU, qui sont comme les jauges de pression internes du bâtiment) pour combler le fossé entre la logique métier (ce que l'application est censée faire) et le framework système (le système d'exploitation).
  • Il génère ensuite un rapport final : « Le crash s'est produit parce que deux travailleurs ont essayé d'utiliser le même outil en même temps (une condition de concurrence/race condition). La solution est d'ajouter un verrou (lock). »

3. Pourquoi c'est un changement de donne

L'article a testé Holmes sur des crashs réels de WeChat (le géant chinois des réseaux sociaux). Voici ce qu'ils ont découvert :

  • Vitesse : Au lieu de prendre 2 à 3 heures à un humain pour résoudre un crash complexe, Holmes le fait en environ 77 secondes. C'est une réduction de 98 % du temps.
  • Précision : Il a correctement identifié la fonction spécifique (la pièce précise dans le bâtiment) où l'erreur s'est produite dans 87,6 % des cas.
  • Coût : Son fonctionnement est incroyablement peu coûteux. Le coût pour faire tourner Holmes sur un crash est d'environ 13 cents, contre le coût d'un ingénieur senior passant des heures dessus (ce qui coûterait plus de 70 $).

4. Comment il gère le puzzle des « Langages Mixtes »

Les applications modernes sont construites comme une maison faite de différents matériaux : certains murs sont en bois (Swift/Objective-C), certains en brique (C++) et certains en béton (System Frameworks).

  • Le Défi : Lorsqu'un crash survient dans la partie « béton », la partie « bois » ne peut souvent pas voir ce qui ne va pas car les instructions sont dans une langue différente.
  • L'Astuce de Holmes : Il utilise des artefacts de bas niveau (comme le code assembleur et les instantanés de mémoire) comme traducteur universel. Il peut tracer le problème de la logique de haut niveau de l'application jusqu'au niveau du système, même si le code source de la partie système est caché (source fermée).

5. Conclusion

Holmes transforme le travail d'un développeur, passant de détective (qui doit traquer les indices pendant des heures) à vérificateur (qui vérifie simplement le rapport de l'IA).

  • Avant : « Je n'ai aucune idée de pourquoi cela a planté. Laissez-moi lire 50 000 lignes de code et deviner. »
  • Après : « Holmes dit que le crash a été causé par une condition de concurrence dans le fichier X, ligne 149. Laissez-moi vérifier cela. »

L'article conclut que ce système fonctionne efficacement à une échelle industrielle, transformant un processus laborieux et lent en un flux de travail rapide et efficace, faisant économiser aux entreprises des millions de dollars et des milliers d'heures de travail aux développeurs.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →