AI Manifesto

- 7 minutes de lecture

Aucun post, aucune page de ce blog n’est Ă©crit avec une IA.

Les raisons en sont nombreuses. Je ne suis pas un grand utilisateur des IA en gĂ©nĂ©ral. Cette page, en plus de clamer haut et fort ce postulat, a aussi pour but d’en expliquer les raisons.

J’aime Ă©crire et ĂȘtre lu

C’est peut-ĂȘtre prĂ©tentieux, mais j’aime Ă  penser que les personnes qui viennent lire mes articles le font en partie parce qu’elles espĂšrent avoir mon point de vue, mon approche, et pas celle d’un LLM (Large Language Model). Mes biais sont suffisants pour ne pas avoir Ă  ajouter ou gĂ©rer ceux d’un LLM amĂ©ricain, chinois, ou mĂȘme français d’ailleurs.

Je pense aussi avoir pris goĂ»t Ă  l’écriture. Cet exercice (car je le vois comme tel) me force Ă  structurer mes idĂ©es, en allant parfois Ă  l’essentiel, en m’assurant que le contenu est clair, prĂ©cis, et correspond Ă  l’approche que je veux en avoir. Cette approche, principalement autour de la pĂ©dagogie et du partage, me dĂ©finit sur beaucoup de mes activitĂ©s.

C’est d’ailleurs essentiellement pour cela que j’ai pris le temps d’écrire un livre (spoiler : pas d’IA non plus). L’accomplissement de cet exercice, qui a probablement Ă©tĂ© l’un des plus difficiles que j’aie eu Ă  mener dans ma vie, n’aurait eu aucune saveur s’il avait Ă©tĂ© gĂ©nĂ©rĂ© par une IA.

Dans mon travail d’écriture, j’aime aussi faire corriger mon contenu textuel par quelqu’un dont c’est le mĂ©tier : Laura Dhalluin. Au-delĂ  de la simple correction orthographique, elle s’assure de la cohĂ©rence et de la bonne utilisation des termes, remplace les anglicismes, propose des reformulations. C’est aussi une amie et c’est une forme de soutien dans son activitĂ© que de solliciter ses services. Je prĂ©fĂšre de loin payer quelques dizaines d’euros Ă  Laura pour une correction de qualitĂ©, que de payer un abonnement Ă  une IA qui fera un travail (est-ce qu’on peut vraiment utiliser ce terme) de bien moins bonne qualitĂ©.

Mon usage (faible) des IA

Dans la création de contenu

Je n’ai jamais trop aimĂ© les images rendues par IA. Leur effet fake ne me plaĂźt pas et je suis d’autant plus inquiet des photos gĂ©nĂ©rĂ©es ayant l’air rĂ©elles (deepfakes et autres usages malveillants). Je prĂ©fĂšre de loin sĂ©lectionner une photo ou illustration libre de droits sur un site comme https://unsplash.com/ ou https://pixabay.com et crĂ©diter l’auteur ou l’autrice via une mention ou un lien. C’est ce que j’essaye de faire pour les photos de couverture de mes articles.

Concernant le contenu textuel, j’utilise parfois un LLM pour affiner un plan que j’ai commencĂ© Ă  la main ou pour complĂ©ter mes idĂ©es. Mais jamais pour la rĂ©daction. Le plus souvent, les LLM ne font que reprendre le plan que je leur ai proposĂ©, en le rĂ©organisant lĂ©gĂšrement, et en ajoutant quelques points que j’aurais pu oublier.

LLM-Driven-Development

Les personnes ayant travaillĂ© avec moi savent que j’utilise aussi assez peu l’IA pour Ă©crire mon code.

Je fais partie de la gĂ©nĂ©ration qui a appris Ă  coder sur papier et avec des livres. J’ai souvent combattu ce que j’appelais le StackOverflow-Driven-Development, qui consiste Ă  copier/coller les rĂ©ponses marquĂ©es d’une coche verte de StackOverflow. Cette pratique prĂ©sente selon moi plein de dĂ©fauts : elle n’aide pas Ă  apprendre, elle introduit potentiellement des failles de sĂ©curitĂ©, du code de qualitĂ© variable avec des pratiques qui peuvent ĂȘtre obsolĂštes.

Le LLM-Driven-Development suit selon moi le mĂȘme chemin, mais avec un aspect supplĂ©mentaire « rigolo Â». Les LLM qui gĂ©nĂšrent du code ont des modĂšles qui ont « appris Â» sur du code provenant principalement de GitHub. Produire du code en utilisant un outil ayant appris sur du code de qualitĂ© non maĂźtrisĂ©e ne me semble dĂ©jĂ  pas forcĂ©ment une bonne idĂ©e. Ce code gĂ©nĂ©rĂ© par ces IA servira ensuite Ă  faire apprendre la gĂ©nĂ©ration suivante du modĂšle de LLM. Je n’arrive pas Ă  imaginer dans quelle mesure ce processus ne pourrait pas mener Ă  une dĂ©gĂ©nĂ©rescence globale du code.

