Code Roulette: How Prompt Variability Affects LLM Code Generation

Cet article propose un pipeline d'évaluation agnostique pour mesurer la sensibilité des modèles de langage à grande échelle aux variations de prompts dans la génération de code, en fournissant des preuves expérimentales et un code open source.

Andrei Paleyes, Radzim Sendyka, Diana Robinson, Christian Cabrera, Neil D. Lawrence

Publié 2026-03-19
📖 5 min de lecture🧠 Analyse approfondie

Each language version is independently generated for its own context, not a direct translation.

Imaginez que vous demandez à un chef cuisinier très doué (l'Intelligence Artificielle) de préparer un plat. Si vous lui dites "Faites-moi une omelette", il vous sortira une omelette parfaite. Mais que se passe-t-il si vous changez légèrement votre commande ?

  • "Faites-moi une omelette" (avec une faute de frappe).
  • "Préparez un plat d'œufs brouillés" (synonyme).
  • "Je voudrais un matin doré avec des œufs" (reformulation).

Selon le chef, le plat final sera-t-il toujours une omelette ? Ou va-t-il vous servir un œuf au plat, une omelette brûlée, ou pire, un gâteau aux œufs ?

C'est exactement ce que les auteurs de cette étude, Code Roulette, ont voulu découvrir. Ils ont étudié comment les modèles d'intelligence artificielle (LLM) réagissent quand on change un tout petit peu la façon dont on leur demande de coder.

Voici l'explication de leur travail, découpée en images simples :

1. Le Problème : La "Roue de la Fortune" du Code

Aujourd'hui, tout le monde peut demander à une IA de créer du code informatique. C'est comme si n'importe qui pouvait commander un plat dans un restaurant sans être chef. Le problème, c'est que l'IA est très sensible à la façon dont on lui parle.

Les chercheurs ont découvert que deux personnes demandant la même chose, mais avec des mots légèrement différents, pourraient obtenir des résultats totalement différents. C'est comme si deux clients commandaient "un café" : l'un reçoit un espresso, l'autre un cappuccino, et le troisième un thé, juste parce qu'ils ont utilisé des mots différents.

2. L'Expérience : Le Test des "Trois Types de Perturbations"

Pour tester cette sensibilité, les chercheurs ont créé une "machine à tester" (un pipeline d'évaluation). Ils ont pris des demandes de code et les ont modifiées de trois manières, comme si on jouait avec la recette :

  • Les Fautes de Frappe (Typos) : Comme si vous tapiez "omellette" au lieu de "omelette" sur votre clavier.
    • Résultat : C'est le pire scénario. Dès qu'il y a une petite erreur de frappe, le chef (l'IA) panique et vous sert un plat complètement différent. La qualité du code s'effondre vite.
  • Les Synonymes : Remplacer "voiture" par "automobile".
    • Résultat : L'IA est plus calme ici. Elle comprend que c'est la même chose. Le plat reste à peu près le même, même si le chef change un peu les épices.
  • Le Reformulation (Paraphrase) : Dire "Je veux un véhicule à quatre roues" au lieu de "Je veux une voiture".
    • Résultat : Similaire aux synonymes. L'IA reste stable, tant que le sens global est conservé.

3. Le Jauge de Mesure : La "Règle de la Structure"

Comment savent-ils si le plat est différent ? Ils ne goûtent pas le code pour voir s'il fonctionne (c'est trop long et compliqué). Au lieu de cela, ils regardent la structure du plat.

Imaginez que vous comparez deux maisons. Même si l'une est peinte en bleu et l'autre en rouge, si l'une a un toit en pente et l'autre un toit plat, ce sont des maisons différentes. Les chercheurs utilisent une règle spéciale (appelée TSED) qui mesure si la "forme" du code a changé.

  • Si la forme change beaucoup, c'est que l'IA est très sensible à votre demande.
  • Si la forme reste identique, c'est que l'IA est robuste.

4. La Révélation : Le Secret des "Anciennes Recettes"

Une découverte très importante concerne les données d'entraînement.

  • Le Cas des "Vieux Problèmes" (LeetCode Old) : Les chercheurs ont testé l'IA avec des problèmes de code très connus, qui sont peut-être dans la mémoire de l'IA depuis sa création. Résultat ? L'IA est incroyablement stable. Même si vous faites des fautes de frappe, elle vous donne le même code. C'est comme si elle avait déjà mémorisé la recette par cœur.
  • Le Cas des "Nouveaux Problèmes" : Quand ils ont demandé à l'IA de créer du code pour des tâches qu'elle n'a jamais vues avant, la sensibilité explose. Une petite faute de frappe suffit à changer complètement le résultat.

Cela signifie que si vous utilisez une IA pour des tâches courantes, vous êtes en sécurité. Mais si vous l'utilisez pour inventer quelque chose de nouveau, chaque mot compte énormément.

5. Pourquoi c'est important pour vous ?

Cette étude nous apprend trois choses essentielles :

  1. La confiance est fragile : On ne peut pas faire confiance aveuglément à l'IA. Si vous changez un mot dans votre demande, le résultat peut changer radicalement.
  2. La clarté est reine : Pour obtenir un bon résultat, il faut être très précis et éviter les fautes de frappe, surtout si vous demandez quelque chose de nouveau.
  3. L'IA n'est pas un humain : Un humain comprendrait que "voiture" et "automobile" sont pareils, peu importe la faute de frappe. L'IA, elle, est plus rigide et mécanique.

En résumé

Imaginez que l'IA est un chef robot très talentueux mais un peu rigide.

  • Si vous lui donnez une commande parfaite, il est génial.
  • Si vous faites une faute de frappe, il peut vous servir un plat bizarre.
  • Si vous utilisez des mots compliqués pour dire la même chose, il s'en sort bien.
  • Mais surtout, il ne faut pas le tester avec des recettes qu'il connaît déjà par cœur, car cela fausse les résultats.

Les chercheurs ont créé une méthode pour mesurer cette "instabilité" afin que, à l'avenir, nous puissions construire des systèmes plus fiables et apprendre aux utilisateurs à mieux parler à ces chefs robots.