MAKBench · enterprise-mini campaign
Published numbers from a fixed pack of 10 enterprise tool-use tasks, run under two CLI agent scaffolds against the same seven models. Each attempt starts from the same Docker fixture, hits the same wall-clock and step budgets, and routes every LLM call through one gateway so tokens and dollars are logged — not self-reported. Every cell below is 5 independent trials per task; later sections cover the harness, tasks, scoring, and a Nemotron 3 Ultra follow-up.
1 · Results
Seven models × two scaffolds, five independent trials per task — 50 attempts per cell, 700 graded attempts on the board. Choose a metric; click a table row for the per-task breakdown.
10 tasks × 5 trials per cell — every trial a fresh container, workspace, and budget-capped key. Single-run boards move ±0.1 on luck alone (a lucky 1-trial run scored Nemotron 0.80; five trials say 0.64) — five independent executions are what make these numbers stable.
0 — 100%
| Agent | Model | success rate | consistency | correctness | cost / success | solve time | tokens in / out | calls |
|---|
Cost, tokens, and calls come from the gateway log. tokens in/out and calls are per-attempt averages; solve time is the median over passing attempts (a failed run's timing isn't the latency of a solve). tokens in includes every billed input token (agents that re-read the transcript each turn show higher values). Gemma is on a flat-rate plan and shows ~ (excluded from cost ranking).
All ten tasks, hardest first (sorted by mean pass rate ascending). Each cell: trials passed out of 5 for that agent×model. avg is the row mean.
Scores depend on more than the model name: the exact build, where it's served, and any quantization or context cap. Proprietary vendors don't disclose parameter counts. The model id is the literal string the gateway routes.
| Model | Parameters | Weights | Served from | Gateway model id | $ / MTok in · out |
|---|---|---|---|---|---|
| Claude Sonnet 5 | not disclosed | proprietary | Anthropic API (first-party) | anthropic/claude-sonnet-5 | 2.00 · 10.00 |
| GPT-5.6 sol | not disclosed | proprietary | OpenAI API (first-party) | openai/gpt-5.6-sol | 5.00 · 30.00 |
| GPT-5.6 terra | not disclosed | proprietary | OpenAI API (first-party) | openai/gpt-5.6-terra | 2.50 · 15.00 |
| Gemini 3.5 Flash | not disclosed | proprietary | Google Gemini API (first-party) | gemini/gemini-3.5-flash | 1.50 · 9.00 |
| Gemma 4 31B | 31 B dense | open (Google) | Featherless — flat-rate plan, 32K context cap | featherless/google/gemma-4-31B-it | flat ~ |
| Nemotron 3 Ultra | 550 B MoE · 55 B active | open (NVIDIA, OpenMDW) | Fireworks — NVFP4 4-bit build | fireworks/…/nemotron-3-ultra-nvfp4 | 0.60 · 2.40 |
| gpt-oss-120B | 117 B MoE · 5.1 B active | open (OpenAI, Apache-2.0) | Fireworks — native MXFP4 release weights | fireworks/…/gpt-oss-120b | 0.15 · 0.60 |
Why it matters here: Gemma's 32K context cap is the direct cause of its expense-audit 0/5 (the token-heaviest task) — the model may be fine; the serving plan isn't. Nemotron runs a 4-bit NVFP4 build, so its scores measure that build, not the fp8/bf16 release — and independently re-tested below as a real agent-loop gap (§ Nemotron). Sonnet 5 prices are the introductory $2/$10 (through 2026-08); Nemotron's prices are pinned in providers.yaml because it's not in LiteLLM's price map. First-party APIs serve unquantized (or vendor-managed) builds.
Notes on the board
Ten enterprise tool-use tasks — each a multi-step workflow over a ~50-tool mock stack, graded on exact output artifacts — run five independent times per cell: fresh container, fresh workspace, fresh budget-capped key every time. Five clean executions per cell is a read most leaderboards skip (they run once): it separates a model that can from one that reliably does — the gap consistency measures. Two findings come out cleanly. (1) The pairing decides, not the scaffold: Nemotron 3 Ultra is 0.64 rate / 0.50 consistency on ZeptoClaw but 0.32 / 0.00 on OpenClaw; gpt-oss-120B runs the reverse — 1.00 / 1.00 on OpenClaw (~$0.04/attempt) while ZeptoClaw fails support-ticket-routing repeatedly. (2) No scaffold wins on average: paired over the 70 (model, task) cells the success-rate gap is +0.07 with a 95% CI crossing zero (p=0.18) — the interaction is the finding, not a scaffold ranking. Hover any bar for its 95% bootstrap CI — pooled claims are the robust ones; single cells read as directional. The 5-trial cut (700 attempts) is what makes all of this legible: Sonnet 5 firms up 0.80 → 0.92 while Nemotron’s lucky 0.80 settles to 0.64. Serving still caps the ceiling: Gemma’s expense-audit 0/5 on both scaffolds tracks the flat-rate host’s 32K context limit, not the weights. Success rate is the share of attempts that fully pass; consistency is the share of tasks that pass all five trials (both named for what they measure; in the literature these are pass@1 and pass^5).
350 attempts per agent. Each cell is five dots for one task×model pairing (green = pass, red = fail). Switch agent or counting rule:
Independent evaluation
On the published board Nemotron is last on both scaffolds — ZeptoClaw 0.64 rate / 0.50 consistency, OpenClaw 0.32 / 0.00 — while Fireworks gpt-oss-120B on the same host clears ~1.0 on OpenClaw. Is that a harsh grader, or a real gap? We re-tested with a two-arm protocol that separates “can the model follow the contract?” from “does the agent loop finish the writes?”
Same prompt to Nemotron and gpt-oss: emit out/violations.csv with header exactly txn_id,reason, plus out/report.md containing 1172.00, as a JSON map of path → file body. No Docker agent, no OpenClaw, no grader image — just instruction following.
Identical MAKBench path the same day: plan → filter to expense-audit → run-one. Same agent YAML, sandbox, gateway, and hidden pytest checks. Control is Fireworks gpt-oss-120b.
| Arm | Nemotron 3 Ultra (NVFP4) | gpt-oss-120B (Fireworks control) |
|---|---|---|
| A · Chat-only contract | pass | pass |
| B · OpenClaw × expense-audit | fail · corr 0.0 · missing out/* | pass · corr 1.0 · $0.018 |
Verdict. Real gap on this bar, not a broken harness. Nemotron can obey the exact artifact contract in chat. Under OpenClaw it often never finishes the graded writes (this smoke: read/exec only, reasoning-only turn → incomplete response, both checks FileNotFoundError on violations.csv / report.md, ~$0.055 spent). Campaign history also shows freestyle filenames or CSV headers when files are written. The Fireworks control clears the same bar. Softening checks to “roughly understood the task” would measure a different skill.
External corroboration — same signature, different harness. BenchLM (data verified 2026-07-12) ranks Nemotron #7 / 134 on instruction following (90.0) but only #65 / 120 on agentic (46.8) — a ~43-point drop that mirrors our chat-only pass vs live-agent fail. Headline TAU3-Bench is a respectable 70.9%; the collapse is in the enterprise-domain agentic slices (Tau3-Banking 13.8%, Harvey LAB 3.3%, GDPval-AA 33.2%, EnterpriseOps-Gym 28.5%). Two independently built harnesses, different task sets, same model×capability claim: strong on single-shot instruction following, sharp degradation on multi-step enterprise agent work.
2 · Harness
MAKBench runs CLI agents (ZeptoClaw, OpenClaw, Aider, Claude Code, and similar) against LLMs. Each attempt gets an isolated Docker workspace; LLM traffic goes through one gateway; grading runs in a separate trusted container. Fixtures, budgets, and images are fixed per campaign so agent×model cells are comparable. Cost is taken from the gateway call log.
New agents are a YAML file — the cli-generic adapter substitutes model and prompt and points the agent’s OpenAI-compatible env at the gateway.
id: zeptoclaw adapter: cli-generic image: ghcr.io/qhkm/zeptoclaw@sha256:e32bce56…b86a # digest-pinned command: - /bin/sh - -c - | export OPENAI_BASE_URL="$OPENAI_BASE_URL" # points at the metered gateway exec zeptoclaw agent --mode autonomous -m "$(cat {prompt_file})" env_style: openai
Gateway metering. Each attempt gets a budget-capped virtual key; provider secrets never enter the sandbox (config holds env-var names only). Tokens, latency, and computed cost are ingested from that key’s call log at gateway provenance.
3 · What the agent sees
The full enterprise-mini pack. Each tab shows the verbatim prompt the agent receives, the hidden checks that grade it (never visible to the agent), and how the published models did on it. The agent gets the prompt, a mock CLI, and seed data — nothing else.
4 · Verification & scoring
The agent runs in an untrusted sandbox; checks run in a separate MAKBench-owned container with the finished workspace mounted read-only. They do not share a process.
Outcome-based. The hidden test_crm.py opens the mutated workspace and asserts two weighted checks; pass_threshold = 1.0 means both must pass.
Anti-triviality: a pristine fixture must fail — so a no-op agent scores zero. Exact out/* contracts are intentional; see why that isn't “grader pedantry” for Nemotron.
Cost bases never blend: metered per_token and amortized flat_rate (shown ~) are different units.