Skip to main content
AI/ML

Agent Evals: Pass@k Is a Demo, Pass^k Is a Product

September 30, 20265 min read · 607 words
AI AgentsEvalsLLM

The Demo That Lies

Every team building agents eventually presents one: the agent handles five tricky requests in a row, the room nods, the project gets green-lit. Three months later the same system is drowning in production escalations. Nobody lied in the demo — but nobody measured the right thing, either.

There are two fundamentally different questions you can ask about an agentic system:

  • Can it succeed at all? If we try enough times, does a correct solution come out?
  • Does it succeed every time? If a real user runs it once, will it work?

The first is an exploration metric. The second is a reliability metric. They are related, but they are not interchangeable — and the gap between them is where failed agent projects live.

Capability Ceiling vs Business Reliability

Call the first family Pass@k: the probability of at least one success in k attempts. Call the second Pass^k: the probability that all k attempts succeed. The math is unforgiving. With a per-attempt success rate of 60%:

  • Pass@5 is already around 99% — the system looks flawless if retries are free.
  • Pass^5 is around 8% — a five-step pipeline succeeds end-to-end less than once in ten runs.

Same system. Same 60%. One number sells the project, the other predicts its fate. Which one you should optimize depends entirely on your task's retry economics:

  • Retries are cheap and private (drafting an email, brainstorming names, generating code variations for a developer to pick from) — optimize Pass@k and let the user or the harness pick the best result.
  • Every attempt is visible, costly, or irreversible (customer-facing support, payments, long-running pipelines, actions with side effects) — optimize Pass^k, because the user experiences the single roll of the dice, not your leaderboard.

Fix the Measurement Before the Model

Once you know which number matters, a practical evaluation loop looks like this:

  1. Define tasks from real traffic. Not toy prompts — the actual requests your users made last month, including the weird ones.
  2. Grade mechanically where possible. Unit tests for code, schema validation for structured output, deterministic checkers for facts. Save LLM-as-a-judge for the fuzzy remainder, and spot-check the judge itself against human labels.
  3. Measure per-attempt success first. That single number powers both families of metrics, so it is the cheapest thing to track and the most informative.
  4. Attribute failures before tuning anything. Is the model reasoning badly, or is the tool returning garbage, or is the context missing a fact it needs? The fix differs wildly: better harness, better tools, better context — or only then, a different model.
  5. Re-run the suite on every change. Prompt tweak, model upgrade, tool refactor — each is a regression risk that only an eval suite can catch.

What This Means for the Roadmap

The eval numbers also tell you where to invest. Low per-attempt success on well-specified tasks usually means the harness or context is weak — fix that before shopping for models. Unstable output format points at fine-tuning with demonstration data. A measurable reward signal with headroom for improvement is the precondition for reinforcement-learning-style optimization. Teams that skip the diagnosis tend to run expensive training loops on problems that a one-line prompt change would have solved.

Key Takeaways

  • Pass@k measures capability ceiling; Pass^k measures reliability. They diverge fast — a 60% step is 99% Pass@5 and 8% Pass^5.
  • Choose the metric from retry economics: cheap invisible retries favor Pass@k, user-facing single-shot flows demand Pass^k.
  • Build the eval set from real traffic and grade mechanically wherever possible.
  • Attribute failures to harness, tools, or context before blaming the model.
  • An agent project without a regression eval suite is a demo, not a product.