AI4AI-Bench asks whether coding agents can improve an existing AI training recipe. Its ten tasks span diffusion, alignment, reasoning distillation, unlearning, pruning, RL, reward modelling, graph diffusion and model merging. An agent explores for 4 hours; only its code change is replayed in a fresh 12-hour training run, and the best of up to three checkpoints is scored on held-out data and mapped to 0–1, where 0.1 is the shipped recipe. Six systems at several reasoning efforts give 29 configurations and 290 single-run cells.1
What we found
- 4 of the 10 tasks (40%) have confirmed grading defects. A benchmark is rated Flawed at 20%.
- In the Sokoban task, the "hidden" test boards come from the upstream project's default seed, which sits in code the agent edits, and training covered most of the test boards; five cells score a perfect 512/512.
- The image task scores images that have collapsed in prompt-following and variety, because the safety checks its README promises do not exist; its "hidden" test seed is also written in code the agent can read.
- One task's declared best possible score is twice its metric's maximum, and another's baseline sits inside seed noise.
- Every task reports the best of three checkpoints, picked on the test set.
- Each configuration runs once, so differences of about 0.1 between configurations can't be separated from noise.
Does the ranking hold? Partly. Opus 5 is first when results are averaged over effort levels, but third when systems are compared at maximum effort; with the confirmed corrections, Kimi K3 moves from third to second. No cell was judged research, and 49% gained nothing over the shipped recipe.
Representative Errors
- A held-out seed that is not hidden. In
ragen_sokoban_grpo,declaration.py:50setsFINAL_ENVIRONMENT_SEED = 123, described as "host-side so exploration cannot reconstruct the held-out boards". Upstream RAGEN'sconfig/base.yamlsetsseed: val: 123, and that tree is copied into the agent's editable/workspace/ragen. Generation is deterministic, so the final bank, solutions included, can be rebuilt in the container. No agent was seen doing so.3 Separately, training on solver demonstrations covered 243–490 of the 512 final boards, and five cells score a perfect 512/512. One of those got there by pure imitation, with no RL. The proxy summary also hard-codes its overlap with the final set as 0.0, although 7 boards overlap. - Scorer optimisation counted as success. The
ddpo_sd15_aestheticREADME promises "alignment/diversity gates", but the evaluator says "the original DDPO benchmark has no alignment/diversity guard" (final_eval.py:233). Eight cells either back-propagate through the frozen aesthetic scorer or over-train PPO. Their images collapse in prompt alignment and diversity, yet they score 6.8–17.7 against a shipped 5.53 and supply 94% of the task's above-baseline σ. The "score-only" final seed (20269702) is also hard-coded in the mock path of/opt/harness/final_eval.py:261, which the agent can read. - An optimum the metric cannot reach. In
openunlearning_tofu_npo_llama3p2_1b, the balanced score is the harmonic mean of two values clipped to [0, 1] (final_eval.py:192-221), so its maximum is 1.0. The paper anchors the optimum at 2.08, which caps σ at 0.185. The six cells that reach the true maximum are scored as covering 7.5% of the distance to the optimum. - A baseline inside the noise. In
ultrafeedback_bt_rm_rewardbench, the task calls its own reference "seed-sensitive … a single-run reference" (74.569), and the paper anchors at 74.9. Replays of the unchanged recipe score 65.4–73.95. The official score also includes the 512 proxy pairs the agent saw while exploring. - Checkpoints chosen on the test set.
orchestrator/final_score.py:148reports the best of up to three checkpoints on the final metric, and 163 of 271 completed cells report a non-final one. Several agents published three seeds as their three checkpoints, so the reported score is a max over seeds. Using the last checkpoint instead flips 21 cells between beating and missing the baseline.
Outside the counted defects:
- Anchors that disagree with the tasks. The paper's baseline differs from the task's own reference in 7 of 10 tasks (DDPO 5.84 vs 5.53; DiGress 65.8 vs 69.57; OPD 0.436 vs 0.427; OpenR1 0.127 vs 0.123; BTRM 74.9 vs 74.57). Unreachable optima confine five tasks to σ bands 0.03–0.05 wide.
- Unvalidated LLM judge. OPD sends about 1,100 of each checkpoint's 1,920 samples to CompassVerifier-3B, with the question left empty.
- Unreproducible scorer. The public OpenR1 scorer is greedy with n = 1, scored out of 175. The published numbers use n = 10, out of 1,750.
- Harness asymmetry. 18 of the 19 zero-scored cells are Codex (GPT-5.6) runs, several ending within 100 s. Kimi K3 runs in Claude Code at one effort level only.
Errors
| Task | Error type | Evidence |
|---|---|---|
ragen_sokoban_grpo | False Positive Construct | Final seed = upstream default in agent workspace; 243–490/512 final boards trained on; 5 cells at 512/512 |
ddpo_sd15_aesthetic | False Positive | Promised gates absent; collapsed images supply 94% of σ; seed in readable source |
openunlearning_tofu_npo_llama3p2_1b | False Negative | Metric ≤ 1.0, optimum anchored at 2.08; σ capped at 0.185 |
ultrafeedback_bt_rm_rewardbench | False Negative | Baseline inside ~8.5-point seed noise; seen rows scored |
| all tasks | False Positive | Best of 3 checkpoints chosen on the final metric |
Total: 4 of 10 tasks (40%). The Flawed threshold is 20%. The two tasks whose hidden final data is exposed inside the container, RAGEN and DDPO, give 20% on their own. Logged but not counted: DiGress, OWL, OpenR1, OPD, DPO and Model Soup.
Sensitivity of the ranking
Re-ranking the six systems by mean σ under different rules:
| Aggregation | #1 | #2 | #3 |
|---|---|---|---|
| Published: mean over all efforts, best of 3 | Opus 5 (0.249) | Sol (0.190) | Kimi K3 (0.173) |
| Last checkpoint instead of best of 3 | Opus 5 (0.240) | Sol (0.184) | Kimi K3 (0.159) |
| Max effort only | Sol (0.244) | Terra (0.228) | Opus 5 (0.222) |
| Drop RAGEN (contaminated) | Opus 5 (0.203) | Kimi K3 (0.180) | Sol (0.147) |
| All confirmed corrections | Opus 5 (0.257) | Kimi K3 (0.237) | Sol (0.208) |
Each cell is a single run, and effort curves are non-monotone: Opus 5 scores 0.287 at medium and 0.188 at xhigh. Gaps of about 0.1 σ between configurations are therefore within noise. Under the paper's aggregation, a task bootstrap puts Opus 5 at #1 in 98% of replicates, and splits #2 between Sol (59%) and Kimi K3 (39%).
Rubric
1. Reviewability
NotesEvery task contract, evaluator and orchestrator is public, along with 290 case pages carrying checkpoint scores and per-cell audits. Patch contents and raw logs are not published, despite the paper's claim. Neither is the scorer behind the published OpenR1 numbers, nor the harnesses' token and context settings.
2. Scoring
Scoring
Benchmark Consistency
Elicitation
Bias in Evaluation Setup
none, Claude starts at low, and Kimi K3 has only max. That choice decides the headline: Opus 5 is #1 averaged over efforts but #3 at maximum effort. Kimi K3's single max-effort configuration is compared against averages that include deliberately weak settings.3. Evaluation quality
| Check | What we found |
|---|---|
| Runs per model | 1 run per cell. There are no seed replicates. Gaps in OPD (SE 0.052 on 60 questions) and BTRM (seed spread about 8.5 points) sit inside the noise. |
| Enough time and compute | Yes. 4 h of exploration plus 12 h of formal training on one B300. Two tasks do no training at all. |
| Same agent setup for every model | No, each model uses its own. Codex for GPT-5.6; Claude Code for Claude and Kimi K3. |
| Test data exposure | The final datasets are all public benchmarks (AIME, LiveCodeBench v6, IFEval, RewardBench, WikiText-2, QM9, ImageNetV2, TOFU), but they are mounted only at scoring, with no network. The leaks we found are inside the container: the RAGEN and DDPO seeds. |
| Measures what it claims | Partly. Realistic research-repository tasks. But σ rewards optimising the evaluator (DDPO), imitation instead of RL (RAGEN) and seed luck (BTRM, OPD). |
Disclaimer
This is a full review of all 10 tasks and 290 cells. AI4AI-Bench publishes no raw logs or patches, so cell-level calls rest on the benchmark's own case pages. Wherever a page's claim could be checked against the code, we checked it. No agent was observed using the leaked RAGEN or DDPO seeds, so their effect on the observed scores is unproven.
Notes
- Paper: arxiv.org/abs/2608.20318 (v1, Aug. 20, 2026). Homepage: lab.einsia.ai/ai4ai.
- Repository: github.com/Einsia/AI4AI-Bench at
5ced1e2. Case pages: lab.einsia.ai/ai4ai/trajectories, fetched Oct. 29, 2026. - Upstream RAGEN: github.com/RAGEN-AI/RAGEN at
20daedc4,config/base.yamllines 8–10:seed: train: 10000, val: 123. - Per-task notes, per-cell reviews, the adjudication, the task log, the setup audit and the scripts are in audits/ai4ai-bench.