Je suis très critique envers l'IA, ceux qui me suivent le savent, et pourtant je l'utilise quand même un peu, je vous explique !

Pourquoi j'utilise l'IA ?

Déjà j'ai pour principe d'éviter de critiquer des choses que je ne connais pas. Comment on peut se permettre de critiquer quelque chose qui nous est inconnu ?

En effet, l'IA pose beaucoup de questions, en particulier au niveau du droit d'auteurs (en particulier côté image mais certains commencent à produire des articles de presse ou des romans), de qualité / sécurité (surtout au niveau du code mais pas que) et de fiabilité (l'IA a tendance à halluciner et inventer des informations, c'est inhérent à l'IA). Mais il ne faut pas pour ça jeter l'IA à mon avis.

J'ai beau être critique envers l'IA (je le suis envers toutes technologies), mais je reste technophile. Les technologies et leurs usages m'intéressent et il se trouve que l'IA a des intérêts dans mon quotidien. Donc je l'utilise. Par contre je sais les limites de l'IA (et si vous avez un doute, je répète : c'est inhérent à l'IA, en particulier les LLMs et ça n'est pas corrigeable), et j'ai un regard très critique sur tout ce que je génère, clairement plus que si c'était un humain qui avait produit la même chose.

Rappel LLM : un LLM ou Large Language Model est un modèle d'IA qui va produire un texte qui fait la suite d'un autre en se basant sur la logique extraite d'un dataset. Un LLM ne comprend pas la sémantique réelle de vos demandes, il va juste faire des connexions logiques entre ses données d'entrainements et ce qu'on lui demande pour donner une suite logique. Oui ça semble très humain et parfois très construit mais non ce n'est pas de l'intelligence au sens où on l'attend d'un humain.

J'ai testé pas mal de chose, en partie via SFEIR qui m'a donné accès à des produits payants en particulier via RAISE qui est notre plateforme multi-IA qui permet de créer des assistants avec un contexte tout en nous maintenant indépendant d'un modèle précis (si vous êtes curieux de RAISE, n'hésitez pas à me contacter, ce n'est pas le sujet de cet article).

J'utilise donc régulièrement en vrac : Claude Sonnet, OpenAI gpt-4o-mini, Gemini, Dall-e, Microsoft Designer, Mistral AI (abonnement pro à Le Chat gratuit que j'ai via mon forfait Free Mobile), ChatGPT, Continous dans VSCode et l'IA Jetbrains dans IntelliJ. Je suis un peu ce qui se passe et je bougerai en fonction des actualités, des mises à jours, etc. Clairement : ne soyez pas "fidèle" à une entreprise qui fait des produits IAs (même qui édite un produit), le marché est concurrentiel par nature, ils s'en fichent de vous clients, leur intérêt est purement votre portefeuille donc prenez ce que chacun peut vous offrir et n'en attendez pas plus.

Maintenant parlons un peu de l'usage que j'en fais à travers quelques exemples.

Ce blog

Je dois bien avouer que là où l'IA est le plus rentrer dans ma pratique c'est sur le blog. Je respecte toujours mes principes, aucun texte n'est généré par IA, c'est bien moi qui vous écris, les idées d'articles viennent toujours de moi aussi.

Mais je m'aide de l'IA pour le reste : les images, les jeux de données, les descriptions d'images pour la diffusion.

Pour prendre un exemple concret : j'ai écrit l'article D'une pile d'images à un ebook sur ma Kindle seul, modulo quelques questions à Le Chat pour valider que je ne négligeais pas de pistes. Quand j'ai eu fini, j'ai créé une nouvelle conversation avec Le Chat, et j'ai donné le contenu de mon article brut (comprendre le fichier markdown complet sans me prendre la tête), en disant "voici l'article que je viens de terminer sur mon blog : COLLER ICI le contenu". L'idée ici c'est de lui donner du contexte, qu'il puisse générer des choses à partir d'une base qui fait sens pour moi. Il m'a directement répondu avec des conseils sur quoi faire de l'article, des conseils pour l'améliorer, etc. Je ne m'en suis pas occupé, comme j'ai dit mon but était uniquement de lui donner du contexte. À ce moment-là je lui ai demandé de me donner un prompt permettant de générer une image qui irait en couverture de l'article. J'ai dans la foulée utilisé le prompt qu'il m'avait fourni pour générer une image. La première ne me convenait pas, donc j'ai relancé la génération pour arriver à la version que j'ai retenue. Là j'ai ensuite demandé une description pour l'image de sorte à avoir un texte pertinent à mettre comme texte alternatif de l'image pour les personnes malvoyantes. J'ai dû lui demander deux fois car il a commencé en répondant complètement à côté de la plaque.

Je reste le maître du contenu, mais plutôt que passer parfois presque 30-40min à trouver une image dans un stock d'image libre en testant des mots clés, j'ai directement une image personnalisée à l'article, et j'ai au passage une description propre à mettre sur LinkedIn et Twitter, le tout en quelques minutes.

À noter quand même qu'on a parfois un biais très fort au niveau de la description de l'image, la première image montre la description qui est clairement un paraphrasage de mon prompt alors que j'ai uploadé à nouveau l'image après avoir passé un outil qui ré-écrit l'image pour qu'elle soit plus légère (j'ai pas mal itéré pour l'image de cet article contrairement au précédent), à l'inverse dans une toute nouvelle conversation j'ai une meilleure description. Donc à voir en fonction des cas.

L'IA dans les tests

Contrairement à beaucoup de gens, je ne suis pas fan de générer les tests de mes applications avec de l'IA.

Les tests sont à mon sens la partie qui a le plus de valeur du code que je produis, je suis adepte du TDD, donc je commence mes développements par un test, je code la résolution de ce test, puis un autre test, etc. À quel moment j'irai mettre de l'IA dans cette boucle pour faire les tests ? Nulle part, car j'estime que le code des tests unitaires me permet d'être efficace et de bien écrire le code.

Par contre ça ne veut pas dire que je n'utilise pas d'IA du tout pour m'aider. Typiquement, créer des jeux de données est toujours ridiculement long, et on arrive souvent à des jeux de données qui sont peu réalistes par flemme… Là où avec l'IA ça peut aller super vite.

Génération de jeux de données avec Le Chat

J'ai fait des tests où j'arrive à générer des jeux de données réaliste, simplement, en demandant à l'IA de me donner des collections de données qui sont valides par rapport à des interfaces TypeScript ou Java (pas vraiment de doute que ça fonctionnerait avec d'autres langages). Je l'aiguille parfois pour créer des cas un peu précis mais globalement je le laisse faire. C'est très pratique en particulier quand on veut créer des mocks de service entier : on lui donne l'interface / la classe / un exemple et on lui demande de fabriquer des données en masse, il ne reste qu'à copier-coller dans le code.

