Accueil > Bienvenue > Journal de bord > Un assistant numérique ?

Un assistant numérique ?

mardi 5 décembre 2023, par Mathieu Brèthes

Toutes les versions de cet article : [Deutsch] [English] [français]

Aujourd’hui je ne fais plus de programmation à titre professionnel, mais cela ne m’empêche pas d’avoir besoin de temps en temps de créer un programme pour répondre à un besoin ponctuel.

C’est ainsi que je me retrouve de temps en temps à écrire des macros en VBA pour Excel (oui, ce sont aussi des programmes :-D). Ca doit arriver moins d’une fois par an. Et comme pour tout langage qu’on ne pratique pas régulièrement, cela nécessite beaucoup de recherches sur internet pour se remémorer les bases du langage ou faire des choses qu’on n’a jamais l’occasion de faire. Par exemple un truc aussi banal que ouvrir un fichier en lecture ou en écriture, et écrire des informations dedans ; si cela semble le b-a. ba de l’usage d’un langage ordinaire, avec VBA, comme on travaille directement sur un classeur Excel qui est déjà ouvert, on a rarement besoin de manuellement faire cela.

Bref, j’avais besoin de trouver les informations suivantes :

  • comment ouvrir un fichier
  • comment créer un fichier temporaire et le supprimer
  • comment lire un fichier, filtrer certains caractères, et écrire le fichier filtré dans un autre.

Cette fois-ci, plutôt que de passer des heures à chercher manuellement les briques d’informations de base sur internet, je me décidai à utiliser "Bing Chat", l’assistant proposé par Microsoft Edge, pour voir s’il pourrait directement me proposer des bouts de code que je pourrais employer dans mon programme.

Je lui ai décrit mon problème en langage naturel (ce qui m’a rappelé mes années d’apprentissage de l’algorithmique, où on nous faisait toujours décrire ce qu’on voulait faire en langage naturel avant de passer à une implémentation) et je lui ai demandé de me proposer une solution en VBA pour Excel.

Bing Chat s’est exécuté et m’a proposé un programme qui, s’il ne fonctionnait pas tout à fait, m’a fait gagner un temps considérable. Toutes les problématiques étaient traitées dans le programme : l’ouverture de fichiers, la lecture et l’écriture, le fichier temporaire. Simplement, certaines subtilités de VBA étaient ignorées, et pour obtenir un programme fonctionnel, un peu de débogage et de réorganisation ont été nécessaires.

Ca a quand même été un gain de temps considérable puisque au lieu de chercher "dans le vide" j’ai pu utiliser le code déjà écrit pour vérifier les mots-clés, chercher directement la documentation des fonctions, etc. Au final j’ai pu finaliser mon programme en très peu de temps. On peut dire que Bing Chat a fait le travail d’un stagiaire.

Quelques questionnements...

Plus tôt dans l’année j’avais demandé à ChatGPT de me faire un petit programme test en assembleur pour la Neo Geo Pocket, et j’avais obtenu un code inutilisable qui n’avait rien à voir avec l’assembleur du TLCS900H. Je ne pense pas que Bing Chat aurait fait mieux : c’est juste qu’il y a peu d’informations disponibles sur internet sur ce genre de "niche". En fait, ces assistants numériques fonctionnent très bien sur des problèmes génériques, avec des langages très utilisés, sur lesquels il y a beaucoup d’informations disponibles sur internet. Dès qu’on rentre dans quelque chose de pointu, il y a beaucoup moins de possibilités que ces outils proposent des choses pertinentes - car il y a beaucoup moins d’humains qui ont mis en ligne de l’information sur le sujet en question.

Cela pose des questions philosophiques intéressantes. Même s’il faut noter que l’assistant numérique évite la très fastidieuse phase de filtrage de ma recherche - trouver le site qui contient ma réponse dans la montagne de spam et de contenu généré artificiellement sur internet, éviter les résultats de recherche sponsorisés inintéressants, passer outre les bannières qui demandent d’accepter dix mille cookies et les captcha qui empêchent une navigation fluide, etc. ; le savoir compilé par ces assistants numériques est basé sur des contributions volontaires et publiques de bénévoles sur internet - contributions qui sont généralement motivées par l’envie de partager quelque chose avec la communauté.

Les forums type StackOverflow fonctionnent sur ce principe : quelqu’un pose une question, et plusieurs personnes proposent des solutions, chacun renchérissant sur ce que dit l’autre, faisant progresser un fonds commun de connaissances. Avec un assistant numérique, on obtient directement une réponse pertinente sans passer par cette phase de recherche, discussion, partage. En tant que développeur, cela me fait "gagner du temps", mais cela me fait aussi cesser de contribuer au partage de connaissances commun, cesser de contribuer à la gigantesque base de données qu’est internet. Je deviens simple consommateur d’informations. Du coup, est-ce que cela ne risque pas de figer les connaissances qui évoluaient précédemment au fil des discussions - de la même façon que les réseaux sociaux ont "figé" les blogs et autres sites personnels qui préexistaient ?

Est-ce que cela ne va pas également contribuer à appauvrir l’information disponible sur internet, en particulier sur les sujets de niche ? Si les moteurs de recherche disparaissent car supplantés par les assistants numériques, comment pourra-t-on trouver les informations que les assistants numériques ne peuvent générer car disponibles en trop petite quantité sur le réseau ?

Bref, une nouvelle variante de la problématique de la "longue traîne", ce concept popularisé par Chris Anderson : les assistants numériques permettent de retrouver l’information facile à trouver, mais n’aident pas à trouver les informations pointues ; et pourraient même contribuer à les rendre encore plus difficile d’accès...