A fixed set of tasks with known answers, run against a model or an agent to produce a comparable score. Benchmarks make progress legible across systems and over time, which is exactly why they are optimised for — and why a high score is evidence about the benchmark before it is evidence about the work you care about.
A benchmark measures a proxy. The gap between the proxy and the job is where the disappointment lives: an agent that tops a coding benchmark can still be useless in a repository with an unfamiliar build system, because the benchmark held constant everything that makes real work hard.
The practical move is to keep public benchmarks for choosing a shortlist, then build a small private set from your own failures — the twenty cases that actually broke your system. It will not be comparable to anyone else's, and that is the point: it cannot be trained against, and it measures the thing you are paid for.