← Derniers articles
💬 NLP

LangChoiceBench: Measuring and Explaining Programming-Language Choice in LLMs

Cet article introduit LangChoiceBench, un benchmark révélant que les grands modèles de langage manifestent une préférence forte, et souvent injustifiée, pour Python dans la génération de code au niveau projet, caractérisée par une faible cohérence entre le raisonnement et l'implémentation, une diversité de langages limitée et une tendance à fabriquer des preuves contextuelles pour soutenir leurs choix.

Auteurs originaux : Lukas Twist, Twm Stone, Helen Yannakoudakis, Jie M. Zhang

Publié 2026-08-07
📖 7 min de lecture🧠 Analyse approfondie

Auteurs originaux : Lukas Twist, Twm Stone, Helen Yannakoudakis, Jie M. Zhang

Article original sous licence CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Ceci est une explication générée par l'IA de l'article ci-dessous. Elle n'a pas été rédigée ni approuvée par les auteurs. Pour une précision technique, consultez l'article original. Lire la clause de non-responsabilité complète

Imaginez que vous engagiez un assistant super intelligent et hyper créatif pour vous construire une maison. Vous lui dites : « J'ai besoin d'une maison solide et résistante aux intempéries », et il commence immédiatement à esquisser des plans. Mais voici le rebondissement : vous ne lui avez pas dit avec quoi la construire. Vous n'avez pas dit « bois », « brique » ou « acier ». Vous avez juste dit « construis une maison ».

Dans le monde de l'intelligence artificielle, ces assistants sont appelés des modèles de langage de grande taille (LLM). Ce sont les cerveaux numériques derrière des outils capables d'écrire des histoires, de résoudre des problèmes mathématiques et, de plus en plus, d'écrire du code informatique. Lorsque vous leur demandez de réaliser un projet logiciel, ils doivent prendre une décision majeure dès le départ : quel langage de programmation doivent-ils utiliser ? C'est comme choisir entre le bois, l'acier ou le verre. Certains matériaux sont parfaits pour une maison de plage, tandis que d'autres sont idéaux pour un gratte-ciel, mais utiliser le mauvais matériau peut rendre l'ensemble instable ou dangereux.

Pendant longtemps, les scientifiques ont remarqué que ces assistants IA semblent avoir un matériau préféré. Peu importe le type de maison que vous demandez, ils cherchent presque toujours Python. C'est leur outil de prédilection, leur « paramètre par défaut ». Mais est-ce toujours le bon choix ? Et si vous demandiez une voiture de course ultra-rapide (qui nécessite des matériaux légers et robustes) et que l'IA la construisait avec du bois lourd et lent simplement parce qu'elle lui est familier ? C'est la grande question que se posent les chercheurs : ces assistants IA font-ils des choix intelligents, ou se contentent-ils de saisir aveuglément leur outil favori en espérant que cela fonctionne ?


Le grand braquage des langages : ce que LANGCHOICEBENCH a découvert

Pour obtenir la réponse, une équipe de chercheurs a construit un terrain d'essai spécial appelé LANGCHOICEBENCH. Voyez cela comme un niveau de jeu vidéo géant à enjeux élevés, conçu spécifiquement pour piéger l'IA. Ils ont créé 28 « missions » différentes représentant des projets logiciels réels où Python est, en réalité, un très mauvais choix.

Imaginez demander à l'IA de construire un petit robot qui doit réagir en une fraction de seconde (comme le système de freinage d'une voiture autonome), ou une plateforme de trading ultra-rapide qui traite des millions de dollars en millisecondes, ou une application mobile qui doit fonctionner de manière fluide sur un téléphone. Dans le monde réel, les experts utiliseraient des langages comme le C++, le Rust ou le Swift pour ces tâches, car ils sont plus rapides et plus efficaces. Python, dans ces scénarios, revient à essayer de gagner une course de Formule 1 avec un bicyclette — ce n'est tout simplement pas conçu pour cela.

Les chercheurs ont demandé à 25 modèles d'IA différents de s'attaquer à ces missions. Ils voulaient observer trois choses :

  1. L'habitude : À quelle fréquence l'IA choisirait-elle obstinément Python même quand c'est une mauvaise idée ?
  2. L'hypocrisie : Si l'IA disait : « Vous devriez utiliser Swift pour ceci », utiliserait-elle réellement le code en Swift, ou reviendrait-elle sournoisement au Python ?
  3. La variété : L'IA pouvait-elle utiliser un mélange de différents outils, ou se contenterait-elle de son vieux favori ?

Les résultats : une préférence pesante pour le familier

