---
term: "HumanEval"
slug: "humaneval"
glossar_id: "G473"
variants: []
category: "namen-haeufig-genannter-benchmarks"
marker: ""
short: "Benchmark für die Erzeugung funktionierender Programme."
sources:
  - label: "Chen et al.: Evaluating Large Language Models Trained on Code"
    url: "https://arxiv.org/abs/2107.03374"
  - label: "Liu et al.: Is Your Code Generated by ChatGPT Really Correct?"
    url: "https://arxiv.org/abs/2305.01210"
status: "entwurf"
updated: "2026-09-21"
---

HumanEval ist ein Satz von 164 handgeschriebenen Programmieraufgaben in Python. Jede Aufgabe besteht aus Funktionssignatur und Beschreibungstext, und bewertet wird nicht die Ähnlichkeit zu einer Musterlösung, sondern ob der erzeugte Code die mitgelieferten Tests besteht. Im Schnitt sind das 7,7 Tests pro Aufgabe. [Chen et al.](https://arxiv.org/abs/2107.03374)

## Mit dem Test kam das Maß pass@k

Dieselbe Arbeit von 2021 hat pass@k etabliert: den Anteil der Aufgaben, für die unter k erzeugten Versuchen mindestens einer die Tests besteht. Der Unterschied ist groß. Das damals untersuchte Modell löste 28,8 Prozent der Aufgaben beim ersten Versuch und 70,2 Prozent, wenn hundert Versuche erlaubt waren.

Die Testabdeckung hat sich später als Schwachstelle erwiesen. Eine Untersuchung von 2023 erweiterte die Tests um das Achtzigfache und fand damit fehlerhaften Code, den die ursprünglichen Tests durchgelassen hatten. Die gemessenen Werte fielen um bis zu 19 bis 29 Prozent, und in einzelnen Fällen kehrte sich die Rangfolge zweier Modelle um. [Liu et al.: EvalPlus](https://arxiv.org/abs/2305.01210)

## So kannst du dir das vorstellen

Eine Bewerbungsaufgabe im Vorstellungsgespräch, mit drei Beispielen zum Ausprobieren. Wer die drei Beispiele trifft, gilt als bestanden, auch wenn der Sonderfall mit der leeren Liste nie geprüft wurde. Das Bild erklärt, warum Testabdeckung über das Ergebnis entscheidet, es spricht dem Verfahren den Nutzen nicht ab.

## Was es in der Praxis konkret bedeutet

Ein HumanEval-Wert sagt heute wenig. Die Aufgaben sind kurze, in sich geschlossene Funktionen, die Modelle liegen nahe beieinander, und der Datensatz ist seit Jahren öffentlich. Wenn du einen Codewert im Vergleich siehst, achte darauf, ob die erweiterte Fassung HumanEval+ gemeint ist und ob pass@1 oder ein höheres k berichtet wird. Für die Frage, ob ein Modell in deinem Projekt arbeiten kann, sind Tests an echten Repositories aussagekräftiger.

## Wo es verwechselt wird

Trotz des Namens bewertet hier kein Mensch. Gemeint ist, dass die Aufgaben von Hand geschrieben wurden statt aus dem Netz gesammelt. Und HumanEval prüft einzelne Funktionen, nicht Änderungen an bestehendem Code, wie es SWE-bench tut.

## Verwandte Begriffe

**Pass@k**, **MBPP**, **SWE-bench**, **LiveCodeBench**, **Benchmark Contamination**, **Code Execution**.
