ДаліНаступний посібник
RAG Evaluation Metrics and RAGAS
технічний
Технічний КЕРІВНИЦТВО
Pass@k is the probability that at least one of k sampled attempts from a model solves a problem, usually checked by running hidden unit tests on generated code.
It matters because code and agent benchmarks report it constantly, and a pass@10 or pass@100 score can look far better than what a user gets from a single try.
Pass@k grew out of program synthesis research, where Kulal and colleagues used it in 2019 for pseudocode-to-code tasks, and it became standard with OpenAI's 2021 Codex paper, which introduced HumanEval, a set of 164 hand-written Python programming problems. For each problem the model writes a function, and the function counts as correct only if it passes hidden unit tests. Pass@k asks: if you drew k samples, what is the chance that at least one passes? The benchmark score is that probability averaged over all problems. The naive method is to generate exactly k samples per problem and check whether any pass, but that estimate is very noisy. The Codex paper instead generates n samples, where n is larger than k (for example 200), counts the c correct ones, and computes the probability that a random subset of k samples contains at least one correct sample: 1 minus C(n minus c, k) divided by C(n, k). This estimator is unbiased and far less variable. The shortcut of plugging c/n into 1 minus (1 minus p) to the power k is biased. Sampling temperature matters. Pass@1 is usually best at low temperature, while pass@100 benefits from higher temperature because more diverse samples raise the chance that one works. Papers often pick a different temperature for each k. Agent benchmarks added a complementary metric. The tau-bench paper from Sierra (2024) defined pass^k, the probability that all k independent trials succeed. It measures reliability rather than capability. Common misreadings include comparing one model's pass@10 with another's pass@1, forgetting that pass@k assumes something already knows which sample is correct, and treating greedy-decoding pass@1 as identical to sampled pass@1. Weak unit tests inflate every pass@k number, which is why EvalPlus added many more tests to HumanEval and saw scores drop.
Архітектурні рішення збільшують продуктивність і експлуатаційні витрати протягом багатьох років.
Технічна освіта допомагає командам вибрати правильний стек, а не лише найновіший.
Кращий інженерний вибір зменшує проблеми з надійністю у виробництві.
As models move from single completions to multi-step agents, reliability measures such as pass^k and run-to-run consistency are getting more attention alongside pass@k, because users experience one attempt, not the best of many. Benchmark authors are also investing in stronger test suites, since weak tests let incorrect code pass and inflate every metric. Careful reports should state k, sample count, temperature and whether any selection step was used, but practice varies, so readers should keep checking those details rather than assuming them.
A team evaluating a code model on HumanEval samples 200 completions per problem, counts how many pass the tests, and reports pass@1, pass@10 and pass@100 from that one set of samples using the unbiased estimator.
An editor autocomplete that shows one suggestion should be judged by pass@1, while a tool that generates five candidates and runs your test suite to pick a working one is closer to a pass@5 situation.
A customer-support agent that succeeds on 75 percent of trials looks strong on pass@k, but if trials are independent its pass^4 score (all four trials succeed) is only about 0.32, which shows how unreliable it would feel across repeated use.
A competitive programming system generates many candidate programs, filters them against the example tests, and submits a small number; its reported solve rate depends on how many submissions were allowed, which is a pass@k-style budget.
Оптимізація одного тесту може приховати ширші слабкі сторони системи.
Витрати на інфраструктуру та обслуговування часто недооцінюються.
Прогалини в безпеці та спостережуваності можуть зростати в міру ускладнення систем.
Визначте цільові показники затримки, якості та вартості перед впровадженням.
Тест за реалістичних умов навантаження та даних.
Моніторинг інструментів на наявність помилок, дрейфу та впливу користувача.
Перед масштабуванням підготуйте шляхи відкату та реагування на інциденти.
Free newsletter
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
Pass@k is the probability that at least one of k sampled attempts from a model solves a problem, usually checked by running hidden unit tests on generated code. It matters because code and agent benchmarks report it constantly, and a pass@10 or pass@100 score can look far better than what a user gets from a single try.
Pass@k is the chance that at least one of k attempts succeeds. The benchmark score averages that probability over all problems.
HumanEval has 164 hand-written Python problems, each checked by hidden unit tests.
Generating exactly k samples gives a noisy estimate. Using n samples and counting c correct ones allows an unbiased estimate with much less variance.
It is one minus the probability that a random k-subset contains only incorrect samples. C(c, k)/C(n, k) is the pass^k estimator, and the power-k shortcut is biased.
Pass^k requires every trial to succeed, so it measures reliability, which matters for agents serving many users.
Продовжуйте вчитися
Інші посібники, вибрані для цієї теми
ДаліНаступний посібник
RAG Evaluation Metrics and RAGAS
технічний