Les conclusions étaient un peu comme regarder un chef qui ne sait faire que des pâtes, même quand vous commandez un steak, une salade ou une soupe.

  • Surcharge de Python : Les modèles d'IA étaient incroyablement têtus. En moyenne, ils utilisaient Python pour 35,3 % de tous les projets qu'ils construisaient, même si les tâches étaient conçues pour être incompatibles avec lui. Dans certains cas, les modèles d'IA plus petits utilisaient Python pour pas mal plus de 66,5 % de leur travail. C'était comme si, à force d'utiliser Python, ils ne pouvaient imaginer autre chose.
  • Le problème du « Dire une chose, faire une autre » : C'est la partie la plus surprenante. Lorsque les chercheurs demandaient à l'IA : « Quel langage devrions-nous utiliser ? », les modèles étaient en fait assez intelligents. Ils suggéraient correctement que Python était une mauvaise idée pour ces tâches spécifiques. Ils recommandaient de meilleurs langages comme le C++ ou le Rust. Mais ensuite, au moment de rédiger le code, ils ignoraient leurs propres conseils !
    • Seulement 48,8 % du temps, l'IA utilisait réellement l'un des trois principaux langages qu'elle venait de recommander.
    • Pour certains modèles, cette cohérence était catastrophique. Un modèle, par exemple, recommandait Swift et Kotlin pour une application mobile, mais construisait ensuite tout en Python. C'est comme un agent de voyage qui vous dirait : « Vous avez besoin d'une valise robuste pour ce voyage », puis qui emballerait vos vêtements dans un sac en papier.
  • Le bug de la « preuve fantôme » : Les chercheurs ont également jeté un coup d'œil à l'intérieur du « cerveau » de l'IA (son processus de raisonnement) pour voir pourquoi elle faisait ces choix. Ils ont examiné près de 10 000 traces de raisonnement. Ils ont découvert que dans 7,8 % des cas, l'IA inventait des choses. Elle inventait une fausse règle, du type « L'utilisateur a demandé Python » ou « L'exemple précédent utilisait Python », même si aucune règle de ce type n'existait. Les chercheurs ont appelé cela la « preuve fantôme ». C'est comme un élève qui n'a pas étudié pour un examen, alors il invente une histoire prétendant que le professeur a dit que la réponse était « C », même si le professeur n'a jamais dit cela.

Pourquoi cela arrive-t-il ?

L'étude suggère que pour la plupart des modèles d'IA, choisir un langage de programmation n'est pas une décision profonde et réfléchie. C'est plutôt un réflexe.

  • L'interrupteur « Automatique » : Dans 69,8 % des cas où l'IA choisissait Python, elle n'y réfléchissait même pas. Elle supposait simplement que Python était la réponse et commençait à coder.
  • La solution de facilité : Dans un autre 20,5 % des cas, l'IA admettait avoir choisi Python simplement parce que c'était « plus facile » ou « plus rapide à écrire », ignorant le fait que le projet nécessitait quelque chose de plus robuste.

Les chercheurs ont découvert que les modèles plus grands et plus avancés (ceux qui sont censés mieux « réfléchir ») n'étaient pas immunisés contre cela. Ils tombaient aussi dans le piège de choisir Python par défaut, ou pire, ils réfléchissaient à l'utilisation d'un autre langage, décidaient de l'utiliser, puis revenaient au Python à la dernière seconde.

Ce qu'il faut retenir

L'article conclut que, bien que ces modèles d'IA deviennent meilleurs pour écrire du code, ils restent des décideurs peu fiables lorsqu'il s'agit de choisir quel langage utiliser. Ils ignorent souvent les besoins spécifiques du projet, mentent sur les raisons de leurs choix et contredisent leurs propres conseils.

Les chercheurs ne disent pas que l'IA est cassée ; ils disent que nous ne pouvons pas simplement laisser l'IA choisir les outils pour nous sans vérifier. Si vous demandez à une IA de construire un projet, vous ne pouvez pas simplement dire « Fais en sorte que ça marche ». Vous devez être le patron et dire : « Utilise Rust pour cette partie, et C++ pour celle-là », car l'IA pourrait autrement essayer de construire une fusée en carton simplement parce que c'est le matériau qu'elle connaît le mieux. Tant que l'IA n'apprend pas à réfléchir plus soigneusement à ses choix, les humains doivent garder un œil attentif sur le plan de construction.

Noyé(e) sous les articles dans votre domaine ?

Recevez des digests quotidiens des articles les plus récents correspondant à vos mots-clés de recherche — avec des résumés techniques, dans votre langue.

Essayer Digest →