Code Roulette: How Prompt Variability Affects LLM Code Generation

Dit paper introduceert een modelonafhankelijke evaluatiepipeline om de gevoeligheid van LLM-generatie van code voor variaties in prompts te kwantificeren, met als doel de impact van gebruikersachtergrond op de codekwaliteit te meten.

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

Gepubliceerd 2026-03-19
📖 5 min leestijd🧠 Diepgaand

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

Stel je voor dat je een zeer getalenteerde, maar soms wat verwarde kok hebt. Deze kok is een Grote Taalmodel (LLM) en zijn specialiteit is het koken van code (de instructies die computers nodig hebben om te werken).

Je geeft de kok een recept (een prompt of opdracht) in gewone taal. Bijvoorbeeld: "Maak een taart die eruitziet als een auto."

De vraag die de auteurs van dit onderzoek stellen, is heel simpel: Hoe gevoelig is deze kok voor kleine veranderingen in je recept?

Als je het woord "auto" verandert in "vrachtwagen", of als je per ongeluk een lettertje mist, of als je het recept in andere woorden schrijft met hetzelfde bedoeling, maakt de kok dan nog steeds precies dezelfde taart? Of krijg je ineens een taart die eruitziet als een boot, of misschien wel een baksteen?

Hier is de samenvatting van het onderzoek "Code Roulette", vertaald in een makkelijk verhaal:

1. Het Probleem: De "Roulette" van de Prompt

In de echte wereld schrijven mensen dingen anders. De ene persoon zegt "maak een lijst", de ander zegt "ik wil een overzicht van items", en weer een ander typt per ongeluk "lijst" als "liist".

De onderzoekers wilden weten: Hoeveel verschil maakt dat voor de code die de computer maakt?
Ze noemen hun methode "Code Roulette" omdat het een beetje voelt als het draaien aan een rad: je weet niet precies wat je krijgt als je de prompt net iets anders invoert.

2. Hoe hebben ze het getest? (Het Experiment)

Ze hebben een soort "proefkeuken" gebouwd met vier verschillende koks (vier populaire AI-modellen: GPT-4o, Claude, Gemini en Llama). Ze gaven ze allemaal dezelfde basisopdracht, maar dan met drie soorten "vervuiling":

  • Typefouten (Keyboard Typos): Ze veranderden letters in letters die op het toetsenbord ernaast liggen (bijv. 's' in plaats van 'a'). Dit is alsof je de kok een beetje in de war brengt met slecht geschreven woorden.
  • Synoniemen: Ze vervangen woorden door synoniemen (bijv. "snelle auto" wordt "vlugge wagen"). Dit is alsof je de instructie in een andere taal of stijl geeft, maar met dezelfde betekenis.
  • Parafraseren: Ze schreven de hele zin anders op, maar met dezelfde bedoeling (bijv. "Ik wil een snelle auto" wordt "Kun je een voertuig maken dat hard rijdt?").

Vervolgens keken ze niet of de code goed werkte (of de taart lekker smaakte), maar keken ze of de code er hetzelfde uitzag als de originele code. Als de structuur van de code heel anders was, was de AI gevoelig voor de verandering.

3. Wat vonden ze? (De Resultaten)

Hier zijn de belangrijkste ontdekkingen, vertaald in alledaagse termen:

  • Typefouten zijn dodelijk: Als je kleine typefouten in de opdracht stopt, wordt de code van de AI heel snel heel anders. Het is alsof de kok paniek krijgt als je "taart" typt als "taart" met een extra 't'. De code verandert dan drastisch, zelfs als je maar een klein beetje verandert.
  • Synoniemen en andere woorden zijn veiliger: Als je gewoon andere woorden gebruikt voor hetzelfde idee (synoniemen) of de zin anders opbouwt (parafraseren), is de AI veel stabieler. De kok begrijpt dan nog steeds wat je wilt en maakt ongeveer dezelfde taart.
  • De "Oude" vs. "Nieuwe" Recepten:
    • Als ze de AI een opdracht gaven die al bekend was (oudere LeetCode-opgaven), was de AI heel stug en veranderde hij bijna niets, zelfs als je de opdracht volledig verpestte. Dit komt omdat de AI deze recepten waarschijnlijk al uit zijn hoofd kent (dit noemen ze "data contamination" of verontreiniging).
    • Maar bij nieuwe, unieke opdrachten (die de AI nog nooit had gezien), was de AI veel gevoeliger. Een klein verhaaltje in de opdracht zorgde al voor een heel andere taart.
  • Niet alle koks zijn hetzelfde: Sommige AI's (zoals Gemini en GPT-4o) waren heel consistent: als je hetzelfde recept gaf, kregen ze bijna exact dezelfde taart. Andere AI's (zoals Llama) waren wat wispelturiger en gaven zelfs bij hetzelfde recept soms een iets andere taart.

4. Waarom is dit belangrijk?

Stel je voor dat je een software-ontwikkelaar bent die een app bouwt. Als jij en je collega twee verschillende manieren gebruiken om hetzelfde te vragen aan de AI, en de AI geeft jullie twee totaal verschillende code-structuren, dan wordt het een chaos om die code later te onderhouden.

Het onderzoek zegt ons:

  1. We moeten voorzichtig zijn met hoe we AI's instructies geven. Kleine fouten kunnen grote gevolgen hebben.
  2. AI's zijn niet altijd betrouwbaar als "zwarte dozen". We moeten begrijpen dat ze gevoelig zijn voor hoe we iets vragen.
  3. Voor de toekomst: Als we AI's willen vertrouwen om code te schrijven, moeten we manieren vinden om ze stabieler te maken, zodat ze niet in paniek raken als je een lettertje mist of een ander woord kiest.

Conclusie in één zin

Dit onderzoek laat zien dat AI's voor het schrijven van code soms erg gevoelig zijn voor kleine veranderingen in wat we zeggen (vooral typefouten), en dat we beter moeten begrijpen hoe we met hen moeten praten om betrouwbare resultaten te krijgen. Het is een waarschuwing om niet zomaar blind te vertrouwen op wat de AI produceert, maar te kijken hoe stabiel dat antwoord is.