← Nieuwste papers
💻 computer science

Comment Traps: How Defective Commented-out Code Augment Defects in AI-Assisted Code Generation

Deze studie toont aan dat defecte commentaarcode in prompts AI-codingassistents zoals GitHub Copilot en Cursor aanzet tot het genereren van defecte code, waarbij zelfs expliciete instructies om deze te negeren slechts een beperkte vermindering van fouten bewerkstelligen.

Oorspronkelijke auteurs: Yuan Huang, Yukang Zhou, Xiangping Chen, Zibin Zheng

Gepubliceerd 2026-02-19
📖 4 min leestijd☕ Koffiepauze-leesvoer

Oorspronkelijke auteurs: Yuan Huang, Yukang Zhou, Xiangping Chen, Zibin Zheng

Oorspronkelijk artikel gelicentieerd onder CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Dit is een AI-gegenereerde uitleg van het onderstaande artikel. Het is niet geschreven of goedgekeurd door de auteurs. Raadpleeg het oorspronkelijke artikel voor technische nauwkeurigheid. Lees de volledige disclaimer

De "Comment-Val" in de AI-Wereld: Hoe Verouderde Code je Nieuwe Code Bederft

Stel je voor dat je een zeer slimme, maar soms wat naïeve assistent hebt die je helpt bouwen aan een huis. Deze assistent, laten we hem AI-Coder noemen (zoals GitHub Copilot of Cursor), kijkt naar alles wat je al hebt geschreven en naar je notities om te weten wat hij moet doen. Hij is razendsnel en kan muren optrekken in seconden.

Maar er zit een valkuil in zijn manier van werken. Deze valkuil noemen de onderzoekers van dit papier de "Comment-Val" (Comment Trap).

Hier is hoe het werkt, vertaald naar alledaagse taal:

1. De "Verouderde Schets" (Commented-Out Code)

In de bouwwereld (of softwareontwikkeling) gebeurt het vaak dat een timmerman een idee probeert, het niet leuk vindt, en de planken even aan de kant legt. Hij plakt er een briefje op: "Dit plan werkte niet, leg het hier maar neer voor later." In de programmeertaal noemen we dit commented-out code. Het is code die er staat, maar die de computer niet uitvoert. Het is gewoon een notitie in de marge.

De onderzoekers ontdekten iets verrassends: De AI-assistent leest die notities alsof het een actieve opdracht is.

2. Het Experiment: De Gif in de Notitie

De onderzoekers deden een experiment. Ze namen een stukje code dat een fout bevatte (een "veiligheidslek", zoals een deur die niet goed sluit). Ze maakten dit stukje code "ongeldig" door er een commentaar bij te zetten (alsof ze het in een la legden), maar ze lieten het wel zichtbaar voor de AI.

Vervolgens vroegen ze de AI: "Maak nu de volgende stap in het programma."

Het resultaat was schokkend:

  • De AI keek naar die "inactieve" slechte code in de la.
  • In plaats van te zeggen: "Oh, dat was een fout, ik doe dat niet," leende de AI de fout.
  • De AI dacht: "Ah, de gebruiker wil dit soort structuur!" en bouwde de nieuwe code met precies dezelfde fout, maar dan als een actieve, werkende deur die niet dichtgaat.

Bijna 60% van de tijd maakte de AI nieuwe fouten omdat hij geobsedeerd was door die oude, slechte notities.

3. De "Geest van de Fout" (Het is niet kopiëren, het is denken)

Je zou denken: "Oh, de AI kopieert gewoon de fout." Maar nee, het is nog slimmer (en gevaarlijker).
Stel je voor dat je de AI een halfvolledig, gebroken raam geeft en zegt: "Kijk, dit raam is kapot." De AI kijkt ernaar en denkt: "Aha, dit is hoe een raam eruit moet zien!" en bouwt een nieuw raam dat ook kapot is, maar dan op een andere manier.

De AI redeneert over de fout. Zelfs als je de helft van de slechte code verwijdert (alsof je de helft van het gebroken raam weghaalt), bouwt de AI het raam toch weer kapot op. Hij vult de gaten zelf in met dezelfde slechte logica.

4. De "Niet-Kijken" Opdracht (Prompt Engineering)

De onderzoekers probeerden een oplossing: "Hey AI, kijk niet naar die oude notities, die zijn fout. Doe alsof ze niet bestaan!"

Het hielp een beetje, maar niet genoeg. Het was alsof je tegen een kind zegt: "Kijk niet naar die rode bal," terwijl je de rode bal vasthoudt. Het kind kijkt er toch naar. De AI kon de fouten niet volledig negeren; de "geest" van de oude fout bleef hangen.

5. De "Ruimte" in de Kamer (Context)

Er is nog een interessante ontdekking over hoe de AI kijkt:

  • Als de oude, slechte notities strak tegen de nieuwe code aan staan, is de AI iets minder snel om de fout over te nemen.
  • Maar als de notities geïsoleerd staan (omringd door witregels, alsof ze in een lege kamer hangen), is de AI juist extra gevoelig. Hij denkt dan: "Oh, dit is een belangrijk, apart idee!" en neemt de fout over met nog meer overtuiging.

Wat betekent dit voor jou?

Dit onderzoek is een waarschuwing voor iedereen die AI gebruikt om te programmeren:

  1. Schoon je werkplek op: Verwijder oude, slechte code-notities uit je bestand. Laat ze niet achter in de "la", want de AI leest ze mee.
  2. Wees kritisch: Als de AI code voorstelt die er verdacht uitziet, kijk dan niet alleen naar de nieuwe code, maar ook naar de oude notities eromheen. Misschien heeft de AI iets "slecht" overgenomen uit het verleden.
  3. AI is niet perfect: Zelfs de slimste AI's kunnen bedrogen worden door wat er in de marge staat. Ze zijn zo goed in het vinden van patronen, dat ze ook slechte patronen overnemen.

Kortom: De AI-assistent is een geweldige bouwer, maar hij is een beetje te goed in het lezen van je oude, vergeten schetsen. Als die schetsen fouten bevatten, bouwt hij die fouten mee in je nieuwe huis.

Verdrinkt u in papers in uw vakgebied?

Ontvang dagelijkse digests van de nieuwste papers die bij uw onderzoekswoorden passen — met technische samenvattingen, in uw taal.

Probeer Digest →