Large Language Models for Code Generation from Multilingual Prompts: A Curated Benchmark and a Study on Code Quality
Cet article introduit un benchmark multilingue organisé et présente une étude démontrant que la langue utilisée dans les prompts influence significativement la correction fonctionnelle, la qualité structurelle et les caractéristiques lexicales du code généré par les LLM, révélant que les prompts en anglais ne produisent pas systématiquement les meilleurs résultats et que l'impact varie selon les différents modèles et langages de programmation.
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
L'Expérience du Grand Traducteur de Code
Imaginez que vous avez un ami robot super intelligent qui sait tout construire, d'une simple cabane à oiseaux à un vaisseau spatial complexe. Ce robot, appelé Modèle de Langage Étendu (ou LLM), a lu presque tout ce qui a été écrit sur Internet, y compris des millions de lignes de code informatique. Parce qu'il a tant lu, il est incroyablement doué pour suivre des instructions afin d'écrire de nouveaux codes pour nous. Habituellement, nous parlons à ce robot en anglais parce que c'est la langue dans laquelle la majeure partie du code qu'il a appris a été écrite. Mais que se passerait-il si vous demandiez au robot de construire un vaisseau spatial en utilisant des instructions en espagnol, en hindi ou en chinois ? Le robot serait-il confus ? Le vaisseau spatial s'effondrerait-il ? Ou construirait-il exactement la même chose, juste avec un accent différent ?
C'est la grande question derrière une nouvelle étude menée par une équipe de chercheurs. Ils voulaient voir si la langue que nous utilisons pour parler à ces robots IA change la qualité du code qu'ils écrivent. Dans le monde du génie logiciel, le « code » est l'ensemble des instructions qui disent à un ordinateur quoi faire. La « correction » signifie que le code fonctionne réellement et passe tous les tests, comme un pont qui supporte une voiture sans s'effondrer. La « qualité » est un peu plus large ; cela signifie que le code est facile à lire, respecte les règles du quartier (comme ne pas laisser de déchets sur le trottoir) et ne contient pas de pièges cachés qui pourraient se briser plus tard. Les chercheurs étaient curieux de savoir si demander un pont dans une langue autre que l'anglais ferait construire au robot un pont bancal, ou si le robot est tout aussi bon pour construire dans n'importe quelle langue.
L'Expérience : Un Défi de Codage Multilingue
Pour le découvrir, les chercheurs ont mis en place un immense concours de codage. Ils ont pris 460 tâches de programmation différentes — 230 pour Python et 230 pour Java — provenant d'un benchmark célèbre appelé CoderEval. Il ne s'agissait pas de simples tâches de type « print hello » ; c'étaient des défis du monde réel qui nécessitaient à l'IA de résoudre des problèmes, de manipuler des données et de construire des structures.
Ensuite, ils ont fait quelqueای chose d'astucieux. Au lieu de simplement demander à l'IA en anglais, ils ont traduit ces 460 tâches en quatre autres langues : le chinois, l'hindi, l'espagnol et l'italien. Mais ils n'ont pas utilisé un simple traducteur automatique. Ils ont fait appel à des locuteurs natifs experts en informatique pour vérifier et corriger manuellement chaque traduction. Ils voulaient s'assurer que les instructions étaient parfaites et naturelles, tout comme un humain demandant de l'aide à un ami.
Ensuite, ils ont soumis ces instructions traduites à trois des robots IA les plus puissants disponibles aujourd'hui : GPT-4o mini, DeepSeek et Claude. Ils ont demandé à chaque robot de résoudre les mêmes 460 problèmes dans les cinq langues (l'anglais plus les quatre autres). Au total, ils ont généré des milliers de morceaux de code pour les comparer.
La Grande Surprise : L'Anglais n'est pas Toujours Roi
Les résultats ont été un choc. La croyance commune était que si vous demandez à l'IA en anglais, vous obtenez le meilleur code car c'est la langue que l'IA a le plus étudiée. Mais l'étude a révélé que ce n'est pas toujours vrai.
En fait, pour les tâches Python, demander à l'IA en chinois a en réalité conduit à de meilleurs résultats qu'en anglais ! Le code généré à partir de prompts en chinois passait plus de tests et fonctionnait de manière plus fiable. C'est comme demander à un chef de cuisiner un plat ; parfois, donner la recette dans une autre langue fait que le chef trouve une meilleure façon de cuisiner. Cependant, cet « avantage chinois » ne s'est pas produit pour chaque robot ou chaque type de tâche. Pour Java, les résultats étaient plus mitigés, et aucune langue ne s'est clairement imposée comme la gagnante. La principale conclusion est que parler anglais à une IA ne garantit pas le meilleur code, et parler une autre langue ne signifie pas automatiquement que le code sera moins bon.
Le Code est Différent, Mais Est-il Moins Bon ?
Les chercheurs ont également examiné la « qualité » du code, pas seulement s'il fonctionnait. Ils ont vérifié des éléments tels que :
- La complexité : Le code est-il un fouillis emmêlé ou une ligne droite ?
- Les commentaires : Le robot a-t-il expliqué ce qu'il faisait ?
- Les avertissements : Le code a-t-il enfreint des règles ou semblait-il désordonné ?
Ils ont découvert que le code généré dans des langues autres que l'anglais n'était pas nécessairement « mauvais ». Il avait simplement une apparence différente. Par exemple, le code écrit à partir de prompts en chinois contenait souvent plus de commentaires, comme si le robot essayait d'être particent plus. Le code issu de prompts en hindi présentait parfois plus d'erreurs de style, comme des ponctuations manquantes ou un espacement étrange, mais il s'agissait généralement de petits problèmes qui pouvaient être facilement corrigés.
Une découverte intéressante concernait l'hindi. Lorsque l'IA était sollicitée pour coder en hindi, elle produisait parfois un code un peu plus risqué, avec plus de bugs potentiels ou une logique déroutante. Mais pour l'espagnol et l'italien, le code était généralement aussi bon que la version anglaise, parfois même meilleur en ce qui concerne l'évitement de certaines erreurs.
Le Problème du « Mélange et Appariement »
C'est ici que les choses deviennent un peu confuses. Bien que la logique du code puisse être excellente, les mots à l'intérieur du code étaient souvent un mélange déroutant. Les chercheurs ont constaté que même lorsqu'on demandait à l'IA en espagnol ou en chinois, le robot écrivait souvent les commentaires (les notes expliquant le code) et les noms de variables (les étiquettes pour les données) en anglais.
C'est comme demander à un chef d'écrire une recette en italien, mais qu'il écrive la liste des ingrédients en anglais et les instructions dans un mélange des deux. Les chercheurs ont trouvé que l'IA est très incohérente. Parfois, elle suit votre langue, parfois elle ne le fait pas. C'est un problème pour les équipes de développeurs qui ont besoin que leur code soit dans une langue cohérente pour que tout le monde puisse le comprendre. L'étude suggère que demander simplement du code dans une langue spécifique ne suffit pas ; vous devrez peut-être être très précis en disant au robot de garder les notes et les étiquettes dans cette même langue.
Qu'est-ce que cela signifie pour nous ?
L'étude conclut que nous n'avons pas besoin d'avoir peur d'utiliser nos langues maternelles pour parler aux assistants de codage IA. Vous pouvez demander du code en espagnol, en chinois ou en hindi sans craindre que le robot n'échoue. Dans certains cas, comme pour Python, vous pourriez même obtenir de meilleurs résultats !
Cependant, il y a deux points de vigilance :
- Le problème de « Style » : Le code peut présenter plus de petites erreurs de formatage (comme des virgules manquantes ou des lignes trop longues) lorsqu'il est écrit dans des langues autres que l'anglais. Mais ces erreurs sont faciles à corriger avec des outils automatisés.
- Le problème du « Mélange de Langues » : L'IA peut ne pas conserver les commentaires et les étiquettes dans la langue que vous avez demandée. Si vous avez besoin que tout soit dans une seule langue, vous devrez peut-être vérifier le code ou donner des instructions supplémentaires à l'IA.
Dans l'ensemble, cette recherche montre que l'IA devient plus flexible. Elle peut comprendre et construire des choses dans de nombreuses langues, brisant la barrière qui obligeait auparavant tout le monde à parler anglais pour obtenir un bon code. Mais comme tout nouvel outil, elle a ses particularités, et nous devons apprendre à travailler avec elles pour obtenir les meilleurs résultats.
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.