On observe dĂ©jĂ  aujourd’hui des phĂ©nomĂšnes inquiĂ©tants liĂ©s Ă  ce processus. GitClear a publiĂ© un rapport sur la qualitĂ© observĂ©e du code d’une centaine de repositories open-source (dont ceux de Chromium, VSCode, React, Electron, Elasticsearch, Ansible, et beaucoup d’autres) qui semble se dĂ©grader depuis l’adoption massive des IA dans nos mĂ©tiers. La quantitĂ© de code dupliquĂ© a tendance Ă  augmenter, ce qui aura probablement pour effet l’augmentation du nombre de dĂ©fauts constatĂ©s, ainsi que l’augmentation de la complexitĂ© de leur rĂ©solution. Le code Ă©crit Ă  l’aide d’un assistant IA semble aussi plus soumis Ă  des bugs.

Un papier de Microsoft (!) cite dans sa conclusion : « While GenAI can improve worker efficiency, it can inhibit critical engagement with work and can potentially lead to long-term overreliance on the tool and diminished skill for independent problem-solving Â». Ce constat rĂ©sonne Ă©normĂ©ment avec le constat partagĂ© avec des professeurs de l’UniversitĂ© de Lille : certains Ă©tudiants sont parfois en difficultĂ© pour rĂ©aliser les tĂąches qu’on leur demande (leur futur travail hein) sans l’aide de leur IA prĂ©fĂ©rĂ©e.

Autre phĂ©nomĂšne : quand on demande Ă  ChatGPT de gĂ©nĂ©rer du code front, il gĂ©nĂšre en premier du code React. Cela peut sembler logique, Ă©tant donnĂ© que React semble ĂȘtre la librairie la plus utilisĂ©e pour dĂ©velopper des frontends. Beaucoup de dĂ©veloppeurs choisissent alors d’utiliser cette librairie, ainsi que les dĂ©pendances que ChatGPT leur suggĂšre. Cet exemple (je n’ai rien contre React), illustre un cas d’enfermement technologique et pourrait mĂȘme s’avĂ©rer dangereux, si jamais une IA, sous le contrĂŽle d’une organisation quelconque, s’amusait Ă  suggĂ©rer une dĂ©pendance contenant une faille de sĂ©curitĂ© par exemple.

Est-ce que ChatGPT sait gĂ©nĂ©rer du code compatible avec la toute derniĂšre version de Spring Security, ou gĂ©nĂšre-t-il du code pour Spring Security 5, qui est le plus prĂ©sent sur GitHub et donc forcĂ©ment plus ancrĂ© dans son modĂšle ? Tout ça pour dire que les personnes ne s’appuyant que sur leur LLM pour Ă©crire le code risquent d’ĂȘtre incapables de l’adapter ou de le maintenir si elles ne savent pas ce qu’elles font. Les approches de type RAG (Retrieval-Augmented Generation), permettent de pallier en partie ces biais, mais ne sont pas toujours utilisĂ©es par dĂ©faut.

J’en viens aussi Ă  penser que les phrases vues parfois qui, en substance, se rĂ©sument par « On va remplacer les dĂ©veloppeurs par des IA  Â» est le take le plus pĂ©tĂ© que j’ai pu entendre ces derniĂšres annĂ©es. RĂ©duire mon mĂ©tier Ă  la simple Ă©criture du code est ignorant, voire malhonnĂȘte. L’IA peut s’avĂ©rer utile comme outil pour aider les dĂ©veloppeurs, pour prĂ©parer des revues de code, proposer du refactoring (mais lĂ , un simple LLM ne me semble pas le plus pertinent), expliquer du code, gĂ©nĂ©rer des tests, mais ne remplacera pas les dĂ©veloppeurs (tout comme le No-Code ne les a pas remplacĂ©s).

Conclusion

Vous l’aurez compris en lisant ces lignes, je ne suis pas un grand utilisateur ou admirateur des IA actuelles.

Je pense que l’IA est un outil formidable, mais que les usages que j’observe massivement aujourd’hui, Ă  savoir gĂ©nĂ©rer des images (moches, mais c’est mon avis), des deepfakes et du code bancal (encore une fois mon avis), ne sont pas Ă  la hauteur de ce qu’on pourrait espĂ©rer d’un tel outil.

Je n’aime pas voir apparaĂźtre des IA dans tous les outils que j’utilise, sans en avoir besoin. Leur cĂŽtĂ© non dĂ©terministe (donc non testable), les « hallucinations Â» des LLM, et leur dĂ©gĂ©nĂ©rescence qui, selon moi, ne peut que se produire, sont pour moi clairement les problĂšmes de la gĂ©nĂ©ration actuelle de ces outils.

Je pense que vous méritez (nous méritons) mieux que ça.

J’écris moi-mĂȘme mes articles et mon code.

Inspiration et ressources

Cette page est directement inspirĂ©e par ce que j’ai pu voir chez d’autres bloggers, en particulier Denis Germain sur https://blog.zwindler.fr/ai-manifesto/ et Cassidy Williams sur https://cassidoo.co/ai/, qui ont eux-mĂȘme Ă©tĂ© inspirĂ©s par Damola Morenikeji sur https://www.bydamo.la/p/ai-manifesto.

J’éditerai probablement cette page de temps en temps, avec de nouveaux Ă©lĂ©ments et de nouveaux liens issus de ma veille. AprĂšs tout, il n’est pas impossible que je change d’avis.