Technical GUIDE
Pass@k Metric Explained
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.
On this page4 min read
Overview
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.
Deep Dive
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.
Strategic Impact
Cost and budget
Architecture decisions drive performance and operating cost for years.
Clearer decisions
Technical education helps teams choose the right stack, not just the newest one.
Quality control
Better engineering choices reduce reliability incidents in production.
The Future of Pass@k Metric Explained
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.
Real-World Implementation
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.
Risks & Guardrails
Optimizing one benchmark can hide broader system weaknesses.
Infrastructure and maintenance costs are often underestimated.
Security and observability gaps can grow as systems become more complex.
Implementation Roadmap
Define latency, quality, and cost targets before implementation.
Benchmark under realistic load and data conditions.
Instrument monitoring for errors, drift, and user impact.
Prepare rollback and incident response paths before scaling.
Keep Exploring
Free newsletter
Keep up with AI in 3 minutes a day
One short email each weekday with the three AI stories that actually matter. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Pass@k Metric Explained quiz
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
Frequently asked questions
What is Pass@k Metric Explained?
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.
What does pass@k measure for a single problem?
Pass@k is the chance that at least one of k attempts succeeds. The benchmark score averages that probability over all problems.
HumanEval, the benchmark introduced with the Codex paper, contains what?
HumanEval has 164 hand-written Python problems, each checked by hidden unit tests.
Why does the Codex paper generate n samples with n larger than k?
Generating exactly k samples gives a noisy estimate. Using n samples and counting c correct ones allows an unbiased estimate with much less variance.
With n samples and c correct, which expression is the unbiased pass@k estimator?
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.
What does pass^k, defined in the tau-bench paper, measure?
Pass^k requires every trial to succeed, so it measures reliability, which matters for agents serving many users.
Keep learning
Related guides
More guides picked for this topic