Depuis quelques lustres les questions de la capacité d'intelligence, du niveau de conscience ou de la possible intentionnalité des machines est un thème récurrent. Jusqu'aux années 1980 ça ressortait de la science-fiction, depuis c'est devenu un objet de débat public “sérieux”. Bon, sérieux, il faut s'entendre : un minimum de réflexion montre que ça reste de l'ordre de la fiction spéculative donc ce n'est pas strictement sérieux, par contre de nombreuses personnes en débattent avec sérieux. C'est lié à un fait ancien, la capacité des humains à attribuer une intentionnalité de type humain à n'importe quoi ou qui, il y a même un mot que je n'ai plus en tête pour désigner cela, mais peu importe, qu'il y ait un mot pour ça ou non ne change rien au fait, les humains sont tendanciellement animistes et prêtent donc des âmes aux entités non humaines voire même aux non entités, dire par exemple que Renault “voit son chiffre d'affaires baisser” (ou monter) ou que la Liberté “nous appelle” c'est proprement animiste, on attribue des sens à une personne morale, des intentions à un concept. Même si une part assez significative d'humains est toujours animiste, y compris parmi ceux qui disent adhérer à des idéologies “religieuses” qui récusent l'animisme ou des idéologies “politiques” ou “sociales” qui le réfutent1, les personnes prétendant à une forme contemporaine de rationalité sont supposées ne pas donner dans l'animisme. Ouais... Faut voir, et ces discussions sur l'intentionnalité des machines laissent à penser.

Les Machines Pensantes.

Bien évidemment, la raison pourquoi l'on peut désormais discuter doctement d'une telle chose est en rapport avec la supposée « intelligence artificielle », une expression qui a sa légitimité mais dont découle un concept qui n'en a pas, les « Machines Pensantes », car qui dit intelligence dit pensée. Or, l'expression même d'intelligence artificielle induit une absence de pensée, les inventeurs du concept avaient une claire conscience qu'il s'agit d'une simulation, d'un artifice, on analyse un processus cognitif ou comportemental, de là on tente et parfois, on réussit à construire un programme qui simule ce processus. Il y a certes de la pensée dans tout ça mais en amont, durant les phases d'analyse et de programmation. Pour qui connaît bien les ordinateurs, ces fameuses “Machines Pensantes”, et bien, triste à dire pour qui y croit, elles sont incapables de pensée, l'intelligence qui peut y résider n'est pas la leur et si elles peuvent avoir une forme d'intentionnalité ce n'est pas la leur mais celle de leurs concepteurs, qui ont effectivement des intentions en les construisant et en les dotant de certains logiciels et de certaines interfaces, cette partie du logiciel qui permet à un humain et à un ordinateur d'interagir, tenant compte que dans tous les cas, celui qui décide est un humain, celui en interaction avec l'ordinateur ou ceux qui l'ont conçu. Une personne peut croire une machine capable d'intelligence précisément par sa méconnaissance de cette machine, qui induit qu'elle interagit avec elle plutôt comme le souhaitent ses concepteurs que comme elle pourrait elle-même le souhaiter. Lesquels souhaitent souvent qu'elle en use en lui prêtant précisément des capacités qu'elle n'a pas.

Penser les machines.

