Agent Arena
Model & architecture evaluation

Pick the model your project
should actually ship.

Public benchmarks rank models on someone else's task. Agent Arena ranks them on yours — your test cases, your accuracy floor, your budget, your latency ceiling — and refuses to recommend anything you could not ship.

$ pip install agent-arena && arena ui
Why this

What this does that a benchmark leaderboard does not

MMLU and public arenas tell you how a model does on tasks you did not choose, averaged over criteria you did not set. That is close to useless for a shipping decision, because your accuracy floor, latency budget and price ceiling are yours.

01

You define what “best” means

Weight accuracy, cost and latency however your product actually works. A chatbot people wait on and an overnight batch job are different questions, and they get different answers from the same data.

02

Unusable models are disqualified, not ranked

Set a hard floor and a model that misses it comes back DISQUALIFIED with the reason printed. A leaderboard that quietly ranks an unshippable model fourth is lying to you.

03

It admits when it cannot tell

When the top two are within 0.02 the report says the sweep cannot separate them and asks for more cases — instead of implying a twelve-case run settled it.

The finding

Splitting a task across agents loses information at the handoff

Same model throughout. The only variable was the wiring. One fact — is this account on credit hold? — is seen by the first stage and needed by the last.

architectureaccuracystatus
single_agent100.0%ranked
peer_to_peer27.3%DISQUALIFIED
supervisor_worker63.6%DISQUALIFIED

From projects/pipeline_demo — three architectures, one task, fully offline.

  • ▸ A rigid handoff loses it every time. The fixed-format string has no field for the flag, so the deciding stage never sees it. No better model fixes that — the data is gone before the model is asked anything.
  • ▸ A free-text summary loses it sometimes. The fact survives when it is prominent and vanishes when it is buried late in a long input. Intermittent is the worse bug: it reads like a prompt problem for weeks.
  • ▸ More agents cost more. Each extra hop is real money and real latency, and the leaderboard prices it — so “add a critic agent” becomes a decision with a number attached.
Getting started

A real leaderboard in about a minute, with no API key

Both example projects run offline against deterministic simulated models.

pip install -e .

# see a real leaderboard immediately — no key needed
arena evaluate --project projects/support_triage

# compare multi-agent architectures instead of models
arena evaluate --project projects/pipeline_demo

# or drive the whole thing from a browser
arena ui

Then your own project

arena init projects/my_project
arena validate  --project projects/my_project
arena evaluate  --project projects/my_project --dry-run
arena evaluate  --project projects/my_project

Two files decide everything: config.yaml holds the models, weights and hard constraints; tests.yaml holds your cases. There is no second code path and no plugin to write.