Methodology

What this dataset measures, how each number is produced, where it comes from, and — just as important — what it does not cover. Read this before citing a figure.

In one sentence. This is a curated snapshot of how close AI agents are to exhausting each benchmark, not a leaderboard of record. Every figure is a number someone else published, re-normalised for comparability and annotated with its caveats.

What counts as an agent

An agent here is Model + Harness/scaffold: a system that takes multiple steps, uses tools, or interacts with an environment. A bare model answering one prompt is not in scope. This matters because the same model scores very differently under different harnesses, so every row records the system that holds the score, not just the model name.

A benchmark is included when it evaluates that kind of system. Meta-leaderboards that aggregate other benchmarks are included but marked tracker, because they are not a target to beat.

Saturation

sotaNorm expresses the state of the art as a percentage of the reference for that metric:

headroomNorm is simply 100 − sotaNorm: how many points of the metric are still unclaimed. Rows fall into four bands:

Saturation bands, as defined in schema.json
BandMeaning
openBelow 50% of the reference — far from solved
active50–75%
near75–90% — near-saturated
saturated90% or above
nosotaNo single comparable state of the art
trackerMeta-leaderboard, not a target

Gap to human

humanNorm normalises the human baseline the same way, and gap is sotaNorm − humanNorm in points. A positive gap means the agent is above the human reference on that metric.

Treat gap as indicative. Human baselines come from separate studies, run under different protocols, with different participant pools and time limits. They were not produced to be compared with each other, and this dataset does not re-run them.

Priority to beat

A composite score meant to answer “which benchmark is worth attacking next?”. Four components, each scored 1 to 5:

priority = 0.40 × p1  Headroom      how much room is left
         + 0.25 × p2  Durability    how slowly it is likely to saturate
         + 0.20 × p3  Credibility   adoption and trust in the result
         + 0.15 × p4  Feasibility   how cheaply it can be attempted

Tiers: High ≥ 3.6, Med 3.0–3.59, Low below 3.0. Trackers, pure-measurement and safety rows get no priority score, because “beating” them is not meaningful.

These four are editorial judgements, not measurements. p1 derives from the computed headroom, but p2, p3 and p4 are the curator's assessment on a coarse 1–5 scale. The weights are a stated preference, not a fitted model. Cite priority as an opinion with a documented formula — never as an observed quantity.

Where the figures come from

Every row carries a source URL pointing at the primary publication for that number — the benchmark's own leaderboard, the paper, or the vendor's announcement — and a notes field holding the caveats. Figures are transcribed, not reproduced: nothing here is re-run.

The date field records when the state of the art was set, which is frequently older than the snapshot date. as_of in data.json records the snapshot period the whole dataset describes.

What this dataset does not cover

The honest list. A report built on these numbers inherits all of it.

Corrections and versioning

The dataset carries an explicit version of the form YYYY.MM.PATCH. Figures behind a URL change; a version does not. Cite the version.

When a published figure turns out to be wrong it is logged on the corrections page with the reason and the date, and the patch version increments. Errors are recorded rather than quietly overwritten — a dataset that admits its mistakes is easier to trust than one that has apparently never made any.

How to cite

Machine-readable citation metadata lives in CITATION.cff and in the cite_as field of data.json. The current form is:

Santa María Morales, Santiago (2026). AI Agent Benchmarks —
Saturation Tracker (version 2026.08.0) [Data set].
https://benchmarks.santismm.com/

The dataset is licensed CC BY 4.0: reuse it freely, including commercially, as long as you credit it and link back.

Embedding the table

If you would rather show the data than copy it, embed.html renders a compact saturation table that reads the live dataset, so an embed can never display a figure that has already been corrected here. It carries its own attribution and licence link.

<iframe src="https://benchmarks.santismm.com/embed.html?n=10"
        title="AI agent benchmark saturation"
        width="100%" height="460" loading="lazy"
        style="border:1px solid #2a323d;border-radius:8px"></iframe>

Three parameters, all optional: