Comprendre les machines ?

Aujourd’hui, une part très importante du travail réalisé l’est par des machines, des robots, des logiciels. Peu importe leur nom, ces outils s’insinuent partout et sont de plus en plus simple à utiliser.

compréhension machine
Comment fonctionne un logiciel ?

Tout comme le GPS a remplacé la lecture de carte (le test est simple : il n’y a qu’à demander à un jeune automobiliste d’aller seul avec un plan et sa voiture dans une grande ville à une adresse imposée), le web a remplacé beaucoup de nos anciens réflexes (qui va encore à la bibliothèque pour chercher de l’information ? qui appelle les Offices de Tourisme pour avoir la liste des hébergements ? qui se rend au guichet de la SNCF pour prendre son billet de train ?).

Chapeau bas aux informaticiens qui réussissent à transformer nos questions difficiles et approximatives en réponses plutôt pas mal foutues. Le vrai travail lié à l’UX et à la compréhension de l’intention de l’utilisateur nous donne l’impression que les outils sont de plus en plus « intelligents ».

Parfois, je suis même bluffé (comment m’a-t-il retargeté celui-là, je l’ai vu sur le Facebook de ma femme depuis son ordi ?) mais je suis certain que la plupart du temps nous n’y voyons que du feu (à fortiori pour celui qui n’est pas du métier). Et cela nous semble normal.

Sauf que.

À force d’ajuster les outils à nos capacités (plus ou moins limitées selon les personnes, selon les jours, selon les sujets) et à nous mâcher le travail, on en oublie qu’il y a derrière des machines et que ces dernières ne sont pas si intelligentes que ça. Pas encore.

Les logiciels ne sont que des outils. Celui qui sait le mieux s’en servir est celui qui comprend comment elles fonctionnent. Ce n’est pas celui qui les utilise le plus.

Quand Google me renvoie un résultat bizarre, je peux comprendre pourquoi il le fait. Quand Booking se trompe de ville parce que plusieurs villes ont le même nom, je comprend pourquoi. Et je comprends aussi pourquoi, après avoir précisé ma requête, il ne se trompe plus.

Mais, la majorité des utilisateurs ne comprennent pas. Et s’en moquent. Tant que ça marche. Et c’est grave car les machines sont partout et le seront de plus en plus.

Google, c’est plus de 3,5 milliards de recherche par an. Que se passe-t-il si des erreurs se glissent dans les résultats ?

Les machines se trompent : elles sont programmées par des humains (faillibles) et n’ont pas sens critique. Elles sont très fortes pour travailler d’immenses quantités de données mais elles ne sont pas capables d’extraire du sens ni de construire des raisonnements (pas encore).

Niveau 0 en info

Dans la vie de tous les jours et dans le monde professionnel, je suis toujours surpris du très faible niveau de compétence en informatique des utilisateurs (voir l’étude du Nielsen Norman Group) et ce, même pour des tâches basiques.

Dans un monde ou l’intelligence artificielle taille des croupières de toutes parts, qui seront ceux qui tiendront la route le plus longtemps ? Ceux qui comprennent comment fonctionnent les machines ou les autres ?

Le code pour tous ?

Tout le monde ne peut pas coder et ce n’est pas la finalité. Mais avoir des rudiments de compréhension sur le fonctionnement d’un robot ou d’un ordinateur (électronique, mécanique), d’un logiciel (une recette avec des ingrédients, des instructions et un ordre bien défini), de savoir comment les données sont organisées (la logique des base de données) et quelles sont les possibilités des programmes permet d’avoir une vision moins naïves des machines. Cela permet de les exploiter au mieux, de comprendre pourquoi elles buggent ou pourquoi elles sont lentes parfois.

Les initiations au code informatique qui sont proposés à l’école sont intéressantes. On peut aborder des notions abstraites et entrevoir comment fonctionnent les machines.

Il est aisé de faire comprendre à des élèves de primaires les notions d’enchainement des actions, les SI et les TANT QUE. Ainsi que les bugs ou les boucles infinies que ça peut générer.

