De realiteitscheck: code van LLM's versus menselijke engineers



Smiling person in layered hair w/eyelashes,gesturing

Zoia Baletska

16 december 2025

adzn2r.webp

LLM's en “AI-ondersteund programmeren” veranderen in hoog tempo hoe we software maken. Autocomplete, boilerplate genereren, refactoren — veel teams leunen er dagelijks op. Maar betekent dat ook dat we LLM's complexe taken uit de echte wereld kunnen toevertrouwen, zoals ervaren engineers dat doen?

De onderzoekers achter dit paper kozen een stevige proef om die vraag te beantwoorden: ze lieten agents geschreven door LLM's het opnemen tegen agents geschreven door mensen in een competitieve logistieke simulatie met veilingen, routeplanning en capaciteitsbeperkingen — een benchmark die het Auction, Pickup, and Delivery Problem (APDP) heet.

Oftewel: dit waren geen speelgoedproblemen. Dit was strategisch plannen + optimaliseren + concurreren — precies het soort complexiteit waar veel softwareteams in echte systemen mee te maken hebben (denk aan toeleveringsketens, capaciteitsplanning, vlootroutering, dynamische load balancing).

Wat ze getest hebben

  • 40 verschillende door LLM's geschreven agents (uiteenlopende modellen en promptstrategieën) tegenover 17 door mensen geschreven agents (masterstudenten informatica plus een aantal basisagents).

  • Tientallen volledige rondes (iedereen tegen iedereen), over verschillende netwerktopologieën en willekeurig gegenereerde opdrachten.

  • Beoordeeld op winstgevendheid: optimaal bieden, efficiënt routeren, capaciteitsgrenzen respecteren en strategisch beslissen onder onzekerheid.

De uitkomst

  • De door mensen geschreven agents domineerden: de top 5 bestond altijd uit mensen.

  • De meeste door LLM's gegenereerde agents (33 van de 40) presteerden slechter dan zelfs de simpelste basisstrategieën.

  • Zelfs toen het beste menselijke antwoord werd voorgelegd met de vraag het te “verbeteren”, maakte het beste LLM het slechter — het eindigde als tiende.

Conclusie: LLM's zijn indrukwekkend in het genereren van syntactisch correcte code (het autocomplete-niveau), maar schieten nog altijd tekort zodra het gaat om redeneren, strategie en problemen met meerdere spelers.

Wat dit betekent voor ontwikkelteams en cloud-native bouwers

Werk je aan cloud-native, gedistribueerde of complexe systemen, dan zitten hier een paar belangrijke consequenties in:

  1. Verwar “werkt op zichzelf” niet met “werkt onder complexiteit”. LLM's helpen prima bij een opzet, boilerplate of simpele functies — maar echte diensten bevatten concurrency, gedistribueerde coördinatie, optimalisatie en randgevallen.

  2. AI-ondersteund coderen is geen architectuur of logisch denkwerk. Tools laten je sneller schrijven — maar ze vervangen (nog) geen doordacht systeemontwerp, algoritmisch redeneren of strategische keuzes.

  3. Tests en benchmarks doen ertoe. Veel LLM-benchmarks leunen op geslaagde unittests of kleine opgaven. Zoals dit onderzoek laat zien, zegt goed presteren op speelgoedtaken niets over levensvatbaarheid in productieachtige situaties.

  4. Menselijk toezicht blijft cruciaal. Gegenereerde code moet zorgvuldig gereviewd, doorgemeten en onder echte omstandigheden getest worden (belasting, randgevallen, storingsscenario's) — zeker als er veel op het spel staat.

Hoe je dit inzicht gebruikt (als je cloud-native of complexe systemen bouwt)

Toepassing

Opzet en boilerplate

no image placeholder

Complexe logica en bedrijfsregels

no image placeholder

Optimalisatie- en planningsdiensten

no image placeholder

Kritieke productiesystemen (veerkracht, security, compliance)

no image placeholder

Teamproductiviteit en inwerken

no image placeholder

Wat je doet

Zet LLM's (of AI-tools) in voor routineklussen: skeletten van services, configuraties, simpele refactors. Scheelt veel tijd.

no image placeholder

Laat je kernlogica, orkestratie en strategie door mensen doen — behandel gegenereerde code als concept, niet als eindproduct.

no image placeholder

Schrijf en onderhoud het zelf. Gebruik LLM's alleen voor hulpcode (wrappers, configuraties), niet voor je kernalgoritmes.

no image placeholder

Vertrouw gegenereerde code niet blind. Combineer met grondige review, geautomatiseerde tests en echte stresstests.

no image placeholder

Zet LLM's in om nieuwe teamleden op weg te helpen — maar combineer dat met begeleiding, peer review en gedeelde kennis.

no image placeholder

Kortom: behandel LLM's als krachtige assistenten, niet als zelfstandige developers.

Kanttekeningen en wat dit onderzoek níét laat zien

Het is eerlijk om ook de grenzen van dit onderzoek te benoemen:

  • De benchmark (APDP) beslaat één domein — logistieke optimalisatie met veilingen en routering. In andere domeinen (webontwikkeling, CRUD, datapijplijnen) kan het anders uitpakken.

  • LLM's ontwikkelen zich snel. De gebruikte modellen kunnen inmiddels alweer verouderd zijn; nieuwere presteren mogelijk anders.

  • De menselijke deelnemers hadden het voordeel dat ze het domein diep begrepen — een luxe die je niet altijd hebt.

De bevindingen zijn dus relevant, maar geen eindoordeel over het nut van LLM's. Ze laten zien waar LLM's vandaag worstelen — en waar mensen nog steeds voorop lopen.

Hoe wij er bij ZEN naar kijken

Bij ZEN geloven we in de combinatie van menselijke expertise + slimme tools + cloudinfrastructuur om robuuste, schaalbare en onderhoudbare systemen te leveren.

Dit onderzoek herinnert ons eraan dat:

  • AI-tools precies dat zijn — gereedschap, geen vervanging

  • bij bedrijfskritische systemen architectuur, redeneren en menselijk oordeel onvervangbaar blijven

  • de echte waarde van LLM's zit in het versterken van je productiviteit, niet in het vervangen van je begrip

Bouw je complexe cloud-native systemen, gedistribueerde diensten of backends met zware optimalisatie? Ontwerp behoedzaam, test grondig, en zet AI in als assistent, niet als automatische piloot.

Bron: Danassis, P., & Goel, N. (2025). Can Vibe Coding Beat Graduate CS Students? An LLM vs. Human Coding Tournament on Market-driven Strategic Planning. arXiv preprint arXiv:2511.20613.

no image placeholder

Geef je softwareontwikkeling een Boost!