Deterministycznystan na 11 października 2026
pass@k
aliasy: pass rate@kpass@1pass@10pass@100
Prawdopodobieństwo, że wśród k wygenerowanych próbek znajdzie się co najmniej jedna przechodząca testy. Standard ewaluacji generowania kodu, wprowadzony w pracy o Codex i HumanEval.
Co mierzy
Mierzy poprawność funkcyjną generacji kodu: dla każdego zadania model losuje n próbek, a metryka szacuje szansę, że w dowolnym podzbiorze k próbek jest choć jedna poprawna. Estymator bez podmiany (bez zwracania) z pracy o Codex jest nieobciążony i wymaga, by co najmniej k próbek było błędnych (c ≤ n − k). pass@k nagradza niezawodność na poziomie „czy w ogóle umie rozwiązać", a nie średnią jakość pojedynczej próbki.
Wzór
Wejścia
- n próbek kodu na zadanie
- zbiór testów jednostkowych (hidden tests)
Wyjścia
- prawdopodobieństwo co najmniej jednej poprawnej próbki w k
- estymata w [0,1]
Używany w
Typowe pułapki
- Wynik zależy jednocześnie od k i n — pass@1 i pass@100 to różne metryki; bez podania obu parametrów liczby są nieporównywalne.
- Estymator wymaga c ≤ n − k; przy małej liczbie próbek wariancja rośnie i rankingi stają się niestabilne.
- Nie nagradza efektywności: jedna poprawna próbka na tysiąc liczy się tak samo jak jedna na jedną.
- „Pass" definiują testy — ich liczba i jakość (np. kilka testów na zadanie w HumanEval) ograniczają wiarygodność oceny poprawności.
- Wynik potrafi zależeć od post-processingu (np. wycinania bloków kodu z generacji przed ewaluacją), co utrudnia reprodukcję.
Źródła
- Chen i in., „Evaluating Large Language Models Trained on Code" (arXiv:2107.03374) — definicja pass@k i estymator nieobciążony(stan na 2026-10-10)
- OpenAI, repozytorium HumanEval(stan na 2026-10-10)
- Jain i in., „LiveCodeBench: Holistic and Contamination Free Evaluation of Large Language Models for Code" (arXiv:2403.07974)(stan na 2026-10-10)
- Aider, „Aider LLM Leaderboards" — żywe leaderboardy, w tym Polyglot(stan na 2026-10-10)
- Aider, „o1 tops aider’s new polyglot leaderboard" — opis benchmarku Polyglot(stan na 2026-10-10)