Pour les collégiens, des algos typiques de classement (le fameux tri à bulles) et des exemples d’apprentissage à base de répétition et de partage de résultats (voir les robots qui ouvrent les portes) peuvent facilement illustrer les notions de performance et d’amélioration.

Et toi, tu l’as le truc avec les ordis ?

Même si je n’ai pas accès aux codes sources des outils que j’utilise, j’imagine sans trop de difficultés comment ils peuvent être conçus. Et leur utilisation devient presque intuitive. Cette compréhension globale est une vrai force et je m’en rend bien compte lorsque je discute ou que je vois des utilisateurs lambda utiliser les outils informatiques.

C’est peut-être ce qui fait la différence entre ceux qui ont le « truc » avec les ordis et ceux qui ne l’ont pas. Et dans les années à venir, dans presque tous les métiers, il faudra l’avoir ce truc.

Photo : Fabrice Florin

3 réflexions au sujet de « Comprendre les machines ? »

  1. Si le futur que vous indiquez se concrétise, alors oui il faudra avoir ce truc.

    Mais à l’heure où de plus en plus de personnes questionnent la légitimité de baser de plus en plus de services en ligne sur des algorithmes, je ne suis pas convaincu que ce futur fasse recette.

    Vous mentionnez Google à juste titre, mais les failles des algos (dont ceux utilisés aussi par Google) sont de plus en plus visibles.

    On est passé de l’ère de la technologie toute puissante à l’ère où un quidam peut questionner cette technologie. Google épinglé par Bruxelles pour abus de position dominante, pour mettre en avant ses propres services ? Pas grave pour Google qui a une armée d’avocats pour ne pas payer. Mais au moins l’information est passée dans le grand public : non, Google n’est pas magique. Non, Google n’est pas omniscient.

    Et non, Google n’est pas obligatoire non plus (cf. Framasoft https://degooglisons-internet.org/liste et https://contributopia.org/fr/home/)

    Croire qu' »on peut avoir le truc » c’est pas réaliste. Parce qu’il n’y a pas de truc. Derrière l’algo, il y a un type, certes peut-être 100 fois plus brillant, mais qui raisonne avec son bagage, son histoire, sa culture. Le gars peut-il prévoir tous les cas de figure ? non. Peut-il se faire assister d’une IA ? sûrement. Mais qui est derrière l’IA ?

    Quand je lis ça « Même si je n’ai pas accès aux codes sources des outils que j’utilise, j’imagine sans trop de difficultés comment ils peuvent être conçus.  » je suis sidéré par tant d’assurance. Un programme peut être codé de 1000 façons différentes. Et si les plus récents frameworks et outils d’intégration continue limitent certains de ces choix (les fameuses conditions que vous citez par exemple), il reste que je ne m’aventurerais pas à penser « cela a été fait avec tel objet, et de telle façon » car c’est le meilleur moyen de se planter le cas contraire.

    Mais bon, on a le droit de ne pas être d’accord non ?

  2. Hello Marc,
    En fait, on est plutôt d’accord il me semble.
    Ce que j’appelle « le truc » avec l’informatique c’est un mélange d’habitude, de compréhension de ce qu’il y a sous le capot et de curiosité. Et Mémé Jeannine, le truc elle ne l’a pas.
    Et bien sur que je ne peux pas savoir quelle techno ou de quelle façon précise un outil est codé. Mais parce que j’ai un bagage technique, j’arrive à imaginer les grandes lignes. Plutôt que « ça plante » ou « ça buggue » ou « pourquoi il me sort ça comme résultat, ce n’est pas ce que je voulais », je peux trouver différentes raisons logiques (mais pas forcément vraies) qui permettent de refaire une tentative légèrement différente et d’atteindre mon but ou d’imaginer pourquoi ça a pu mal se passer.

  3. Certes. Après on peut toujours discuter s’il est « préférable » d’être comme Mémé Jeannine ou pas ^^

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *