Characterizing the Quality Profile of AI-Generated C++ in Production
Deze grootschalige empirische studie van 3,52 miljoen C++-wijzigingen in een productieomgeving onthult dat door AI gegenereerde code specifieke inefficiënties en hogere respectievelijk kosten voor middelen introduceert in vergelijking met door mensen geschreven code, maar toont aan dat gerichte, op een taxonomie gebaseerde feedback deze kwaliteits- en prestatieproblemen effectief kan mitigeren.
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 de software voor die onze wereld aanstuurt—apps op je telefoon, de systemen die je favoriete games aandrijven, de onzichtbare motoren achter het wereldwijde bankwezen—als een enorme, bruisende stad. Decennialang werd deze stad volledig gebouwd door menselijke architecten en bouwploegen, die strikte blauwdrukken volgden om ervoor te zorgen dat elke brug het gewicht kon dragen en elke pijp water kon vervoeren zonder te lekken. Maar onlangs is er een nieuw soort helper gearriveerd: Kunstmatige Intelligentie. Zie AI als een supersnelle, ongelooflijk enthousiaste leerling-gezel die in enkele seconden blauwdrukken kan opstellen. Het is geweldig voor de snelheid, maar omdat het leert van een enorme bibliotheek met oude plannen, kopieert het soms patronen die er op papier prima uitzien, maar in de echte wereld eigenlijk inefficiënt of lomp zijn. De grote vraag voor ingenieurs is niet alleen "Kan de AI het bouwen?", maar "Zal het gebouw blijven staan, soepel draaien en geen energie verspillen zodra het open is voor het publiek?" Dit is de kern van het verhaal dat we gaan verkennen: een diepe duik in hoe door AI geschreven code daadwerkelijk presteert in de echte, risicovolle wereld van productie-software.
Dit artikel is als een enorme, jaarlijkse detective-story uitgevoerd door een team van ingenieurs bij een groot technologiebedrijf. Ze wilden zien wat er gebeurt als AI helpt bij het schrijven van de code voor de enorme systemen die dagelijks door miljarden mensen worden gebruikt. In plaats van alleen te controleren of de code werkt (crasht de app?), keken ze naar het "kwaliteitsprofiel" van de code: Is het slordig? Gebruikt het te veel computerkracht? Maakt het de software trager of duurder om te draaien?
De onderzoekers volgden meer dan 3,5 miljoen codeveranderingen die werden gemaakt tussen april 2025 en april 2026. Ze ontdekten dat AI een enorm deel van het werk deed—bijna 70% van de code met een bekende oorsprong was aan het einde van de studie door AI gegenereerd. Maar hier is de wending: hoewel de AI snel was, had het een duidelijke "persoonlijkheid" die specifieke problemen veroorzaakte.
Denk aan AI-gegenereerde code als een student die, wanneer gevraagd wordt een wiskundeprobleem op te lossen, besluit om elke stap van de berekening met de hand uit te schrijven, ook al is er een snelle formule die iedereen gebruikt. Het artikel vond dat AI-code in C++ (een taal die wordt gebruikt voor high-performance systemen) de neiging had om:
- Simpele dingen te compliceren: In plaats van een standaard, efficiënt hulpmiddel (zoals een vooraf gemaakte functie) te gebruiken, schreef de AI vaak zijn eigen lange, expliciete loops. Het was alsof je een op maat gemaakte wiel voor een auto bouwde terwijl een standaard band perfect zou hebben gewerkt.
- Te veel te kopiëren en plakken: De AI had de neiging om onnodig gegevens te dupliceren, wat is als het inpakken van een koffer met drie identieke paar schoenen voor het geval dat. Dit verspilde geheugen en rekenkracht.
- "Koppelings"-lasten te creëren: De code verbond de verschillende delen van het systeem vaak te nauw met elkaar, waardoor het later moeilijker wordt om iets te repareren of bij te werken zonder iets anders te breken.
Dit waren niet zomaar kleine, onzichtbare foutjes. Ze hadden echte wereldkosten. De studie vond dat code die voornamelijk door AI is geschreven, ongeveer 5-8% meer computerbronnen (zoals CPU-kracht en geheugen) gebruikte dan code die voorn{%om} voornamelijk door mensen is geschreven. Het kostte ook meer inspanning voor menselijke reviewers om het te repareren, waarbij AI-gegenereerde wijzigingen bijna twee keer zoveel blokkerende opmerkingen (feedback die het indienen van de code stopt) ontvingen en langer duurden om te mergen.
Echter, het verhaal eindigt niet met de conclusie "AI is slecht". De onderzoekers ontdekten dat de AI niet kapot was; het was alleen ongeleid. Wanneer ze de AI specifieke feedback gaven op basis van een "taxonomie" (een gecategoriseerde lijst van de meest voorkomende fouten, zoals "stop met het onnodig kopiëren van gegevens" of "gebruik de standaardbibliotheek"), verbeterde de AI spectaculair. In een test verminderde deze gerichte feedback specifieke 'static analysis warnings' met 11,1% en verbeterde het de efficiëntiescore van de code met 31%.
Dus, wat is het eindoordeel? Het artikel suggereert dat AI-gegenereerde code niet inherent gevaarlijk of kapot is, maar dat het een voorspelbare "stijl" heeft die neigt naar inefficiëntie en overbodige uitgebreidheid. Het goede nieuws is dat we dit kunnen oplossen. Door deze specifieke patronen te begrijpen en de AI betere instructies te geven, kunnen we de snelheidswinst van AI behouden terwijl we ervoor zorgen dat de software snel, efficiënt en gemakkelijk te onderhouden blijft. De studie bewijst dat we met de juiste feedbackloops de AI-gezel kunnen leren om niet alleen snel, maar ook slim te bouwen.
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.