25 points par GN⁺ 2025-08-22 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • En développement logiciel, le bus factor est un concept qui indique combien de détenteurs d’un savoir donné sont nécessaires pour qu’un projet puisse être maintenu ; auparavant, la pire valeur possible était 1
  • Cependant, depuis la publication de ChatGPT (30 novembre 2022), avec l’adoption massive de l’IA générative, beaucoup ne conservent plus eux-mêmes les connaissances et s’en remettent à l’IA, créant de fait une situation de bus factor 0
  • Sur le terrain, de plus en plus de développeurs utilisent tels quels le code et les fonctionnalités générés par des LLM, renoncent à faire l’effort de comprendre la base de code et basculent vers le « vibe coding »
  • Cela peut conduire, lors de la correction de bugs, de l’application de correctifs de sécurité ou de l’extension de fonctionnalités, à une situation où personne ne sait pourquoi le code a été écrit ainsi
  • Cela crée un risque grave pour la fiabilité et la sécurité des logiciels, et constitue une limite fondamentale tant que le jour où l’IA générera parfaitement un code parfait n’est pas arrivé

Concept et histoire du bus factor

  • Le bus factor est un concept qui exprime numériquement combien de personnes se partagent une connaissance donnée
    • Exemple : si 3 personnes savent restaurer une sauvegarde de base de données, le bus factor de cette fonction est de 3
  • Traditionnellement, la pire valeur était 1 : si une seule personne perdait cette connaissance, le projet ne pouvait plus être maintenu
  • Pour surmonter ce problème, l’humanité a diffusé le savoir par d’innombrables moyens : documentation, formation, transfert de connaissances, séminaires, écoles, etc.
    • Cela a conduit à des efforts systématiques de transmission et de préservation des connaissances, mobilisant d’importantes ressources humaines et du temps

L’arrivée de l’IA et le bus factor 0

  • Le lancement de ChatGPT en novembre 2022 a ouvert l’ère du « AI First »
  • À mesure que l’IA génère du code et des fonctionnalités, beaucoup de personnes sont écartées du processus de préservation des connaissances et commencent à dépendre des productions de l’IA, ce qui fait chuter brutalement leur compréhension du projet
  • Il en résulte une situation où il n’y a tout simplement plus aucun détenteur de la connaissance, autrement dit un bus factor de 0
  • Les programmeurs montrent une tendance à déléguer entièrement à l’IA, plutôt que de rédiger et comprendre eux-mêmes le code et les fonctionnalités
  • Dans ce processus, les développeurs évitent de comprendre la base de code et de la documenter, et se contentent de redemander des explications à l’IA

Les problèmes du développement basé sur les LLM

  • Même en laissant de côté la question de la qualité du code, le point essentiel est que lire et maintenir du code est intrinsèquement plus difficile que l’écrire
  • Autrefois, des mentors ou la documentation apportaient au moins un soutien minimal, mais dans un environnement dépendant de l’IA, même ce filet de sécurité disparaît
  • Dans un développement basé sur les LLM, le processus de génération du code n’est pas consigné, et même l’IA ne se souvient pas du contexte du code qu’elle a généré
  • Au final, les développeurs se retrouvent à devoir analyser et modifier du code écrit par l’IA mais dont le contexte reste flou
  • Cela mène, lors de la résolution de bugs, du correctif de vulnérabilités de sécurité ou de la mise à niveau des dépendances, à un état où personne ne connaît l’intention ni la structure du code

Les risques du point de vue des utilisateurs

  • Les développeurs ne sont pas les seuls exposés : les utilisateurs le sont aussi
    • Les logiciels auxquels on confie des documents personnels, des informations de carte bancaire, des photos privées ou des pensées intimes peuvent avoir été construits avec un code dont personne ne connaît la structure interne ni la finalité
  • Cela comporte des risques graves en matière de protection des données et de fiabilité, et soulève des doutes sur la stabilité du service

Conclusion

  • Le vibe coding, qui entraîne un bus factor de 0, est une approche fondamentalement défaillante
  • C’est une limite inévitable tant que l’IA n’est pas capable de générer un code correct à 100 % à partir de prompts corrects à 100 %
  • Dans la situation actuelle, il est donc indispensable de ne pas négliger, en parallèle de l’usage de l’IA, la préservation des connaissances et la compréhension du code, et de maintenir des pratiques de gestion des connaissances et de documentation

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.