HumanEval

HumanEval

HumanEval ist ein Test mit 164 kleinen Programmieraufgaben, mit dem geprüft wird, wie gut ein KI-System selbst Programmcode schreiben kann. Der Code gilt nur dann als richtig, wenn er automatisch ausgeführt wird und dabei alle vorgegebenen Prüffälle besteht.

HumanEval ist eine Sammlung von 164 kleinen Programmieraufgaben. Sie dient als Prüfung für Computerprogramme, die selbst Programmcode schreiben können. Jede Aufgabe besteht aus dem Anfang eines Programms und einer kurzen Beschreibung in normalem Englisch, zum Beispiel: „Gib die kleinste Zahl aus einer Liste zurück.“ Das KI-System soll den Rest der Lösung ergänzen. Anschließend wird die Lösung tatsächlich auf einem Rechner ausgeführt und mit vorbereiteten Testfällen geprüft. Nur wer alle Tests besteht, bekommt den Punkt — halb richtig zählt nicht. Veröffentlicht wurde die Sammlung 2021 von der Firma OpenAI.

Warum ausgeführter Code ehrlicher misst als Textvergleich

Viele Prüfungen für KI-Systeme vergleichen die Antwort mit einer Musterlösung Wort für Wort. Bei Programmcode funktioniert das schlecht. Zwei Programme können völlig verschieden aussehen und trotzdem dasselbe tun. Umgekehrt kann ein Programm der Musterlösung stark ähneln und trotzdem abstürzen. HumanEval umgeht das Problem, indem es den Code einfach laufen lässt.

Damit wurde HumanEval jahrelang zur Standardreferenz. Wenn ein Unternehmen ein neues Sprachmodell vorstellte, stand die HumanEval-Punktzahl fast immer in der Pressemitteilung. Die übliche Kennzahl heißt pass@1: Der Anteil der Aufgaben, die das Modell schon beim ersten Versuch korrekt löst. Es gibt auch pass@10, wo das Modell zehn Vorschläge machen darf und einer davon stimmen muss.

Der Fortschritt lässt sich an diesen Zahlen gut ablesen. Das erste Codex-Modell von 2021 schaffte rund 28 Prozent bei pass@1. Heutige Spitzenmodelle liegen über 90 Prozent. Genau das ist inzwischen das Problem: Ein Test, den fast alle bestehen, unterscheidet niemanden mehr.

Vom Funktionsrumpf zum Testlauf

Der Ablauf ist bei jeder Aufgabe gleich. Die KI bekommt einen sogenannten Funktionsrumpf: den Namen der gesuchten Funktion, die erwarteten Eingaben und einen Kommentar, der die Aufgabe beschreibt. Eine Funktion ist dabei einfach ein benannter Baustein eines Programms, den man später wieder aufrufen kann. Die KI ergänzt den fehlenden Teil.

Danach startet ein Prüfprogramm die erzeugte Funktion mit verschiedenen Beispielwerten. Es vergleicht jedes Ergebnis mit dem, was herauskommen müsste. Diese Prüfläufe passieren in einer abgeschotteten Umgebung, damit fehlerhafter oder gefährlicher Code dem Testrechner nichts anhaben kann. Alle Aufgaben sind in der Programmiersprache Python geschrieben.

Wichtig ist ein Detail bei der Entstehung: Die Aufgaben wurden von Menschen von Hand geschrieben, nicht aus dem Internet gesammelt. Das war Absicht. Hätte man sie aus öffentlichen Code-Sammlungen kopiert, stünden sie vermutlich schon im Trainingsmaterial der Modelle. Ein Modell könnte die Lösung dann auswendig kennen, statt sie zu erarbeiten. Genau dieser Verdacht trifft HumanEval heute trotzdem, weil die Aufgaben seit Jahren frei im Netz stehen.

HumanEval-Zahlen in Modellankündigungen lesen

Am häufigsten trifft man den Begriff in Meldungen über neue KI-Modelle. Dort stehen Balkendiagramme mit Werten wie „HumanEval: 92,0 %“. Solche Zahlen sollte man mit Vorsicht lesen. Verschiedene Anbieter testen unterschiedlich, etwa mit mehreren Versuchen oder mit zusätzlichen Hinweisen im Prompt, also in der Eingabe an das Modell.

Ein zweiter Vorbehalt betrifft den Schwierigkeitsgrad. HumanEval-Aufgaben sind kurz und in sich abgeschlossen, meist ein paar Zeilen lang. Echte Softwareentwicklung bedeutet dagegen, sich in ein Projekt mit tausenden Dateien einzuarbeiten. Ein hoher HumanEval-Wert sagt also wenig darüber, ob eine KI im Berufsalltag nützlich ist.

Deshalb sind neuere Tests dazugekommen. MBPP enthält ähnliche Kleinaufgaben, SWE-bench dagegen echte Fehlerberichte aus großen Open-Source-Projekten. HumanEval verschwindet trotzdem nicht aus den Tabellen. Es ist inzwischen eher ein historischer Vergleichsmaßstab: nützlich, um Modelle über die Jahre einzuordnen, aber allein nicht mehr aussagekräftig.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.