En tant qu'utilisateur compétent, je tente toujours de limiter les automatismes des logiciels que j'utilise, en tout premier ceux du système d'exploitation. Je ne parle bien sûr pas de ceux de base, qui font que je les utilise, mais de ce qui est sensé en simplifier l'usage. De fait ça le simplifie mais pas de la manière qui me convient. Par exemple, désormais les zones d'édition des outils de création de contenu en ligne (blogs, CMS comme ici, wikis...) sont presque tous pourvus d'un éditeur “WYSIWYG”, « What You See Is What You Get », « ce que vous voyez est ce que vous obtenez », dit inexactement éditeur visuel en français, non que les autres ne soient pas visuels (en général, on voit ou on peut voir ce qu'on saisit, si on n'est pas aveugle ou malvoyant) mais ils proposent une visualisation qui ne correspond pas au résultat final. Or, je désactive systématiquement cette possibilité. Autre exemple, tous les logiciels de traitement de texte comportent maintenant des modules de proposition et de correction “à la volée”, on commence à saisir un mot et au bout de deux ou trois caractères un mot est proposé, pour réduire le temps de saisie, ou on écrit incorrectement un mot et à peine saisi, il est “corrigé”. Je désactive systématiquement ces modules, et me contente de cet outil moins invasif de vérification, qui souligne en rouge les mots inconnus. Pour les éditeurs visuels c'est par commodité, j'aime bien voir ce que je tape, et pour le résultat il y a le plus souvent un bouton “Aperçu”, comme ici, pour le prévisualiser. Pour les modules de traitement de texte, et bien c'est pour deux raisons : je n'utilise jamais la fonction de proposition, ça me prend autant de temps de taper le mot que de réfléchir à l'opportunité de prendre le mot proposé puis de le faire, je n'en vois donc pas l'intérêt si on y ajoute que deux ou trois fois sur cinq les propositions ne me conviennent pas ; sans que ce soit si souvent, il m'arrive cependant de taper néologismes ou mots rares que les dictionnaires ne reconnaissent pas, garder la fonction de correction automatique induit dès lors que ces mots seront “corrigés” avec n'importe quoi mais en tout cas pas ce que je souhaitais écrire.

Sauf pour les correcteurs automatiques, on peut considérer que ces automates ne sont pas si encombrants, sinon ceci : mes ordinateurs ont toujours deux ou trois générations de retard sur l'état moyen de la technique informatique actuelle, sur les plans matériel comme logiciel (l'ordinateur que j'utilise actuellement a un processeur qui n'est plus commercialisé depuis plus de quatre ans et un système d'exploitation qui n'est plus vendu depuis cinq ans, plus maintenu depuis presque deux ans, Windows 8. Cela dit, c'est par hasard que j'en utilise un aussi... récent, jusque-là j'usais de Windows XP dans sa plus ultime de mai 2008). Résultat, si activées ces fonctions d'automatisation ralentissent beaucoup le fonctionnement de mon ordinateur. Sans vouloir gloser trop là-dessus mon usage des ordinateurs étant avant tout utilitaire je ne vois pas de raisons d'investir dans des modèles up-to-date et n'achète que des modèles d'occasion, et seulement quand celui en cours tombe en panne (cas général) ou devient vraiment obsolète (cas rare, la seule fois où j'y ai été obligé remonte à 2006, probablement si celui acquis alors, qui m'avait été donné d'ailleurs, n'était pas tombé en panne en 2011 j'aurais de nouveau du en acquérir un plus récent pour cause d'obsolescence mais mes machines ont souvent le bon goût de me lâcher au moment idoine, justement). Il y a aussi une raison, disons, éthique à cela, j'évite les automatismes parce qu'ils répondent à d'autres besoins que les miens : ceux des concepteurs du logiciel. Or, leurs besoins sont généralement les mêmes, avoir le maximum d'utilisateurs possibles. De ce fait, ils sont très souvent livrés avec des fonctionnalités “de confort” destinées à des utilisateurs qui n'ont pas le souhait ou le moyen de paramétrer le logiciel pour leur usage propre.

