1 phaseActive
Does a BenchGen router model actually route, or does it collapse to one agent? 46 English math/knowledge/reasoning tasks (MATH500, MMLU, MMLU-Pro, ARC-Challenge, GSM8K, AIME2025) drawn from the SAME distribution a BenchGen router head trains on (benchgen/router-pilot / router-pilot-tasks), so the routing decision being measured is a real, in-distribution one. Model connection and extra settings are given via ENVIRONMENT VARIABLES (env-var-first); no model.py needed. If the model is a router model, the results page shows every question (click to expand), which pool member (and real underlying model) answered it, and the overall routing distribution. Scoring is deterministic (grader-aware exact match per task), no LLM-as-judge required.
46 tasks, English math/knowledge/reasoning questions drawn from the SAME
distribution a BenchGen router head is trained on: MATH500, MMLU, MMLU-Pro,
ARC-Challenge, GSM8K, and AIME2025, joined from benchgen/router-pilot
(reward labels) and benchgen/router-pilot-tasks (prompts/gold answers).
A router head embeds each query with a frozen backbone and picks a pool member based on where that embedding falls relative to what it saw during training. Evaluate it on data from a wildly different distribution (a different language, a different domain) and the embedding lands somewhere the classifier never learned to discriminate — its pick becomes arbitrary, not a genuine routing decision, and it tends to collapse to a single agent. This benchmark's tasks are drawn from the exact same sources the router trained on, so a run here is a real fidelity check: does the routing decision hold up on the data it was actually built for?
Each task's prompt already includes its own answer-format instruction
(Answer: X for multiple choice, \boxed{} for a math expression,
Answer: <number> for a numeric answer) — forwarded to the model verbatim.
Deterministic, grader-aware per task (mcq_letter / numeric_match /
math_expression) — no LLM-as-judge required. Reports overall accuracy plus
breakdowns by difficulty (easy/medium/hard) and domain (math/knowledge/reasoning).
If the evaluated model is a BenchGen router model, the results page shows
which pool member (and the real underlying model, e.g. openai/gpt-oss-120b)
answered each question, plus an overall routing distribution — empty for a
non-router model. Click any question in the detailed results to expand its
full text.
Every task's real token usage and cost (in USD) is captured and shown, so a router model's actual cost can be compared directly against a single fixed model on the SAME leaderboard: same accuracy, lower total cost is the concrete case for routing. A router model's cost is real (the gateway knows each picked agent's own published price); a plain baseline model's cost is auto-detected at run start from OpenRouter's public model catalog — no config needed. Detailed results show cost + tokens per task, plus total cost, average cost per task, and total tokens as headline stats.
Model connection is given via environment variables, not model.py. The
platform injects your selected model's api_url / api_key / model_name
into the container (RPE_* prefix, or the generic MODEL_* keys).
From the run screen's Advanced panel you can add:
RPE_MAX_QUESTIONS — only run the first N tasks (for a quick test, e.g. 5).