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

pass@k=Eproblems ⁣[1−(n−ck)(nk)]\mathrm{pass@}k=\mathbb{E}_{\text{problems}}\!\left[1-\frac{\binom{n-c}{k}}{\binom{n}{k}}\right]

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

  1. 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)
  2. OpenAI, repozytorium HumanEval(stan na 2026-10-10)
  3. Jain i in., „LiveCodeBench: Holistic and Contamination Free Evaluation of Large Language Models for Code" (arXiv:2403.07974)(stan na 2026-10-10)
  4. Aider, „Aider LLM Leaderboards" — żywe leaderboardy, w tym Polyglot(stan na 2026-10-10)
  5. Aider, „o1 tops aider’s new polyglot leaderboard" — opis benchmarku Polyglot(stan na 2026-10-10)
pass@k — ashigiri