En voyage professionnel à Clermont-ferrand, j’ai profité de l’occasion pour retourner voir le centre-ville. Très belle ville, et le temps ensoleillé aide toujours dans les paysages urbains. J’ai été attiré par la devanture d’une belle librairie, rue des Gras : « La librairie« . J’y suis entré bien sûr, et j’ai trouvé l’endroit très agréable : des citations affichées aux murs, un coin avec les coups de coeur du libraire. On s’y sent dans un endroit habité, pensé et rendu agréable pour la flânerie. Bien m’a pris de m’y perdre dans le rayon BD, car j’ai acheté le magnifique premier tome de la bande-dessinées « Terre ou Lune » de Jade Khoo (merci à Livres Hebdo pour la photo).
Dessin et histoire
Le combo gagnant, les deux piliers de toute bande-dessinée, c’est bien sûr que les dessins nous séduisent, ET que l’histoire, les personnages, le rythme soient au rendez-vous. C’est le cas dans « Terre ou Lune ». Les dessins sont magnifiques, l’histoire se développe de manière spiralée, et nous révèle peu à peu, et l’histoire des personnages, et le monde imaginaire futuriste / dystopique dans lequel ils vivent. Il y a des surprises, des émotions, et du suspense. Mais beaucoup de douceur aussi, de moment de communion avec la nature. Le thème de l’ornithologie, cher à l’autrice, est central pour le personnage principal, et certains thèmes (la nature, et le rapport de l’homme à la nature), des éléments techniques nous emportent dans un monde imaginaire proche de Miyazaki. Les scooters de l’escouade sont un joli clin d’oeil, par exemple, à « l’aile du vent » de Nausicäa. J’ai dévoré la BD, et je vais maintenant devoir attendre le tome 2. Très belle découverte. Avant de vous partager un dessin de la BD pour donner à voir le style, je mentionne qu’un label « Handmade » figure à la toute fin de la BD, précisant ainsi que le travail n’a eu aucun recours à l’IA. Cela me permet de faire un lien avec mon prochain article, car ce sujet est passionnant. Et d’actualité.
En lisant ce matin un article sur X (« Build a personal AI Agent that posts on X exactly like you and lands in the algorithm »), je me suis (re)fait la remarque que l’utilisation de nouveaux outils, notamment ceux qui sont très disruptifs (qui apportent un changement de paradigme, pourrait-on dire), nous confronte à une réinvention de notre activité. Comme le soulignait Michel Serres (« Les nouvelles technologies, révolution culturelle et cognitive« ), à chaque nouvelle révolution, l’humain perd quelque chose, et récupère des capacités supplémentaires. Nous sommes, à chaque fois, diminués et augmentés. Transformés, quoi. Par exemple : l’arrivée de l’imprimerie a fait perdre la mémoire aux humains (qui se rappelle encore et est capable de transmettre des livres entiers ?), mais a permis une extraordinaire diffusion des connaissances et génération de nouvelles idées.
IA : qu’est-ce que ça change ?
Bien loin de moi l’idée d’être capable de dire ce que l’IA nous fait perdre et gagner, car il me semble que la vague est au tout début. Je ne suis pas devin, et comme le dit le proverbe, les prévisions sont difficiles, surtout en ce qui concerne l’avenir. Mais on peut déjà voir quelques éléments. Toute recherche, analyse, synthèse de data ou de connaissances, toute production de recommandations, de textes, de code, d’images, bientôt de films, est déjà dans le champ des capacités des IA (et probablement bien d’autres choses encore que je ne connais pas). Comment cela pourrait-il ne pas bouleverser une grande partie des professions dites « intellectuelles » ?
Nous sommes à peu près sûrs d’avoir déjà perdu le monopole de la parole, et aussi de l’apprentissage non-réflexif. Que gagnons-nous au passage ? Je crois un temps et une attention supplémentaire à accorder à la réflexion, la prise de recul : si je passe moins de temps à récolter des infos, à les synthétiser, à les croiser, etc, je gagne un temps certain pour penser leur utilisation, la stratégie qui va avec. Bref, c’est une remontée en concept (que nous avions déjà vue en parlant de conception & créativité) : je dois synthétiser les infos / données sur tel sujet. Ok, mais pourquoi faire ? à quoi cela va servir ? avec quel autre domaine de connaissances pourrais-je les croiser puisque ça ne me coûte plus que quelques minutes ? Puisque des agents peuvent travailler pour moi, quelles tâches puis-je leur confier ?
Cas concret
Un exemple, pris dans l’article cité en tête d’article : si des agents peuvent écrire, synthétiser, poster sur les réseaux à la place, analyser l’impact des posts, apprendre de ces feedbacks, cela libère d’une partie du boulot et permet d’être plus précis sur la voix et le style que l’on veut porter. Pourquoi est-ce que j’écris ces articles ? Dans quel but ? Quel est le style, la nouveauté que je souhaite apporter ? Qu’est-ce qui permettra d’utiliser l’iA et les agents pour augmenter ma capacité d’atteinte des mes objectifs (que du coup je vais devoir clarifier pour les partager avec les agents) ? Il me semble que cela nous oblige à être plus intelligents.
Ce matin je me suis dit, à l’instar de l’auteur de l’article, que je pourrais enregistrer mes idées à voix haute sur l’iphone en marchant, partager ces fichiers à un agent X / Grok qui les analyserait sur la base d’un doc de synthèse produit en lisant / analysant mon blog et mon fil X (qui serait une version co-construite de mon « style »), et que l’IA pourrait me générer avec ce « vocal » + fichier de style, une ébauche rapide de billet pour mon blog, mais enrichie de citations, de questions denses sur lesquelles il débouche, de pistes de lectures. Comme Grok vient de mettre en place des connecteurs Google Drive, ça me parait être un plan à tester pour voir ce que ça change et comment ça me permet d’être plus pertinent et efficace.
Et voilà l’exemple d’augmentation : réfléchissant à cela, je me suis re-penché sur une présentation que j’avais vue d’un général à propos du « style ». Qu’est-ce qui définit un style ? Quelles sont les caractéristiques d’un « style » ? Il y était question de « modèles » (personnages inspirant avec les raisons pour lesquelles on les trouve inspirants) et de « modalités d’interaction » (caractéristiques pertinentes pour décrire notre style d’interaction), et de plusieurs autres choses. On peut laisser tout cela à notre intuition, dans la zone semi-consciente, ou travailler dessus pour gagner en cohérence et en lisibilité. Voilà ce que va me forcer à faire l’IA, dans ce cas très concret. C’est déjà pas mal. Je vous tiens au courant, bien sûr.
Lors d’une très bonne soirée chez mes amis, l’autre jour, la discussion nous a amené à parler de Maurice G. Dantec, écrivain génial et détesté par les gauchistes (donc doublement appréciable). D’ailleurs, les gauchistes ne disent pas qu’ils détestent un artiste ou un auteur, mais qu’il « est controversé ». Les connards.
Comme mon pote m’a sorti et prêté le premier tome du « journal » de Dantec qu’il venait de lire (« Manuel de survie en territoire zéro », premier tome de l’ouvrage « Le Théâtre des opérations, journal métaphysique et polémique »), je me suis rappelé que, tout de même, les deux romans que j’avais lus étaient vraiment super (« Les racines du mal » et « Babylone Babies »). J’ai donc choppé en plus du « manuel », « La sirène rouge », le premier roman de Dantec.
Bien m’en a pris : ce n’est pas un hasard si ce roman l’a fait connaître. C’est un super mélange de polar et de road trip en bagnole, de la Hollande au Portugal, en passant par la France, avec la guerre de Yougoslavie en toile de fond. Pas besoin de rentrer dans le détail de l’histoire, c’est violent, mais lumineux à la fois. Les personnages sont super, le réseau dans lequel oeuvre un des personnages principaux – Toorop – est une invention géniale (« Liberty Bells », un réseau souterrain dont le but est d’éradiquer en Europe les restes de communisme). Très bon roman, que je suis en train de terminer (je vais relire les autres je pense car je les ai lu il y a plus de 20 ans). Ensuite, je commence le « Manuel de survie en territoire zéro »).
Par le biais de mon réseau, j’ai réussi à mettre la main sur un article passionnant d’Imre Lakatos, logicien et mathématicien, épistémologue et philosophe des sciences hongrois qui ayant fui le stalinisme, a poursuivi sa vie et sa carrière en Angleterre, sous l’influence de Karl Popper. L’article en question est « Falsification and the Methodology of Scientific Research Programmes », un des chapitres d’un livre co-écrit avec Musgrave. Comment arrive-t-on à lire un article comme celui-là, me direz-vous ? Et bien, en lisant l’ouvrage de Bence Nanay, il y citait le travail de Lakatos sur les « programmes de recherche », et couplé au fait que ça renvoyait sur Popper (que j’apprécie beaucoup), j’ai eu envie d’en savoir plus. J’emprunte la photo de Lakatos au site New Criterion.
Passionnant et dense
Le chapitre en question, qui fait une trentaine de pages en anglais, est dense et passionnant. Il est agréable à suivre, rigoureux et synthétique, et on y reconnait bien la patte d’un élève de Popper. Je me suis fait une petite liste de passage à citer, de citations à garder dans ma collection, et j’y ai bien retrouvé une passionnante réflexion sur le savoir, la connaissance et la progression des connaissances. Comment « sauver » la rationalité scientifique quand aucune connaissance ne peut être certaine ? Ce que j’ai apprécié, c’est que l’article revient sur un certain nombre d’attitudes qu’il est possible d’adopter vis-à-vis de la connaissance, pour en souligner les limites, et en se basant sur des exemples très concrets de l’histoire des sciences et de la physique. Si on ne peut rien prouver de manière absolument certaine, et si on ne veut pas se contenter de l’idée d’une vérité scientifique qui ne serait qu’un consensus, quel est le modèle le plus pertinent de la progression des connaissances ? Je ne vais pas essayer de tout résumer, car c’est trop dense pour être fait, mais je vais essayer de garder quelques idées clefs, concepts importants, et partager quelques citations. Si vous voulez gagner le temps de la lecture, vous pouvez garder l’idée clef, déjà présente chez Popper, que pour l’accès à la connaissance et le progrès vers la vérité, le meilleur moyen est la compétition permanente entre les idées, théories, énoncés, pour mieux décrire la réalité déjà connues ET prédire des faits nouveaux observables. Lakatos apporte une contribution intéressante avec l’idée de « programme de recherche progressif/dégénératif », qui décrit des mécanismes permettant sur un horizon moyen-terme de distinguer les théories qui tiennent la route, de celles qui commencent à s’écarter de la réalité. Mais au delà de ses apports nouveaux ou non (je ne suis pas capable d’en juger), l’article de Lakatos remet en perspective ces discussions d’une manière très vaste et agréable à suivre, logique et sereine.
Postures épistémologiques
L’auteur décrit plusieurs attitudes possibles, dont Lakatos critique rarement “par principe » les fondements (tous rationnels) : il montre (a) ce que la position cherche à sauver, (b) sur quelles hypothèses elle s’appuie, (c) pourquoi ça casse, et (d) ce qu’on peut tout de même en conserver dans une approche plus robuste. J’avoue avoir demandé à l’IA (Copilot en l’occurence) de faire une lecture, puis une synthèse du document après l’avoir lu, et que, comme je suis flemmard, j’ai demandé dans la foulée à ce qu’il me fasse un tableau pour garder ces éléments en tête de manière synthétique. Je les mets en fin d’article car ils sont plutôt bien faits.
Les idées clefs peuvent être résumées ainsi, je grossis un peu le trait mais les idées sont là :
Pendant longtemps, on pensait que la science produisait des vérités prouvées. Lakatos appelle cela le justificationnisme. Mais cette idée s’effondre pour deux raisons : les théories ne peuvent pas être logiquement prouvées à partir des faits, et l’histoire des sciences montre qu’elles changent. La science est une succession d’échecs, certes cumulatifs, mais c’est sans appel : aucune théorie n’est définitivement vraie.
le probabilisme (les théories ne sont pas vraies, mais plus ou moins probables) ne fonctionne pas non plus, car comme Popper l’a démontré, toute théorie a, sur le long terme, une probabilité nulle (puisqu’elle sera un jour dépassée, sa probabilité d’être vraie est 0).
la falsificationnisme (ou réfutationnisme) apporté par Popper introduit une nouvelle manière de penser cela : on ne doit plus chercher à prouver une théorie, mais à la tester pour la réfuter.
Une théorie est scientifique si elle est testable et si elle peut être contredite par une expérience (concrète ou de pensée)
Lakatos démonte une forme de falsificationnisme naïf (c’est là où ça devient intéressant), sur la base de deux choses factuelles qui forcent à raffiner. Premièrement, il n’y a pas de « faits purs ». Les observations dépendent toujours de cadre théoriques, qui structurent l’analyse que l’on fait des observations. Ensuite, une théorie, et c’est le cas dans la pratique, ou pour de bonnes raisons souvent, peut toujours être sauvée face à des faits qui le contredisent. Quand une anomalie apparaît, les scientifiques ne disent pas : « la théorie est fausse », mais ils ajustent en ajoutant des hypothèses auxiliaires, remettant en question les conditions initiales, ou les instruments. CE n’est pas malhonnête, c’est économe et souvent c’est une attitude pertinente. S’appuyant sur l’idée (que l’on trouve chez Kuhn aussi) que les décisions scientifiques sont en partie conventionnelles (on décide ce qu’on considère comme un fait fiable), Lakatos propose un raffinement des idées de Popper : le falsificationnisme sophistiqué. Une théorie n’est pas rejetée à cause d’une anomalie seule, ou d’un fait qui la réfute. Elle est rejetée seulement si : une nouvelle théorie apparaît et qui est meilleure : expliquer ce que l’ancienne expliquait, prédire des faits nouveaux et être partiellement confirmée.
Programme de recherches
Lakatos introduit donc le concept de progrès scientifique à 3 coins : faits (bien sûr), théorie A et théorie B en compétition. La science progresse par la compétition entre les théories. Par la réfutation par les faits, bien sûr, mais une théorie n’est vraiment réfutée que s’il y a une meilleure théorie à se mettre sous la dent. Et d’ailleurs, c’est l’idée des programmes de recherche : on n’a pas affaire à des théories seules, mais à des séries de théories, qu’il appelle programme de recherche. Un programme de recherche c’est :
Noyau dur (hard core) : des principes fondamentaux non remis en cause (par choix méthodologique). L’auteur parle d’heuristique négative : interdit d’attaquer le noyau dur & les problèmes doivent être résolus ailleurs
Ceinture protectrice : des hypothèses auxiliaires, modifiables pour protéger le noyau. Ici, heuristique positive : ces éléments de ceinture protectrice guident la recherche, indiquent quelles pistes explorer et
orientent les nouvelles théories. C’est le programme de recherche associé au noyau dur non attaquable.
Lakatos amène donc l’idée majeure, en opposition partielle avec Kuhn, que la science n’est pas qu’une affaire de consensus social sur ce qui est vrai ou non, mais qu’elle est le lieu de déploiement de programme de recherche progressistes et dégénératifs. La rationalité scientifique s’évalue dans le temps : un programme est rationnel tant qu’il est progressif (il produit du nouveau contenu corroboré) et devient irrationnel quand il dégénère (ajustements ad hoc sans gains).
J’ai trouvé cet article passionnant, et très riche. Je laisse à la suite, en annexe, les tableaux produits par l’IA, car ils me permettent de conserver une trace d’un niveau de détail plus fin.
Annexes
Tableau A : justifier / douter / remplacer
Tableau A — Positions “de fond” (justifier / douter / remplacer) chez Lakatos
Je viens de terminer la « migration » du petit jeu BLOX que j’avais prototypé avec Grok il y a un peu plus d’un an. Vous pouvez le télécharger (si vous êtes sur iOS) sur l’Apple Store, en cherchant BLOMIX (il est gratuit bien sûr).
Règles
L’univers de BLOMIX c’est celui du Tetris, des Columns et autres CandyCrush : un jeu de match-5, où il s’agit, dans une grille de jeu, de former des chaînes de 5 « blox » (blocks) de couleurs pour les faire disparaître. Tous les 10 blox lancés, une ligne de blox aléatoires vient perturber vos efforts pour bien ranger les choses par couleur. Et vous avez, en plus, une chance sur 8 de vous récupérer une « brix » (bricks) qui est une sorte de caillasse avec un numéro dessus et qui est plus dure à faire disparaître. Quand la grille est pleine de blox et de brix, vous avez perdu. Le score dépend bien sûr du nombre de chaînes que vous avez pu réaliser, de leur taille, des enchaînements, du nombre de fois où vous avez pu revider des colonnes, etc.
Modes de jeu
Il y a deux modes pour ce jeu, avec deux classements différents :
un mode solo, plutôt zen, où on a le temps que l’on veut pour placer le prochain blox. Le classement pour ce mode de jeu est simplement le classement des meilleurs scores
une mode « Player vs Player » où, tous les 50 points marqués, on envoie une ligne de blox à l’autre joueur, un peu à l’instar des parties de Tetris PvsP sur GameBoy (c’était l’inspiration). Le classement pour ce mode est une sorte de système Elo, comme aux échecs, qui ajuste votre classement de départ (800) au fur et à mesure des matchs. Plus l’écart de points entre les joueurs est important, plus la variation de points sera forte.
Design d’expérience : paramètres
J’ai eu à coeur de créer un jeu avec une ambiance très immersive malgré sa simplicité, et j’ai donc pris du temps pour chercher des sons sympas. Vous verrez que chaque évènement du jeu est associé à un son particulier. Par ailleurs, j’avais conçu une palette de couleur que je trouvais agréable et lisible. Les premiers retours des utilisateurs étaient formels : les couleurs manquaient de lisibilité (ce qui est assez logique, car personne ne perçoit les couleurs de la même manière). J’ai donc ajouté plusieurs palettes de couleur et la possibilité de créer, dans le jeu, la sienne propre. De même, on peut équilibrer les sons entre eux, et choisir parmi 4 polices différentes en termes de style & lisibilité. Cela permet de facilement créer une ambiance visuelle à son goût.
Process
Je ne peux pas parler de ce petit jeu sans donner un éclairage sur le processus de création. Grâce à Max, j’ai découvert la puissance de Cursor.com (que j’ai fait travaillé avec Grok à certains moments pour ne pas bouffer tous mes tokens trop rapidement). C’est un outil qui utilise des LLM pour écrire du code, et pour mon projet dans la suite de dev d’Apple (Xcode), il sait aller travailler tout seul dans les fichiers, modifier / ajouter / supprimer du code, créer des fichiers, tester la logique, etc. Du coup l’expérience est vraiment agréable pour un non-codeur : on se concentre sur les fonctionnalités voulues dans l’app, et Cursor se démerde (en gros). Il ne reste plus qu’à compiler et à tester. Les outils d’iA sont vraiment en train de révolutionner beaucoup de choses, et c’est particulièrement vrai dans le domaine du code. J’avais une grande frustration lors de nos premiers jeux avec Max : je ne pouvais pas l’aider pour le code, qu’il maîtrise, et pas moi. C’est désormais une époque révolue, puisqu’un « novice » comme moi peut créer de toutes pièces une application déployée sur l’App Store. On ne réalise pas bien toutes les conséquences, à mon avis.
Ressources
Comme souvent, je me suis servi des incroyables ressources mises à disposition sur le web. J’espère n’oublier personne dans cette section de remerciements, car c’est vraiment un bonheur d’avoir autant de choses disponibles, utilisables et de qualité. Donc, dans le désordre, un très grand merci à toutes ces personnes et entreprises qui ont mis des ressources (payantes ou gratuites) à disposition des utilisateurs.
Code : Grok.com & Cursor.com, Github.com, et un grand merci à Max pour son aide pour la mise en place du projet et décoinçages ponctuels
Polices : sur le remarquable Google Fonts. Merci à :
Petr van Blokland pour Bitcount Grid Single
Google pour Google Sans
Toshi Omagari, Jennifer Daniel pour DynaPuff
JM Solé pour Alfa Slab One
Sons : Freesound.org, vocalremover.org/pitch, pitchchanger.io. Sur Freesound.org un grand merci pour leurs sons à HelloIJustWantSomeSounds, Cat-Fox_alex, NoiseCollector, rhodesmas, Anomaex, HenryRichard, Moutain_Man, Rvgerxini, Squirrel_404, collwyn, ConManVD, cherrysylv
Musique d’ambiance : « Puzzle Game 2 » par Eric Matyas Soundimage.org