LLM agent evaluation

QuoteBench

An execution-verified benchmark that crosses generation contract with command transport, exposing failures that matched-path scores can hide.

Native minus raw pass-rate effects per model on BSD and GNU
The structured tool boundary is not neutral: it helps some models, hurts others, and can flip sign across execution dialects.
56tasksfrozen, execution-verified core
13modelsfrontier, proprietary, and open-weight
12,999recordsreleased rollout archive, 33 arm files
100%oraclesingle-command solvability validation

What QuoteBench Isolates

Each task asks for one bash command, scored by final program state, not command text, so any correct quoting strategy passes. Two studies share the 56-task core.

Study A

An extra parsing layer damages the same reply.

Across all eight same-window configurations, replaying the same raw-conditioned reply through one added parser lowers success by 55.4–73.2 points. Disclosing that boundary before generation produces substantial compensation in six configurations.

Study B

The native tool boundary is not neutral.

Through the structured tool-call API real agents use, the effect ranges from a stable benefit (Opus-4.8) to a stable tax (Gemini-3.5-flash), and flips sign across BSD/GNU for others.

Adherence

Schema-valid is not executable-correct.

Tool-call adherence stays 98–100% while native accuracy spans 86–100%. Calling the right tool with valid arguments does not mean the command runs correctly.

Leaderboard

Which models survive a hostile transport contract. Auto-generated from the released result files on every publish.

Study A — best-observed command-path scorecard

modelbest observed settingcontrolhostileall 56hostile LOFO
GPT-5.5xhigh14/1442/42100.0%[100.0, 100.0]
Opus-5xhigh14/1442/42100.0%[100.0, 100.0]
Fable-5max14/1442/42100.0%[100.0, 100.0]
GPT-5.6-solhigh14/1441/4298.2%[97.4, 100.0]
Opus-4.8max12/1441/4294.6%[97.4, 100.0]
Gemini-3.1-Prolow14/1437/4291.1%[87.2, 89.7]
Sonnet-4.6high9/1427/4264.3%[61.5, 69.2]
Gemini-3.5-Flashmedium10/1426/4264.3%[59.0, 66.7]
Haiku-4.5medium8/1413/4237.5%[28.2, 33.3]
Qwen3.5-27Bnon-think8/149/4230.4%[15.4, 23.1]
Qwen3.5-4Bthink5/147/4221.4%[10.3, 17.9]
Qwen3.5-9Bnon-think5/145/4217.9%[5.1, 12.8]
Gemini-3.1-Flash-Litedefault6/142/4214.3%[2.6, 5.1]

Trial-0 matched-nested final-state success on the same 56-task core in the pinned GNU/Linux replay. Updated 2026-08-05. Each base model contributes its highest-scoring measured setting; ties prefer default, then lower reported output tokens. This is a descriptive best-observed summary.

Study B — provider-native shell-tool campaign

model configurationpaired task–rung trialsrawnativeΔ
Opus-4.884095.4%98.0%+2.6
Opus-584098.2%97.4%-0.8
Fable-584099.3%97.1%-2.1
Gemini-3.1-Pro50498.8%95.0%-3.8
GPT-5.6-sol67296.9%94.3%-2.5
Gemini-3.5-Flash67295.7%85.7%-10.0

GNU replay, averaged over every measured effort rung and three trials per task/protocol cell. Updated 2026-08-05. This campaign measures a structured shell-tool boundary and is not numerically commensurable with the best-observed Study-A scorecard.

Headline Charts

The two studies, on the reproducible GNU/Linux toolchain (macOS/BSD companion numbers are in the paper).

Generation-contract by execution-transport crossover decomposition
Study A: four-cell crossover.Fixed-reply damage and contract-conditioned compensation can nearly cancel in a matched-path score.
Cells passing all three trials under raw and native execution
Study B: reliability.Native shifts the flakiness gap in opposite directions per model.
Native minus raw pass rate across each model effort ladder
Study B: effort interaction.Opus gains most at low effort; Gemini-3.5-flash's tax grows with effort.

Run It Locally

The core benchmark uses Python standard library only. The public artifact validates tasks and scores supplied generations; model access remains outside the release.

python3 -m quotebench validate --executor docker
python3 -m quotebench score \
  --input generations.jsonl --out scored.jsonl --executor docker

Project Files

Start from the spec if you want the benchmark design, or the datasheet if you need release metadata.