DevBench: A Realistic, Developer-Informed Benchmark for Code Generation Models

DevBench is een door telemetry gedreven benchmark die Large Language Models evalueert op realistische code-aanvullingstaken om ecologische validiteit te waarborgen en bruikbare inzichten te bieden voor modelselectie en -verbetering.

Pareesa Ameneh Golnari, Adarsh Kumarappan, Wen Wen, Xiaoyu Liu, Gabriel Ryan, Yuting Sun, Shengyu Fu, Elsie Nallipogu

Gepubliceerd Tue, 10 Ma
📖 4 min leestijd☕ Koffiepauze-leesvoer

Each language version is independently generated for its own context, not a direct translation.

Stel je voor dat je een nieuwe chef-kok aan het testen bent voor je restaurant. Je wilt weten of deze kok echt goed kan koken, of dat hij alleen maar recepten uit zijn hoofd heeft geleerd die hij al eens ergens heeft gezien.

Vroeger testten we deze "AI-koks" (de grote taalmodellen die code schrijven) met een simpele test: we gaven ze een recept en keken of het gerecht eruit zag als het origineel. Maar dit had een groot nadeel: de koks hadden die recepten misschien al eerder in hun trainingsboekjes gezien! Ze waren dus niet echt slim, ze waren gewoon goed in memoriseren.

DevBench is de nieuwe, eerlijke proef die Microsoft en het Caltech hebben bedacht. Hier is hoe het werkt, in gewone taal:

1. De "Echte Wereld" Test (Geen Oude Recepten)

In plaats van oude recepten uit een boek te gebruiken, hebben de onderzoekers gekeken naar wat echte mensen doen in hun keuken. Ze hebben gekeken naar 1 miljard keer dat een programmeur code schreef of een suggestie van een AI accepteerde.

Ze zagen waar mensen vastliepen, welke knoppen ze per ongeluk indrukten en welke moeilijke situaties ze tegenkwamen. Vervolgens hebben ze 1.800 nieuwe, unieke scenario's bedacht die lijken op die echte problemen, maar die niemand eerder heeft gezien.

  • De analogie: Het is alsof je de chef-kok niet vraagt om een bekende taart te bakken, maar zegt: "Hier zijn de ingrediënten die we in de koelkast hebben (die net zijn aangekomen), en hier is een klant die een allergie heeft. Maak nu iets lekkers."

2. De Zes Keukens (Talen)

Deze test is niet alleen voor één taal. Het werkt in 6 verschillende keukens (programmeertalen): Python, JavaScript, TypeScript, Java, C++ en C#.
Elke taal heeft zijn eigen regels en smaken. In de ene taal moet je een bloemkool snijden met een mes, in de andere met een speciale schaar. DevBench test of de AI weet welke tool bij welke taal hoort.

3. De Drie Keurmeesters

Hoe weten ze of de AI het goed heeft gedaan? Ze gebruiken drie verschillende manieren om te beoordelen, net als bij een kok:

  1. De Proef (Functionele Correctheid): Werkt het gerecht? Als je het eet, smaakt het goed en is het veilig? In code betekent dit: werkt het programma zonder fouten?
  2. De Vergelijking (Hoeveel lijkt het op het origineel?): Ziet het eruit als wat we verwachtten? Soms is er meer dan één manier om een taart te maken. Als de AI een andere, maar even goede manier kiest, is dat ook goed.
  3. De Menselijke Jury (LLM-Judge): Dit is een slimme AI die kijkt naar de gevoelswaarde. Is dit nuttig voor een echte programmeur? Zou een mens dit gebruiken? Soms is code technisch correct, maar zo rommelig dat niemand het wil gebruiken. Deze jury kijkt naar of de code "handig" is.

4. Wat hebben ze ontdekt?

Toen ze 9 van de slimste AI-modellen op deze test lieten, kwamen ze tot interessante conclusies:

  • Sommige koks zijn beter in het onthouden van patronen: Ze kunnen een bestaand recept perfect nabootsen, maar als je iets nieuws vraagt, raken ze in de war.
  • Sommige koks zijn beter in het begrijpen van de bedoeling: Ze weten waarom je een gerecht maakt, niet alleen hoe.
  • De moeilijkste taak: Het vertalen van menselijke taal (bijv. "maak een knop die rood wordt") naar code bleek voor bijna iedereen de grootste uitdaging.

Waarom is dit belangrijk?

Voor bedrijven die AI willen gebruiken om software te bouwen, is DevBench als een betrouwbare keurmerkgarantie. Het vertelt je niet alleen wie de snelste AI is, maar ook wie de beste AI is voor jouw specifieke situatie.

Het zorgt ervoor dat we niet meer worden misleid door modellen die alleen maar goed zijn in het opzoeken van antwoorden, maar dat we echt modellen kiezen die kunnen denken, plannen en helpen in de echte, chaotische wereld van softwareontwikkeling.

Kortom: DevBench is de eerlijke, realistische proef die zorgt dat we de beste "AI-assistenten" kiezen voor onze werkplek, in plaats van alleen de beste "lerende" robots.