Position: Coding Benchmarks Are Misaligned with Agentic Software Engineering
Het artikel betoogt dat huidige programmeerbenchmarks niet in lijn zijn met agentic software engineering omdat ze modelprestaties verwarren met componenten van de systeemharnas, geldige alternatieve oplossingen bestraffen door te vertrouwen op een enkel referentieantwoord, en de granulaire feedback missen die noodzakelijk is voor iteratieve systeemverbetering.
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
Het Grote Idee: We Beoordelen het Verkeerde
Stel je voor dat je probeert te beoordelen hoe goed een kok is in het bereiden van een complex gerecht.
Momenteel is de manier waarop we coderings-"agenten" (AI-systemen die software schrijven) testen als volgt: Je geeft de kok een enkel, vooraf geschreven recept (de "referentie-oplossing"). De kok probeert het gerecht te bereiden. Als het eindresultaat er exact uitziet als de foto in het kookboek, krijgt de kok een perfect cijfer. Als de kok een heerlijk, gezond en creatief gerecht maakt dat zelfs beter smaakt, maar er iets anders uitziet, krijgt hij een lage score.
De auteurs van dit paper stellen dat dit een gebrekkig systeem is. Ze zeggen dat we niet alleen de kok (het AI-model) testen, maar de volledige keukenopstelling (de "system harness"), die de kookplaat, de gereedschappen, de ingrediënten en de instructies omvat.
Het Kernprobleem: De "Keuken" versus de "Kok"
Het paper maakt een cruciaal onderscheid:
- Het Model (De Kok): Dit is de AI-hersenen die de code genereren.
- De System Harness (De Keuken): Dit is de complexe omgeving waarin de AI leeft. Het bevat de tools die het gebruikt, de context die het leest, de regels die het volgt en de feedbackloops die aangeven of er een fout is gemaakt.
De Analogie:
Beschouw een coderingsagent als een Formule 1-raceauto.
- Het Model is de motor.
- De System Harness is het chassis, de banden, de aerodynamica, de pitcrew en de strategie van de coureur.
Huidige benchmarks zijn als een race waarbij je alleen naar de eindtijd kijkt en zegt: "Deze motor is snel!" Maar het paper wijst erop dat als je de banden of de strategie van de coureur verandert (de harness), de auto 20% sneller of langzamer kan gaan, zelfs met exact dezelfde motor.
De auteurs laten zien dat in realistische tests het veranderen van de "keukenopstelling" (de harness) de resultaten net zo sterk beïnvloedt als het upgraden van de "kok" (het AI-model) naar een nieuwere versie. Toch behandelen onze huidige tests het resultaat alsof het alleen over het talent van de kok gaat.
Drie Symptomen van het Gebroken Systeem
Het paper identificeert drie specifieke manieren waarop onze huidige testmethoden niet in lijn zijn met de realiteit:
1. Het Vervagen van de Grenzen (Conflatie)
De Analogie: Stel je voor dat een student een wiskundetoets maakt. Hij krijgt een score van 80%. We nemen aan dat de student slim is. Maar wat als de student een rekenmachine, een spiekbriefje en een bijlesdocent had die antwoorden fluisterde? Als we niet rapporteren hoe ze die 80% haalden, kunnen we niet weten of de student echt slim is of dat de hulpmiddelen het werk hebben gedaan.
De Bewering van het Paper: Huidige benchmarks rapporteren een enkele score (bijv. "Model X is 65% accuraat"). Ze vertellen je niet welke tools of omgeving werden gebruikt. Dit maakt het onmogelijk om te weten of de AI echt slimmer wordt, of dat de "keuken" gewoon beter is geworden.
2. De "Eén Juist Antwoord"-val (Enkele Referentie)
De Analogie: Stel je voor dat je een timmerman vraagt om een tafel te bouwen. Je hebt een foto van een specifieke tafel die je wilt.
- Scenario A: De timmerman bouwt een tafel die stevig, mooi en functioneel is, maar een iets andere houtnerf gebruikt dan op je foto.
- Scenario B: De timmerman bouwt een tafel die er exact uitziet als op je foto, maar die wankelt en uit elkaar valt.
Huidige benchmarks zouden Scenario B een perfect cijfer geven en Scenario A een falende score, omdat het niet exact overeenkomt met de foto.
De Bewering van het Paper: Echte software engineering gaat niet over het kopiëren van één specifieke oplossing. Het gaat over het oplossen van een probleem op de best mogbare manier. Door de AI te dwingen een enkele "gouden standaard" codefragment te imiteren, straffen we creatieve, geldige en vaak betere oplossingen af. We testen of de AI in staat is om een specifieke patch te imiteren, niet of het de oplossing voor het probleem kan vinden.
3. De Black Box (Geen Componentsignaal)
De Analogie: Stel je voor dat je auto pech heeft. Je brengt hem naar een monteur die zegt: "De auto is kapot." Dat is een "end-to-end" score. Het vertelt je iets is er mis, maar het vertelt je niet wat. Is het de accu? De banden? De motor?
De Bewering van het Paper: Wanneer een coderingsagent een test niet doorstaat, zeggen huidige benchmarks simpelweg "Gefaald". Ze vertellen je niet waarom. Begreep de AI de instructies niet? Faalden de tools? Crashte de omgeving? Zonder te weten welk deel van de "keuken" faalde, kunnen ontwikkelaars het systeem niet repareren. Ze blijven gissen.
Wat Moeten We In Plaats Daarvan Doen?
De auteurs stellen drie veranderingen voor om dit op te lossen:
- Rapporteer het Volledige Recept: Bij het publiceren van testresultaten moeten we elk hulpmiddel, elke omgeving en elke instelling vermelden. We moeten weten of de score kwam van een geniale AI of een superkrachtige keuken.
- Beoordeel op Gedrag, Niet op Uiterlijk: In plaats van te controleren of de code eruitziet als de "gouden standaard", moeten we controleren of de code werkt en de regels volgt (zoals veiligheidscontroles of designpatronen). Er moeten veel manieren zijn om een probleem op te lossen, en de test moet elke geldige oplossing accepteren.
- Test de Onderdelen, Niet Alleen het Geheel: We moeten het systeem opdelen. Test het vermogen van de AI om instructies te lezen apart van het vermogen om tools te gebruiken. Dit helst ons om het specifieke kapotte onderdeel te repareren in plaats van te gissen.
De Kern van het Verhaal
Het paper betoogt dat we proberen de toekomst van software engineering (complexe, autonome AI-systemen) te meten met instrumenten die ontworpen zijn voor het verleden (eenvoudige, eenmalige codegeneratie).
Om vooruit te komen, moeten we stoppen met het behandelen van het AI-model als het enige dat ertoe doet. We moeten beginnen met het meten van het gehele systeem — de tools, de regels en de feedbackloops — want in de echte wereld is dat wat het werk daadwerkelijk verricht. Tot die tijd zullen onze ranglijsten en scores misleidend zijn.
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.