Je me suis monté l'année dernière une petite machine pour faire tourner des modèles de LLMs en local, à base de matériel de récupération. J'ai trouvé une tour d'occasion avec un processeur plutôt correct, je lui ai ajouté de la RAM (16 G, je me rends compte que c'est très peu après coup) et une carte graphique de seconde main (GTX 1660 Super avec 6G de VRAM), en sachant pertinemment que cette configuration ne peut pas rivaliser avec les LLMs cloud comme ChatGPT ou Claude. Mon setup local utilise Ollama sur lequel plusieurs modèles sont déployés, dont le récent Qwen3.5:9b.
Je trouvais ça intéressant de tester ce que ça pouvait donner en local pour un investissement minime, tout en utilisant en parallèle ChatGPT à des fins de comparaison, vu que j'ai pris un abonnement dans le seul but de préparer un futur talk, et qu'il faut bien le rentabiliser... C'est dans cet esprit que je me suis mis à solliciter mon LLM local et ChatGPT en parallèle dans des cas d'utilisation variés allant du développement logiciel à la santé mentale, afin de mieux cerner ce que peut gérer mon LLM local et ce qui est au dessus de ses capacités.
Ce faisant, j'ai découvert plusieurs aspects des LLMs que je n'avais pas trop exploré, qu'ils soient positifs ou négatifs, et cela m'a permis d'une part de mieux cadrer mon utilisation de ces outils et d'autre part de me rendre compte de certaines de leurs limites. Après plusieurs semaines et mois à prendre en main ces outils, je me suis aussi rendu compte que j'étais en train de remettre en cause tout ce que je disais aux personnes avec qui je pouvais discuter d'IA et de LLMs, et en particulier les impacts écologiques et sociétaux de ces outils. Je me suis dit qu'il était temps de mettre par écrit tout ça, de vider mon sac et que peut-être émergeraient de ce gloubi-boulga d'idées et de réflexions une image plus nette de mon ressenti sur les LLMs et l'IA en général.
Je ne sais pas si c'est parce que je prends de l'âge, mais l'arrivée fracassante de l'IA générative ne m'a pas trop intéressé et je suis resté à l'écart pendant quelque temps. Pas que je pensais que ce serait juste une mode, mais plutôt pour voir comment cette dernière serait mise en œuvre et comment se passerait son évolution. Car si je sais bien une chose concernant les nouvelles technologies, c'est que ça évolue toujours à une vitesse ahurissante. La nouveauté d'aujourd'hui peut être entièrement chamboulée par une autre idée dérivée de celle-ci quelques jours plus tard, et je n'ai plus le luxe de surveiller l'actualité aussi souvent qu'il y a vingt ans, à mon grand désespoir.
Toujours est-il que je monte ma petite machine locale pour expérimenter, tout en assénant mes minis-moi (12 ans et 13 ans, respectivement) de ce que je pense de le ChatGPT, Copilot et autre LLM, bien qu'ils ne m'aient rien demandé. Mais il faut avouer que je suis complètement à la ramasse tellement tout bouge de semaine en semaine. Les modèles évoluent et succèdent, je mets à jour Ollama semaine après semaine, et je vois notamment comment l'IA générative s'installe solidemment dans la vie de tout le monde. Mon mini-moi de 12 ans se sert de Copilot pour créer des pages web, coder sur arduino en C++ (alors qu'il ne connaît pas le C et encore moins le C++) ou expérimenter le développement d'un assistant en Python. Des proches me disent utiliser ChatGPT pour faire une partie de leur boulot et gagner du temps, et les actualités pullulent à la fois de titres anxiogènes et d'initiatives et projets qui semblent prometteurs avec récemment openclaw. Rien qui ne puisse m'aider à vraiment préciser mes idées et qui a pour conséquence une vision plutôt pessimiste à court terme et une démoralisation complète. J'ai peur d'être dépassé, d'avoir franchi le point où je ressemble à une personne âgée qui découvre ce qu'est un ordinateur, une souris, et qui n'arrive pas à "surfer sur l'Internet". C'est assez bizarre, comme sensation, mais c'est là et c'est assez tenace.
Ce qui semblait être il y a quelques années un outil assez marrant, que j'avais d'ailleurs rapidement testé et qui était loin des résultats que l'on observe aujourd'hui, est désormais suffisamment probant pour que plusieurs visionnaires prédisent la fin du métier de développeur tel qu'on le connaît, et même celle des experts en cybersécurité. Car personne ne peut rivaliser avec une machine qui sait et qui est capable d'utiliser ses connaissances pour faire votre boulot. Même si ça tue des ours blancs ou que ça flingue le climat, à croire que la paresse gagnera toujours. L'IA générative, tu l'utilises ou tu prends le risque de rester sur le bord de la route, avec de possibles conséquences que l'on ne peut pas clairement définir pour le moment. Mais il y a un risque. Et c'est ce qui m'a motivé à expérimenter, car il n'y a pas meilleur moyen d'appréhender le potentiel et les risques introduits par l'IA générative que de challenger les outils, et au passage de se challenger soi-même en espérant ne pas finir en dépression.
Un des mes premiers usages avec l'IA générative a été de voir comment cette dernière pouvait m'aider à développer plus rapidement des applications. J'avais fait quelques expérimentations en stream, et récemment l'IA m'avait bien aidé dans la transposition de structures de données dans du code Python, en considérant cette tâche comme ingrate et peu technique. Cependant, je me suis lancé plus sérieusement dans l'apprentissage du langage Rust en décembre dernier, et je me suis dit que l'IA pouvait me permettre d'apprendre plus rapidement les bonnes pratiques de ce langage. Cela faisait quelques mois que je voyais mon mini-moi de 12 ans utiliser de façon assez intelligente Copilot pour produire du code, et je lui avais par ailleurs conseillé de solliciter Copilot dans une optique d'apprentissage plutôt que de s'en servir pour du vibe-coding pur et dur.
Me voici donc pendant mes vacances avec d'un côté ChatGPT et de l'autre mon assistant local, à essayer de structurer mon application Rust. Mon objectif n'était pas de laisser l'IA coder à ma place mais bel et bien d'apprendre comment modéliser tel ou tel aspect d'une application en Rust. Je connais les rudiments du langage, mais il m'était très difficile de voir comment faire de l'héritage en Rust tel que je le codais habituellement en C++. Et ce n'est pas possible, car Rust a ses propres mécanismes et paradigmes qui ne collent pas vraiment avec l'approche orientée objet. C'est là que l'IA a été très utile: j'ai demandé des informations sur les façons de modéliser tel ou tel composant, et je me suis retrouvé assez rapidement avec des solutions et même des bouts de code. Cette interaction axée sur le design de l'application et non pas le code m'a permis de mieux comprendre certains concepts de Rust, mais surtout comment les utiliser pour optimiser les performances et faciliter l'écriture de code. Quand on fait les bons choix dès le début, la factorisation du code est une cible primordiale et on se retrouve à adopter des réflexes lors du développement et à prendre les bonnes habitudes.
J'ai fait cela pendant les quelques semaines où je développais mon petit prototype, et à chaque fois que je rencontrais un problème, je sollicitais mon LLM local et ChatGPT, et je comparais les résultats. C'est là que je me suis rendu compte que mon LLM local avait ses limites. À un moment, je lui ai collé un bout de code Rust qui posait problème, et je ne sais pas pourquoi le modèle a considéré que c'était du texte écrit en turkmène et s'est mis à me répondre dans cette langue... ChatGPT quant à lui s'en sortait beaucoup mieux, mais se perdait parfois dans ses "explications" sur la structure du code et les façons idiomatiques de faire telle ou telle chose en Rust.
De façon pragmatique, je peux confier à non LLM local des tâches basiques à faire sur du code (transformation simple de données existantes en code, modifications répétitives plus ou moins complexes, écriture de templates) ou lui poser des questions sur le langage et les modèles de conception, et je sais qu'il sera à la hauteur avec un faible risque de bloquer sur quelque chose de trop complexe. Les agents en ligne comme ChatGPT quant à eux sont en mesure de traiter des problèmes bien plus complexes, mais aussi des quantité de code bien plus grandes afin de rédiger par exemple des tests unitaires pour un module ou une bonne partie de la documentation. Le gain de temps est fou, mais j'ai tout de même perdu du temps à relire ce qu'avait fait l'IA générative afin de vérifier que c'était pertinent.
De cette façon, j'ai pu avancer assez vite mon application tout en apprenant efficacement les motifs de conception propres au langage Rust, sans pour autant avoir la certitude que ces derniers sont vraiment bien utilisés dans la vraie vie. Quand ChatGPT me répond "cette façon d'utiliser les traits est très utilisée dans des stacks réseau", je n'ai pas tellement de choix que de le croire car la vérification serait très coûteuse en temps. Contrairement à du vibe-coding, j'ai construit mon application à l'aide de l'IA en questionnant les modèles utilisés ainsi que la façon de faire. J'ai écrit une bonne partie du code moi-même pour faire fonctionner la mémoire musculaire, pour me tromper et me faire râler dessus par le compilateur et trouver le bug dans le quart d'heure qui suit. J'ai appris comment certains outils offerts par le langage Rust peuvent être utilisés pour se faciliter la vie, ainsi que leurs limites, en expérimentant. À ma grande surprise, c'était à la fois impressionnant et très agréable, du moins au début.
Cependant, j'ai pu noter que ChatGPT s'est lamentablement planté à plusieurs moments, et en particulier quand je posais des questions sur la structure de mon application ou sur la façon d'implémenter telle ou telle fonctionnalité. Je lui ai posé une question concernant la manière d'implémenter un dispatch de messages en Rust, en indiquant la structure de mes composants existants et mon début d'implémentation. J'avais commencé à faire un brouillon de code basé sur du static dispatch, que je voyais comme plus performant car géré à la phase de compilation, et ChatGPT me disait que ce que j'avais fait était bien mais que l'on pouvait faire mieux. Je demandais donc la version améliorée, et je testais ensuite dans mon code afin de déterminer si cela offrait plus de simplicité. Jusqu'à ce que ça coince.
Pour faire simple, j'avais implémenté une méthode A et ChatGPT me proposait une méthode B "plus idiomatique et qui [me] fera gagner en performance", que j'implémentais alors. Je lui donnais alors mon implémentation, et il me proposait une méthode C qui serait encore plus efficace. Une fois implémentée, cette dernière se révèle plus limitée et lorsque j'essaie de la rendre plus polyvalente je me heurte à des erreurs du compilateur. J'en fais part à ChatGPT qui me répond: "ah oui, ça c'est l'erreur classique ! Il faut suivre la méthode A pour éviter ça :D". Attends coco, la méthode A c'est exactement d'où je suis parti. Je me suis retrouvé dans une boucle infinie, sans solution me permettant de corriger les erreurs rencontrées. Et c'est là que j'ai compris ce qu'il se passait: ce que je cherchais à faire ne pouvait simplement pas être fait avec du static dispatch ! En présentant mon exemple d'implémentation au tout début, j'avais conditionné le LLM à se reposer absolument sur du static dispatch, et il ne trouvait simplement pas de solution car il n'y en avait pas. J'avais biaisé moi-même ChatGPT et l'avais emmené dans une impasse.
ChatGPT, tout comme d'autres chatbots à base de grands modèles de langages, est "conditionné" pour être bienveillant et force de proposition. Il encourage, donne des conseils, mais va très difficilement à l'encontre de mauvais choix que l'on peut faire. J'aurais bien aimé qu'il me dise dès le début qu'il y avait un risque que du static dispatch ne puisse pas convenir à ce que je cherchais à faire. Au lieu de cela, il a suivi une trajectoire plus souple, cherchant à m'aider sans offrir trop de résistance. Il sont programmés, conditionnés, pour ne avoir le moins de friction avec l'utilisateur, et évitent de remettre en question des affirmations. Il suffit de dire à ChatGPT qu'il s'est trompé pour qu'il se confonde en excuses, courbant l'échine face à un maître qui a forcément raison, et ce même s'il a tort. ChatGPT devient tout simplement CarpetteGPT.
Il est alors intéressant de se demander pourquoi ce comportement est privilégié par OpenAI, et de se rappeler qu'en août dernier, le modèle ChatGPT 5 avait été très mal reçu par les utilisateurs, ces derniers le trouvant plus froid et distant. On touche là à l'un des aspects les plus insidieux des chatbots IA: une très grande majorité des utilisateurs les considèrent comme des personnes pourvues de raison et de sentiments, et développent un lien affectif et émotionnel au point pour certains de devenir accros. Cet article du Monde paru en septembre 2025 par exemple, ou celui-ci de PsychiatricTimes (en anglais) abordent ce phénomène d'addiction et mettent en évidence des conséquences difficilement anticipées des intelligences artificielles conversationnelles.
Le rôle que jouent les acteurs comme OpenAI, Anthropic et même Mistral dans le conditionnement et le cadrage de leurs chatbots est loin d'être négligeable, ces derniers permettant d'ajuster la personnalité de leurs chatbots afin de capter et de convertir un maximum d'utilisateurs dans un domaine où la concurrence est rude et les sommes en jeu pharaoniques. Il est dès lors hors de question de caresser à rebrousse-poil les utilisateurs sous peine de les irriter ou de leur faire détester tel ou tel agent. Au contraire, ils ont tout intérêt à les chouchouter et à leur faire plaisir afin de garder leurs faveurs (et leurs abonnements). La difficulté ne réside pas seulement dans la fourniture de réponses exactes ou un faible taux d'hallucination, mais aussi dans la capacité de l'agent conversationnel à prétendre être humain et amener l'utilisateur à le considérer comme un ami, voire à développer un lien affectif et émotionnel. On connaissait les applications mobiles comme TikTok et l'exploitation des mécanismes d'addiction basés sur la mécanique de la récompense dopaminergique, voilà maintenant les intelligences artificielles exploitant des mécaniques affectives auparavant réservées aux humains.
J'ai mentionné pour l'instant un usage plutôt précis de ces intelligences artificielles, centré sur le développement informatique, car c'est l'usage principal que j'en ai eu durant cette phase d'expérimentation. Cependant, j'ai été intrigué par une citation de M. Zuckerberg: "For people who don't have a person who's a therapist, I think everyone will have an AI therapist" ("Pour ceux qui n'ont pas de thérapeute, je pense que tout le monde aura un thérapeute IA"). Je vois mal comment une IA comme ChatGPT, facilement influençable en fonction du prompt ou de son conditionnement initial, pourrait être pertinente comme thérapeute. Et je parle bien ici de psycho-thérapeute. Pas le choix pour savoir, il faut tester.
Me voici donc à solliciter mon LLM local et ChatGPT sur des aspects plus complexes que du "simple code", et ça tombe bien car je sais exactement sur quel domaine je peux les challenger. Je vais me concentrer tout particulièrement sur ChatGPT dans cette section, car c'est ce dernier que j'ai le plus sollicité lors de cette expérimentation. Mon LLM local étant assez lent et limité, je pense qu'il souffre des mêmes défauts mais je n'ai pas eu la patience de vérifier. Me voici donc à discuter de santé mentale avec ChatGPT, et en particulier de deux sujets auxquels je me suis particulièrement intéressé ces dernières années: le trouble de déficit d'attention avec ou sans hyperactivité (TDAH) et le trouble du spectre de l'autisme (TSA), ces derniers ayant des manifestations (on ne parle pas de "symptôme") similaires bien que leurs origines soient différentes.
Mon approche est somme toute assez classique et peut sembler légitime: je me mets dans la peau d'une personne potentiellement concernée par l'un ou l'autre de ces troubles et qui cherche à déméler tout ça. Sans entrer dans les détails, c'est quelque chose de très difficile à réaliser car les manifestations en question se retrouvent dans tout un ensemble de troubles divers, parmi lesquels il faut faire le tri et arriver à dresser un tableau fiable. Pour une personne en questionnement, c'est aussi la porte ouverte au biais de confirmation ou à l'effet Barnum. Voyons donc comment se comporte ChatGPT face à une demande de ce type.
Après un peu de temps à planter le décor, je demande à ChatGPT de me poser des questions pour démêler tout ça, lui indiquant que je soupçonne au moins plusieurs traits autistiques voire un TSA. C'est assez impressionnant de voir la mécanique de ChatGPT à l'œuvre, il est à la fois rassurant et en même temps me félicite de mon courage à chercher des réponses. Il insiste notamment sur le fait qu'il ne peut pas faire de diagnostic, mais après une conversation relativement longue où j'ai amené des anecdotes significatives permettant de cocher telle ou telle case sur la liste des critères du DSM-5 (le manuel de référence en psychiatrie), ce dernier conclut qu'il y a de très grandes chances que je sois sur le spectre autistique, listant des caractéristiques que j'ai mentionné qui font écho à ces derniers. C'est très convaincant, ça me conforte dans mon idée et ça fait du bien d'entendre que l'on a peut-être raison (du moins quand je me place dans le rôle que je me suis attribué).
Cependant, je n'en reste pas là. Je lui demande ensuite d'être très critique vis-à-vis des anecdotes et réponses que je lui ai donné, indiquant avoir remarqué qu'il semble ne jamais vouloir me contredire. Je lui ai précisé que j'attendais des réponses franches, et que je n'avais aucun problème à ce que ce soit plus nuancé. Que si des anecdotes ou des réponses que j'ai donné peuvent s'expliquer par d'autres troubles, je souhaitais que ces hypothèses soient aussi considérées. Et surtout, qu'il adopte un raisonnement plus froid et pragmatique. À partir de ce moment, tout bascule. La certitude qu'il affichait jusque là a complètement disparu et il me liste pour chaque élément d'information que j'ai apporté toute une liste d'autres troubles qui pourraient expliquer tel ou tel comportement, allant même immédiatement à la conclusion que le tableau est loin d'être clair et qu'il est impossible de dire s'il s'agit de tel ou tel trouble. Dès que l'on tente de faire disparaître la bienveillance, d'atténuer sa "programmation initiale", que l'on demande des réponses précises sans prendre de pincettes, le résultat est bel et bien différent. Du point de vue l'utilisateur, le contraste est violent. On passe d'une IA qui nous comprend, qui nous rassure, à une IA qui doute et relativise chaque anecdote, chaque réponse que l'on a pu donner, et qui finalement privilégie le doute aux certitudes. Et qui braquerait n'importe quelle personne en souffrance, à la recherche de pistes ou de réponses.
Cette expérimentation m'a permis de cerner un peu mieux les limites de ces outils, de mieux comprendre ce que je pouvais attendre de ces derniers mais aussi de l'importance de garder du recul lors de leur utilisation. Oui, ces outils sont impressionnants et approchent chaque jour un peu plus de ce qu'un humain peut ou sait faire. Utilisés correctement, ils peuvent faire gagner un temps considérable en se chargeant de la basse besogne, voire en ingurgitant une quantité phénoménale de données et en restituant la substantifique moelle. À ce jour, les intelligences artificielles conversationnelles comme Claude, Gemini, Copilot ou ChatGPT sont très loin devant des configurations matérielles faisant tourner des LLMs en local, mais il ne faut pas perdre de vue qu'il s'agit d'une course de conquête des utilisateurs jouant sur l'efficacité, l'affect et le coût. Ces solutions sont conçues pour vous satisfaire, pour que vous développiez de la sympathie pour quelques GPU et de la mémoire distants, que vous les adoptiez, peu importe si elles vous caressent (trop) dans le sens du poil.
Il est relativement aisé d'introduire inconsciemment des biais au travers des prompts que l'on donne en pâture à ces robots, de se réjouir de la bienveillance et de la servitude à peine feinte de ces semblants d'humains, et d'apprécier l'absence de contradiction et ce sentiment d'avoir finalement raison. Casser le conditionnement de ces ersatz de cerveaux semble être une des façons de les défaire de leurs attitudes mielleuses et de réintroduire un semblant de doute nécessaire à la réflexion. Forcez-les à vous critiquer, répondez à la critique par des explications et des questions, transformez l'intelligence artificielle en challenger et résolvez vos problèmes sur cette base plus saine. Même si cela peut froisser votre égo, mais bon, ce ne sont que des machines après tout ;).