sports-video-coach · Leaderboard 中文
Can a coding agent review sports film? What the benchmark measured
Short answers from the sports film review benchmark. The videos are drawn by the tool, so the truth is exact and every number below is measured, not judged. Each finding links to the board rows it comes from.
- 37 runs
- Latest result 2026-10-25
Unless a finding names another board, the numbers below come from the fresh-seed board, where svc-bench-3 is drawn from a new seed for every run. The fixed svc-bench-3 board has different figures for the same contenders: gpt-6-astra, effort xhigh is 0.727 above chance there and 1.000 here.
Does reasoning effort matter for video review?
Answer: Yes, a lot. Changing only the effort moved Sonnet 5.5 from 0.419 (default effort, n=2, range 0.413–0.426) to 0.931 (effort high, n=4, range 0.856–0.994) above chance. At effort max it gave no answer before the time limit.
Same model, svc-bench-3 drawn from a new seed for every run, frames track (stills only, no code); only the effort setting changed.
| Contender | Setting | Runs | Above chance | Time per run |
|---|---|---|---|---|
| Haiku 5.5 Claude Code | default effort | 1 | 0.198 | 96 s |
| Haiku 5.5 Claude Code | effort high | 1 | 0.564 | 369 s |
| Opus 5.5 Claude Code | default effort | 2 | 0.997 | 347 s |
| Opus 5.5 Claude Code | effort low | 1 | 0.778 | 70 s |
| Sonnet 5.5 Claude Code | default effort | 2 | 0.419 | 17 s |
| Sonnet 5.5 Claude Code | effort high | 4 | 0.931 | 216 s |
| Sonnet 5.5 Claude Code | effort max | 2 | no answer (killed at 1200 s and 2400 s) | 1801 s |
Board rows: What effort changed · svc-bench-3 (fresh seeds) · Transcripts 1 2 3 4 5 6 7 8 9 10 11 12 13
Bound: 13 runs in all, each on its own seed; 3 of 7 settings ran once. A measured difference, not a variance estimate.
Does a raw score tell you how well a model sees?
Answer: Not by itself. A blind guess that sees no video already totals 0.170–0.379, so read the above-chance column: Haiku 5.5 totals 0.440 but is only 0.198 above chance.
Blind guess total:
- svc-bench-3: 0.331
- svc-bench-2: 0.356
- svc-bench-1: 0.324
The blind guess copies the example answers in the task text. On fresh seeds each run has its own floor; those 15 floors total 0.170–0.379.
Each run's blind guess on its own seed
| Contender | Seed | Blind guess total |
|---|---|---|
| gpt-6-astra, effort xhigh Codex | 911623366 | 0.170 |
| Sonnet 5.5, effort high Claude Code | 288038083 | 0.219 |
| Sonnet 5.5, effort high Claude Code | 395804731 | 0.228 |
| qwen3-vl:4b-instruct-q4_K_M Ollama | 792092586 | 0.232 |
| Haiku 5.5, effort high Claude Code | 778572209 | 0.242 |
| Sonnet 5.5 Claude Code | 956466926 | 0.244 |
| Sonnet 5.5, effort max Claude Code | 604284533 | 0.247 |
| Opus 5.5 Claude Code | 613104018 | 0.252 |
| Sonnet 5.5 Claude Code | 406013493 | 0.268 |
| Sonnet 5.5, effort high Claude Code | 633675701 | 0.297 |
| Haiku 5.5 Claude Code | 166697672 | 0.297 |
| Sonnet 5.5, effort max Claude Code | 280902796 | 0.318 |
| Opus 5.5 Claude Code | 205159368 | 0.344 |
| Opus 5.5, effort low Claude Code | 959964891 | 0.372 |
| Sonnet 5.5, effort high Claude Code | 208632171 | 0.379 |
| Contender | Runs | Total | Above chance |
|---|---|---|---|
| gpt-6-astra, effort xhigh Codex | 1 | 1.000 | 1.000 |
| Opus 5.5 Claude Code | 2 | 0.997 | 0.997 |
| Sonnet 5.5, effort high Claude Code | 4 | 0.940 | 0.931 |
| Opus 5.5, effort low Claude Code | 1 | 0.879 | 0.778 |
| Haiku 5.5, effort high Claude Code | 1 | 0.698 | 0.564 |
| Sonnet 5.5 Claude Code | 2 | 0.543 | 0.419 |
| Haiku 5.5 Claude Code | 1 | 0.440 | 0.198 |
| qwen3-vl:4b-instruct-q4_K_M Ollama | 1 | 0.077 | 0.000 |
| Sonnet 5.5, effort max Claude Code | 2 | 0.000 | 0.000 |
Above chance: 0 = no better than a blind guess that sees no video, 1 = perfect (per task, (score - floor) / (1 - floor)).
Board rows: svc-bench-3 (fresh seeds) · Before you trust this
Bound: Floors are computed by the tool for every suite and seed; one blind guess per suite, no randomness.
Can a coding agent count reps from video?
Answer: On these drawn drills, yes, when it may run code: 5 of 9 code-track runs scored 1.0 and none totalled below 0.000. On the frames track, by eye from stills, contenders spread from 0.000 to 1.000 above chance.
Code track: the agent writes and runs its own tracker. The drawn videos have flat colours, so a pixel tracker finds the ball; that is why the frames track exists.
| Suite | Code-track runs | Scored 1.0 | Lowest total |
|---|---|---|---|
| svc-bench-3 | 2 | 0 | 0.958 |
| svc-bench-2 | 4 | 2 | 0.000 |
| svc-bench-1 | 3 | 3 | 1.000 |
Board rows: svc-bench-3 · svc-bench-2 · svc-bench-1 · svc-bench-3 (fresh seeds)
Bound: 9 code-track runs over 3 suites; the frames range is the contenders' mean above chance on the fresh-seed board.
Is a small local vision model good enough?
Answer: Not for this: qwen3-vl:4b-instruct-q4_K_M scored 0.000 above chance on every board it ran: totals of 0.125 and 0.077 against blind guesses of 0.331 and 0.232.
Run through Ollama on the runner's own GPU, one request per task with that task's contact sheets.
| Board | Total | Blind guess on the same videos | Above chance | Time per run |
|---|---|---|---|---|
| svc-bench-3 | 0.125 | 0.331 | 0.000 | 260 s |
| svc-bench-3 (fresh seeds) | 0.077 | 0.232 | 0.000 | 621 s |
Board rows: svc-bench-3 · svc-bench-3 (fresh seeds) · Transcripts 1 2
Bound: 2 runs of one quantised model at temperature 0; a larger local model may do better.
What does a near-perfect review cost?
Answer: On the fresh-seed board, of the contenders at 0.99 or more above chance with a recorded cost, the cheapest was Opus 5.5: $2.55 and 347 s per run (2 runs), scoring 0.997 above chance. gpt-6-astra, effort xhigh also reached 1.000 but reports no cost.
Cost is what the agent itself reported (Claude Code does, Codex and Ollama do not); time is wall seconds.
| Contender | Runs | Above chance | Time per run | Cost per run |
|---|---|---|---|---|
| gpt-6-astra, effort xhigh Codex | 1 | 1.000 | 514 s | not recorded |
| Opus 5.5 Claude Code | 2 | 0.997 | 347 s | $2.55 |
| Sonnet 5.5, effort high Claude Code | 4 | 0.931 | 216 s | $0.84 |
| Opus 5.5, effort low Claude Code | 1 | 0.778 | 70 s | $0.45 |
| Haiku 5.5, effort high Claude Code | 1 | 0.564 | 369 s | $0.32 |
| Sonnet 5.5 Claude Code | 2 | 0.419 | 17 s | $0.06 |
| Haiku 5.5 Claude Code | 1 | 0.198 | 96 s | $0.06 |
| qwen3-vl:4b-instruct-q4_K_M Ollama | 1 | 0.000 | 621 s | not recorded |
| Sonnet 5.5, effort max Claude Code | 2 | 0.000 | 1801 s | not recorded |
Not run on fresh seeds: Fable 5.1 on the fixed svc-bench-3 board: 0.494 above chance over 2 runs (best 0.988), $19.23 (1 of 2) per run.
Board rows: svc-bench-3 (fresh seeds) · svc-bench-3
Bound: Means over 15 runs; most contenders ran once or twice. Prices are per run of four short videos.
Where does each model fail?
Answer: The hardest task was stroke-rate: a mean score of 0.700 over the 13 runs that answered. (a rowing stroke rate, with a far boat at a close rate)
Mean recomputed score per task (0 to 1) on the fresh-seed board; the board's fold lists every answer and what was missed.
juggle-touches: count one player's touches while a second player juggles next to themfar-hoop-shots: made or missed at a 16 px wide far rimpass-releases: when each pass leaves the hand, with pass fakesstroke-rate: a rowing stroke rate, with a far boat at a close rate
| Contender | juggle-touches | far-hoop-shots | pass-releases | stroke-rate |
|---|---|---|---|---|
| gpt-6-astra, effort xhigh Codex | 1.000 | 1.000 | 1.000 | 1.000 |
| Opus 5.5 Claude Code | 0.989 | 1.000 | 1.000 | 1.000 |
| Sonnet 5.5, effort high Claude Code | 0.781 | 1.000 | 0.979 | 1.000 |
| Opus 5.5, effort low Claude Code | 0.976 | 0.538 | 1.000 | 1.000 |
| Haiku 5.5, effort high Claude Code | 0.864 | 0.385 | 1.000 | 0.543 |
| Sonnet 5.5 Claude Code | 0.919 | 0.446 | 0.810 | 0.000 |
| Haiku 5.5 Claude Code | 0.500 | 0.455 | 0.250 | 0.556 |
| qwen3-vl:4b-instruct-q4_K_M Ollama | 0.000 | 0.308 | 0.000 | 0.000 |
| Sonnet 5.5, effort max Claude Code | 0.000 | 0.000 | 0.000 | 0.000 |
Board rows: svc-bench-3 (fresh seeds)
Bound: Scores recomputed from each run's stored answer and its seed's truth; 15 runs.
What this benchmark does not show
- The videos are synthetic drawn drills, not real game film: they test counting and timing by eye, not a coach's whole review.
- Few runs: most settings ran once or twice, so small gaps can be noise.
- Settings are not equalised across agents; each row ran with the flags its Settings column names.
- The author wrote the tool, drew the suites and submitted these runs; no outside runs yet.
Rerun it yourself
Run any row again with one command: the rerun section. Run an agent we have not tested and send the row: issue #7.