Overcomplicated : vers des systèmes « excessivement complexes »

Cet été, des centaines de milliers de voyageurs aériens de Delta Airlines ont été retardés par une importante panne du réseau. L’été dernier un incident du même type a touché United Airlines. Des problèmes qui deviennent de plus en plus courants dans un monde qui fonctionne avec des systèmes informatiques interconnectés et vieillissants, estime Adrienne Lafrance dans The Atlantic. Même une fois que les vols aient repris, Delta Airlines n’était pas capable de dire exactement la raison de la panne. United Airlines avait fini par accuser un routeur qui avait dégradé la connexion du réseau pour plusieurs applications. Le pire est que, même comprendre et corriger la cause d’une panne de ce type ne préserve pas des prochaines…

overcomplicated« Les systèmes complexes sont en train de redéfinir la façon dont les humains pensent et interagissent avec la technologie ». C’est l’argument du dernier livre du spécialiste de la complexité, Samuel Arbesman (@arbesman), Overcomplicated, qui s’intéresse aux limites de notre compréhension des technologies. Pour lui, la complexité de nos systèmes techniques n’est pas réductible. Elle n’est pas non plus sans conséquence. Elle nous projette dans « l’âge de l’intrication », comme le soulignait il y a quelques mois Danny Hillis par l’entremise de notre collègue Rémi Sussan, c’est-à-dire une période où vont dominer des systèmes hypercomplexes « possédant des comportements émergents au-delà de notre propre compréhension », comme c’est le cas de l’apprentissage automatique, l’une des principales technologies de l’intelligence artificielle.

Est-il devenu impossible de tout comprendre ?

« La plupart des gens pensent que comprendre est une condition binaire. Soit vous comprenez les choses complètement, soit vous ne les comprenez pas du tout », estime Arbesman. Or, aujourd’hui, il est devenu impossible de tout comprendre. Désormais, nous allons être confrontés à des systèmes numériques complexes que nous ne pourrons aborder qu’à la manière dont les biologistes examinent les systèmes vivants. Et cela va nous obliger à repenser ce que signifie comprendre la technologie… Par exemple, déterminer à quelle échelle nous sommes capables de comprendre un système complexe ? Regarde-t-on les propriétés générales d’un réseau ou les décisions des machines et programmes pris individuellement ?…

La complexité s’applique à de plus en plus de domaines estime la journaliste Regina Peldszus dans une critique du livre pour le New Scientist : financement, infrastructures, énergie, transport… dont les interdépendances deviennent dynamiques et largement imprévisibles. Les systèmes techniques évoluent de manière incrémentale et tout le temps. Nous sommes face à des systèmes « excessivement complexes » et de plus en plus enchevêtrés les uns les autres.

Face à ce constat, Arbesman n’appelle pas à un démantèlement de la complexité, mais nous invite à en penser les conséquences, en matière d’interopérabilité ou de bricolabilité par exemple. A sa manière, comme nous y exhortaient les historiens Lee Vinsel et Andrew Russel, lui aussi nous incite à nous intéresser à la maintenance, à l’entretien, à la réparation, au soin que nous devons apporter à nos infrastructures techniques.

Pour Arbesman, l’abstraction informatique et l’élégance des interfaces qui rendent nos machines si conviviales à utiliser a créé un énorme écart avec notre niveau de compréhension. La barre de téléchargement, ce placebo, est ainsi un bon exemple pour apaiser les utilisateurs confrontés à une situation où ils ne comprennent rien. « Pensez à la dernière fois où vous avez installé un logiciel ? Saviez-vous ce qu’il se passait ? Avez-vous compris clairement où les différents paquets que vous téléchargiez étaient installés dans la grande hiérarchie de votre disque dur et la nature des modifications que cette installation a faite à votre ordinateur et à votre système d’exploitation ? »

« Non seulement les utilisateurs sont de plus en plus protégés de la complexité, mais les systèmes eux-mêmes sont plus complexes que leurs prédécesseurs », souligne Adrienne Lafrance. Pour Arbesman, cela ne signifie pas pour autant que chacun doit être capable de démonter son smartphone et de le reconstruire à partir de zéro ou de n’utiliser que des applications qu’ils auraient eux-mêmes créées. Nous devons intégrer la compréhension que nos systèmes vont être bugués.

Les bugs et kluges sont notre nouvelle réalité