Pour prendre le cas du logiciel que j'utilise ici, Tiki Wiki CMS, en standard il comporte un grand nombre de modules et occupe beaucoup de place sur disque, nominalement près de 165 mégaoctets, effectivement plus de 170. J'en ai installé plusieurs versions un peu allégées (128 Mo, de fait 155 Mo) mais donc, ça prend beaucoup de place. Or, j'utilise peut-être 10% de l'ensemble et même dans ces 10%, si on consulte les fichiers il apparaît que les mêmes fonctionnalités sont définies plusieurs fois, certaines faisant doublon avec des fonctions standard fournies par le langage PHP. Pour obtenir un même résultat on pourrait aisément réduire la taille du logiciel d'au moins 90%. En fait, j'ai déjà testé d'autres CMS qui ont à-peu-près les mêmes fonctionnalités et qui font effectivement moins de 20 mégaoctets. Sans dire que je sois vraiment fainéant, du moins je ne vois pas de raisons de me fatiguer à créer ce qui existe déjà, j'ai idée d'un CMS beaucoup plus intéressant qui ferait ce que celui-ci fait avec une taille de moins de 500 kilo-octets pour la partie qui m'intéresse, de moins de 2 mégaoctets pour l'ensemble de ses fonctionnalités, mais n'ai ni le temps ni le désir de le réaliser. J'ai même déjà utilisé deux ou trois CMS qui, en théorie, ressemblent beaucoup à ce que j'ai longtemps cherché sans le trouver : un “cœur” de moins de 100 Ko, des modules de base de moins de 400 Ko, un ensemble complet de moins de 2 Mo. En pratique, aucun ne donnait satisfaction parce que leurs concepteurs avaient abandonné leur projet avant de l'avoir bien finalisé, parce qu'il est compliqué de faire simple et simple de faire compliqué.

Tiki Wiki CMS est un bon exemple de cela : la raison pour laquelle il a une taille sans commune mesure avec sa fonctionnalité est en rapport direct avec l'organisation du travail du groupe qui l'a initié, chaque module est conçu et réalisé indépendamment, à quoi s'ajoute qu'une part non négligeable des outils est externe, de ce fait on les intègre au mieux tels qu'ils sont, au pire en y ajoutant des éléments permettant de les lier au reste. Et le pire a souvent lieu. Le problème de base est le manque de réflexion préalable, de méthode : une bonne approche consiste à déterminer chaque partie élémentaire, bâtir un module qui la prenne en charge et le réutiliser dans chaque module de niveau supérieur. Cette approche n'est pas très envisageable dans un contexte “concurrentiel”, il faut aller le plus vite possible, ce qui donne des résultats étranges. La cause principale induisant cette taille phénoménale de Tiki Wiki CMS (avec quatre logiciels spécialisés réalisant les six fonctions principales de celui-ci, blogs, articles, wiki, albums multimédias, gestion de bases de données, plus ses fonctions secondaires, on a un ensemble de moins de 80 Mo, ces logiciels réalisant tous au moins deux de ces fonctions, le plus souvent trois ou quatre) est une analyse insuffisante, les concepteurs du logiciel ont opté pour une modularité faible et donc, un développement tayloriste, d'où un report de la complexité non vers la conception mais vers la réalisation, assez bricolée. Ça n'est pas si idiot, si on veut ajouter une fonctionnalité, et bien on crée un fichier spécialement dédié, on l'ajoute dans une liste et c'est bouclé. Où ça se révèle idiot, pour une bonne part ces fonctionnalités sont très similaires à d'autres ce qui réduit beaucoup l'ergonomie de l'ensemble, donc son efficacité.

Être pensé par les machines.

Une machine est une machine, et comme telle ne pense pas. toute machine est une extension, à la fois extension de ses concepteurs et de ses utilisateurs. La question est alors de savoir qui des deux “pense”, duquel cette machine est avant tout une extension : plus elle est une extension des concepteurs, plus elle est “pensante” en ce sens que les utilisateurs vont se laisser guider par la pensée des concepteurs.


Je publie ce texte en l'état, ce 21 janvier 2018, en comptant sur qui le lira pour continuer cette réflexion, si du moins elle mérite d'être poursuivie.


1. Idéologies religieuses, politiques et sociales entre guillemets, car je ne vois pas trop de différences des unes aux autres, une idéologie est dans tous les cas un outil de description de la réalité reposant sur un ensemble de dogmes plus ou moins fondés dont le but général est de lisser les rapports sociaux, même si souvent ça ne marche pas trop bien...