A Large-Scale Comprehensive Measurement of AI-Generated Code in Real-World Repositories A Large-Scale Comprehensive Measurement of AI-Generated Code in Real-World Repositories
Dit artikel presenteert een grootschalige empirische studie naar AI-genererde code in real-world repositories, waarbij met behulp van een nieuw ontwikkelde filter met LLM-classificatie wordt onderzocht hoe deze code qua complexiteit, structuur en stabiliteit verschilt van menselijk geschreven code.
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
Stel je voor dat softwareontwikkeling een enorme bouwplaats is waar miljoenen huizen (apps en programma's) worden gebouwd. Vroeger bouwden alleen mensen deze huizen, steen voor steen. Maar nu hebben we een nieuwe soort bouwvakker: AI (kunstmatige intelligentie). Deze AI kan razendsnel muren optrekken en ramen plaatsen.
Deze paper is als een gigantische inspectie van bouwprojecten over de hele wereld. De onderzoekers wilden niet kijken naar wat de AI zou kunnen bouwen in een testlokaal, maar ze wilden kijken naar de huizen die echt zijn gebouwd en bewoond. Ze hebben gekeken naar bijna 20.000 bestanden met AI-code en vergeleken die met bestanden die door mensen zijn geschreven.
Hier is wat ze hebben ontdekt, vertaald naar alledaagse taal:
1. De "AI-Bouwstijl": Alles is groots en gedetailleerd
Als je kijkt naar de huizen die door AI zijn gebouwd, valt er één ding direct op: ze zijn overdreven groot en gedetailleerd.
- De Analogie: Stel je voor dat je iemand vraagt om een deur te maken. Een mens maakt een stevige deur van 10 planken. De AI maakt een deur van 15 planken, met extra scharnieren, een ingewikkeld slot en een decoratieve rand, terwijl de basisfunctie precies hetzelfde is.
- De bevinding: AI-code is vaak "verbaal" (veel woorden) en gebruikt meer regels dan nodig. Het is niet per se fout, maar het is niet zo compact als menselijke code. Mensen zijn beter in het "samenvatten" van ideeën; AI legt alles stap voor stap uit, alsof het een instructieboekje schrijft in plaats van een gebouwd huis.
2. De Bouwstijl: Stapelen vs. Samenvoegen
- Mensen: Mensen bouwen vaak met "hergebruik". Ze maken één mooie, sterke trap en gebruiken die in elke verdieping. Ze bouwen complexe structuren die goed op elkaar aansluiten.
- AI: De AI bouwt liever nieuwe trappen voor elke verdieping. Het is alsof de AI denkt: "Ik ga een nieuwe trap maken voor elke kamer," in plaats van één centrale trap te gebruiken.
- Het gevolg: De code van de AI is vaak "versnipperd". Het werkt wel, maar het is minder elegant en moeilijker om later aan te passen omdat er zoveel losse onderdelen zijn.
3. De "Bouwkwaliteit": Veiligheid en Gaten
Is de AI-bouw veiliger of gevaarlijker?
- De bevinding: De AI maakt niet meer catastrofale fouten (zoals een instortend dak) dan mensen. Maar, de AI laat wel vaker kleine "lekken" achter.
- De Analogie: Een mens bouwt een huis met één slechte deur. De AI bouwt een huis met 100 deuren, waarvan 10 niet helemaal dicht gaan. Het zijn geen grote gaten, maar het zijn wel veel kleine veiligheidsrisico's (zoals wachtwoorden of sleutels die per ongeluk zichtbaar blijven).
- Specifiek: In programmeertalen zoals JavaScript (een populaire taal voor webapps) zijn deze kleine lekken bij AI-code veel vaker te vinden dan bij menselijke code.
4. Het Bouwproces: Snelle starts, maar langere afwerking
Hoe werkt het samenwerken met AI in de praktijk?
- De "Snelle Start": Mensen gebruiken de AI vaak voor kleine, snelle klusjes. Ze laten de AI een raam plaatsen of een muur schilderen. Dit gebeurt vaak buiten kantoortijden (in de avond of weekend), alsof de AI de "avondklusjes" doet.
- De "Lange Afwerking": Dit is het verrassende deel. Hoewel de AI snel begint, duurt het langere tijd voordat het werk echt klaar is.
- Als een mens een raam plaatst, is het vaak binnen een paar dagen goed.
- Als de AI een raam plaatst, komen er vaak nog andere mensen langs om het na te kijken, aan te passen of te verbeteren. Het werk blijft "in beweging" veel langer.
- De les: AI maakt het begin sneller, maar het zorgt ervoor dat er later meer tijd nodig is om het werk te "stabiliseren" en op te ruimen.
5. Samenvatting: Wat betekent dit voor ons?
De onderzoekers concluderen dat AI niet zomaar "beter" of "slechter" is, maar dat het de manier waarop we bouwen verandert.
- Voor de bouwer (de programmeur): Je moet niet denken dat AI je werk volledig voor je doet. Je moet verwachten dat je meer tijd kwijt bent aan het "opruimen" en "samenvoegen" van wat de AI heeft gemaakt. Het is alsof je een snelle schets krijgt van een architect, maar jij moet er nog wel de echte, strakke lijnen in trekken.
- Voor de AI-maatschappijen: Hun tools zijn goed in het snel produceren van inhoud, maar ze moeten leren om te denken aan de "lange termijn": hoe maak je de code netter, minder versnipperd en makkelijker te onderhouden?
Kortom: AI is als een zeer snelle, maar soms wat overdreven assistent. Hij kan in een flits een hele kamer inrichten, maar als je niet oplet, heb je overal losse kastjes staan die je later zelf weer moet opbouwen tot één mooi geheel. De kunst is om die assistent te gebruiken voor de snelle klusjes, maar zelf de regie te houden over de structuur.
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.