概述
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.
戰略影響
成本與預算
多年來,架構決策決定著效能和營運成本。
更明確的決策
技術教育幫助團隊選擇正確的堆疊,而不僅僅是最新的堆疊。
品質管控
更好的工程選擇可以減少生產中的可靠性事故。
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.
現實世界的實施
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
Get the daily AI briefing
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
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
常見問題
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.
繼續學習
相關指南
為此主題精選的更多指南