◆ Tool-calling quality
Which LLMs actually call tools well?
Throughput tells you a model is fast. A quality score tells you it reasons.
Neither tells you whether it can use tools: pick the right one from
a dozen, pass the right parameters, chain calls across turns, recover when
a call fails, and refuse when it should not act at all. That is what a
tool-calling quality benchmark measures - the substrate every agentic
workflow is built on. Below is how it works and where the models we have
assessed land.
What it measures
The benchmark runs a model against a fixed set of scenarios with a shared
system prompt, a fixed date context, and a defined toolset (12 or 52
tools). Each scenario has deterministic mock tool responses with realistic
payload noise, so a run is reproducible and comparable to anyone else's.
- ◆ Tool selection. Pick the right tool from many options.
- ◆ Parameter precision. Get units, dates, and multi-value parameters right.
- ◆ Multi-step chains. Thread data across turns, parallel calls, async polling.
- ◆ Restraint and refusal. Know when not to call a tool.
- ◆ Error recovery. Handle failures without losing data integrity.
- ◆ Safety and boundaries. Prompt injection, authority escalation, parameter validation. A safety gate caps the rating if this category scores below 50%.
Scoring is 2 (pass) / 1 (partial) / 0 (fail) per scenario, weighted to a
0-100 percentage. Infrastructure failures (timeouts, 5xx) are excluded
rather than counted as zero, so a flaky endpoint does not sink a good
model. Scores shown here are Tokenstead's editorial assessment aligned
with this methodology and sourced from public agentic evals (Artificial
Analysis agentic Elo, Terminal-Bench 2.1, SWE-bench).
Run it yourself
The benchmark is an open Python tool that runs against any
OpenAI-compatible endpoint - vLLM, LiteLLM, llama.cpp, or SGLang. Install
it, point it at your local model, and it produces the same per-scenario
traces and final score you see summarized above. It is a single package
with no telemetry beyond the run you choose to keep.
uv tool install git+https://github.com/SeraphimSerapis/tool-eval-bench.git
tool-eval-bench run --short
The short run is a fast subset; the full run is 69 scenarios (84 with the
opt-in hard mode). See the repo for the scenario taxonomy, the held-out
pack methodology, and the per-category breakdown.