Note : j'ai remarqué que les UUID ont tendance à ne pas être très "aléatoire". Ce n'est pas forcément grave, mais juste faite attention à ce genre de données qui pourraient fausser les tests que vous allez faire.

L'IA et le code ?

Si j'ai séparé en deux sections c'est que j'ai deux approches différentes. Pour le code et la configuration de mes applications, ma logique est simple : c'est 100% moi qui décide ce qui va être introduit.

J'utilise l'IA en mode autocomplétion, en continu elle me propose du contenu (le reste de la ligne, parfois quelques lignes), si ça me va ou presque je prends et je retouche. Dans ce contexte, je lui fais autant confiance que l'autocomplétion standard : moyennement. En tout cas je n'admets pas ce que l'IA me propose, car c'est moi qui réfléchis dans le duo. Mais si je peux gagner un peu de temps par-ci par-là en m'évitant de taper du texte répétitif je prends.

L'autre cas, souvent plus sur la configuration d'ailleurs, c'est de l'aide pour résoudre un cas. Par exemple : je configure quelque chose dans Spring, je ne trouve pas comment configurer un élément dans la doc, avec l'autocomplétion ou en recherche DuckDuckGo, là je demande à l'IA si elle a une suggestion. Ça marche parfois quand je ne formulais pas très bien ce que je voulais ou que le concept est compliqué à décrire. J'obtiens à minima des pistes à explorer de cette façon.

GoReadYourself

Le dernier usage que je vais citer qui fait complètement partie de mon quotidien mais très discrètement : GoReadYourself. C'est un outil que j'ai développé en open-source pour mon usage de partager des éléments de ma veille en public.

Je prends le temps de mettre des tags sur tous les partages que je fais, et c'est pas toujours simple de trouver des tags... Donc j'ai mis en place un système de proposition de tag.

On voit 3 types de tags :

  • sans bordure, c'est les tags existants qui ont été trouvés dans le titre ou description du post ;
  • avec une bordure verte c'est les tags qui sont souvent associés aux tags déjà sélectionnés dans les posts déjà publiés ;
  • et ce qui nous intéresse ici, avec une bordure dorée (goldenrod en CSS 🤓), une vingtaine de tags suggérés par OpenAI à partir du titre/de la description/des tags déjà sélectionnés (pour les curieux, le code est ici) ;

Les tags suggérés par IA ne sont pas toujours pertinents, à défaut de toujours choisir les tags IA ça me donne des idées de nouveaux tags ou ça me permet d'extraire du contenu en un clic des nouveaux tags.

Et le reste ?

J'ai tendance à ne pas utiliser d'IA pour le reste de ma vie. Je ne vois pas vraiment ce que ça m'apporterait de passer par l'IA.

La plupart du temps je cherche des informations, et je préfère cibler des sources de confiance pour m'assurer de la réponse que j'aurais.

J'ai un peu testé des choses à une époque via ChatGPT ou Gemini, et les réponses étaient trop souvent à côté de la plaque, avec aucune source, et si je lui demandais des sources, il en inventait carrément (avec des URLs contenant la réponse qu'il m'avait donné pour se légitimer).

Donc je n'ai pas du tout confiance. Et vous devriez en faire autant, surtout si vous l'interrogez sur des sujets où vous n'avez aucune connaissance…

Le code en général c'est facile : j'ai un compilateur ou des tests pour valider ce qu'il me génère, je n'ai pas ça dans le monde réel.

Conclusion

Ne voyez pas l'IA comme un ennemi ou un ami : c'est un outil, avec ses forces et ses limites. Je pense aujourd'hui qu'il vaut mieux s'habituer à l'utiliser un minimum pour ne pas se retrouver larguer dans l'avenir quand ça deviendra trop une norme. Il faut aussi s'habituer à valider tout ce qu'on en sort pour ne pas aller dans le mur non plus.

Parfois on peut intégrer des usages très discrets de l'IA dans notre quotidien pour avoir un gain de temps ou sortir des idées qu'on aurait pas eues. Toujours dans l'idée d'avoir un plus pas forcément de faire faire par l'IA pour moi.

Crédit photo : Générée via Mistral AI avec le prompt suivant

Est-ce que tu peux générer une image que je pourrais utiliser comme couverture pour cet article, sans inclure le titre dans l'image, avec bien en vision l'idée d'un quotidien simple, légèrement futuriste mais assisté par IA, peut-être avec un robot (flottant, sans jambe, uniquement une tête un buste et des bras), qui suit une personne (homme, barbe très courte, cheveux long, attaché, lunettes de vue noires, hoodies capuche, jeans), dans un style animé japonais, dans une ambiance Ghost in the Shell / Cyberpunk, image lumineuse