Comme il l’expliquait encore dans une tribune pour la Harvard Business Review, nous devons apprendre à penser les technologies comme les biologistes abordent le vivant. La navette spatiale utilise des puces électroniques qui datent parfois de plusieurs décades. Le code qui fait rouler nos automobiles est de plus en plus un assemblage de couches très baroques. Le droit lui-même ou le fonctionnement de nos bureaucraties sont construits sur des codes et règlements devenus très complexes au fil du temps. Notre monde fonctionne sur des kluges, c’est-à-dire des programmes ou du matériel qui fonctionnent sans que personne ne sache pourquoi ni comment. Des espèces de monstres construits petit à petit, patchés et réparés, devenus éminemment complexes. Nous sommes face à des systèmes de plus en plus interconnectés et complexes que nous avons de plus en plus de mal à comprendre. Cela signifie qu’il faut prendre au sérieux la nature organique, écosystémique, des technologies. Pour cela, il faut s’intéresser aux bugs, aux erreurs, aux comportements inattendus, car eux seuls permettent de mesurer l’écart entre la façon dont un système se comporte et la manière dont il fonctionne vraiment. Cela peut vouloir dire, comme l’a fait Netflix, de tenter de mesurer la robustesse des systèmes en le bombardant d’erreurs pour évaluer la dangerosité de celles-ci et tenter d’y pallier.

Cela signifie aussi intégrer le fait que nos systèmes techniques sont complexes. L’évolution des systèmes et leur conséquence, les kluges, sont plus la règle que l’exception.

Cela signifie encore qu’il faut s’intéresser surtout à des bouts des systèmes. Les biologistes ne cherchent pas à tout comprendre d’un écosystème, rappelle Arbesman. Au contraire : ils ont tendance à se concentrer sur un petit nombre d’éléments et à regarder comment ils interagissent entre eux. Grâce à des processus itératifs, les biologistes tentent de se faire une image du comportement global d’un écosystème en comprenant comment interagissent ses différentes pièces les unes entre les autres.

Pour Arbesman, cela signifie que nous devons avoir plus recours au bricolage. Dans le cadre de systèmes de plus en plus complexes et interconnectés, on ne peut plus chercher à tout changer. Bricoler n’est certes pas un geste audacieux, concède-t-il, mais c’est notre seul moyen de nous confronter à des systèmes évolués. La technologie va devoir apprendre l’humilité des biologistes. Nous allons avoir de moins en moins le contrôle et la compréhension totale des systèmes qui nous entourent, comme c’est le cas des systèmes d’apprentissage automatique et d’intelligence artificielle. C’est désormais seulement en comprenant l’écart entre la manière dont nous pensons que les technologies fonctionnent et la manière dont elles fonctionnent réellement que nous relèverons le défi de leurs améliorations.

Pour autant, le risque de cette approche, de cette hypercomplexité, est d’abdiquer toute responsabilité. Qui est à blâmer quand un système complexe échoue ou dysfonctionne ? Pour Arbesman, la solution consiste à s’intéresser aux technologies, à apprendre à bricoler, à embrasser les valeurs d’ouverture, pour inciter les gens à avoir une autre approche de la technologie, à chercher à la comprendre, même si elle risque de nous échapper toujours un peu plus à mesure que notre compréhension s’en rapproche. Face à la complexité, il n’y a pas de réponse magique !

Hubert Guillaud

À lire aussi sur internetactu.net

0 commentaires

  1. « Désormais, nous allons être confrontés à des systèmes numériques complexes que nous ne pourrons aborder qu’à la manière dont les biologistes examinent les systèmes vivants.  »

    Vous comprenez ce que peut être le quotidien d’un technicien informatique dans une grande entreprise. Avec tous ces appareils, ordinateurs, serveurs, routeurs pour la partie matérielle qui peuvent symboliser « le corps » la partie charnelle et les logiciels, applications, fichiers en tous genres, pages web, boîtes emails pour la partie logicielle, la couche abstraite qui peut symboliser « l’esprit ». Pris individuellement chaque élément est parfaitement compréhensible. Son fonctionnement est bien défini et documenté par le fabricant. Par contre ce sont les interactions entre tous ces appareils, logiciels et êtres humains (ne l’oublions pas) qui rendent tout ceci abstrait et ultra-complexe. Rien qu’au niveau d’un ordinateur (ou d’un smartphone, c’est globalement la même chose), il y a tant de combinaisons possibles qu’il est impossible de retrouver l’origine exacte de tous les problèmes et disfonctionnements qu’il peut y avoir. Souvent le seul moyen est de repartir d’une sauvegarde. Les interactions entre les composants physiques comme les microprocesseurs et la couche logicielle, ce que nous percevons à l’écran sont d’une complexité incroyable. Si bien qu’il arrive effectivement que personne ne soit en mesure de comprendre certaines architectures en place dans leur totalité car tous ces systèmes logiciels et matériels ont été conçus et commercialisés par une myriade de sociétés différentes à une constellation de clients aux usages divers et variés. Aujourd’hui les logiciels comportent des millions de lignes de code, fait par des dizaines d’équipes différentes. L’informatique est un secteur si vaste qu’il est admis depuis longtemps par les professionnels que personne ne peut tout connaître en informatique. Cela force l’humilité.