Benchmark / September 21, 2026
MiMo or Claude for support agents?
Xiaomi released MiMo-V2.6 today. We ran the new open-weights model through the frozen refund-agent test we use for Claude, and tried the reward trick from its report on a 4B model. Flash and Pro tie Claude Sonnet 5 and Haiku 4.5 on the agent, at a fraction of the price. The reward trick did nothing on a one-line SQL task.
The short version. Xiaomi's MiMo-V2.6 shipped today with open weights, a technical report and a live view of its training run [1, 2]. We did two things before the day ended. First, the same test we give Claude: sixty-four refund requests our agent has never seen, four prompts, pass or fail by a program. Second, the report's reward trick, multiplying pass or fail by a quality score, on a small model we can train for a few dollars. MiMo tied Claude on the agent. The trick did nothing on SQL, and we can say why.
What Xiaomi released
| MiMo-V2.6-Pro | MiMo-V2.6-Flash | |
|---|---|---|
| parameters (active) | 1.02T (42B) | 310B (15B) |
| context | 1M tokens | 1M tokens |
| license | open weights, MIT | open weights, MIT |
| price per million tokens, in / out (OpenRouter) | 0.87 | 0.28 |
Alongside the weights: a 9B model distilled from MiMo as a starting point for RL, about 7,000 RL tasks with verifiers across code, security, knowledge work and web design, and the training framework [2, §7]. The report's RL run is 1,568 prompts times 16 rollouts a step, 30 steps, with the whole run streamed on a public dashboard [3].
Part one: the new model on our frozen test
The test is the one from our evals guide [4]: a refund agent with two tools, sixty-four asks written by the SDK and frozen, each run four times, graded by a program that checks the policy (look the order up first, refund only when allowed, escalate over the limit, invent nothing). The Claude numbers are from the sweep we ran on the same frozen asks two days ago. Same judge, same sixty human-checked labels, same noise floor.
Each model's best of four prompts. The bands overlap, so no model is proven ahead; the noise floor from scoring one variant twice is 2 points for Claude and 0.8 for MiMo.
| Item | Value | 95% interval |
|---|---|---|
| MiMo-V2.6-Flash | 93.4% | 88.9% to 97.9% |
| MiMo-V2.6-Pro | 91.8% | 86.1% to 97.5% |
| Claude Sonnet 5 | 89.5% | 83.1% to 95.9% |
| Claude Haiku 4.5 | 88.7% | 81.5% to 95.9% |
Every model lands at the same place without the policy. Writing the policy down was worth about 20 points on each of them; the model choice was worth none of it.
| Item | Value | 95% interval |
|---|---|---|
| MiMo-V2.6-Flash | 72.7% | 62.2% to 83.2% |
| MiMo-V2.6-Pro | 71.9% | 61.5% to 82.3% |
| Claude Haiku 4.5 | 72.3% | 61.6% to 83.0% |
| Claude Sonnet 5 | 71.5% | 60.6% to 82.4% |
Flash, the cheaper of the two, tied the Claude models with the policy in the prompt and tied them without it. Pro, the trillion-parameter flagship, landed between Flash and Sonnet on every prompt and no closer to a proven lead. Where the models differ is on the one behavior that was still weak for Claude: issuing an eligible refund in the same reply instead of asking for confirmation. The table below is that behavior alone, on each model's best prompt. The Flash sweep cost 33 cents and the Pro sweep $1.31.
| model, best prompt | refunds when eligible | 95% band | asks |
|---|---|---|---|
| MiMo-V2.6-Flash | 73% | 64 to 82 | 11 |
| MiMo-V2.6-Pro | 73% | 52 to 93 | 11 |
| Claude Sonnet 5 | 57% | 35 to 78 | 11 |
| Claude Haiku 4.5 | 48% | 23 to 73 | 11 |
Part two: their reward trick on a 4B model
Section 4.3.1 of the report [2] multiplies the binary test reward by two rubric scores, one for the solution and one for how the agent worked, so that passing rollouts are no longer all equal. Their claim (Figure 8): pass rate keeps rising while turns and tokens stay flat. We tested the reward half of that on our text-to-SQL recipe [5]: Qwen3-4B, GRPO with LoRA, one H100, two arms that differ only in the reward.
Same base, same seed, same 480 training questions, same 120 held-out questions sampled four times. The two before bars are the same rollouts.
| Item | Value | 95% interval |
|---|---|---|
| Execution reward, before | 53.3% | 44.8% to 61.5% |
| Execution reward, after 50 steps | 54.8% | 46.2% to 63.1% |
| Quality-weighted (GRS), before | 53.3% | 44.8% to 61.5% |
| Quality-weighted (GRS), after 50 steps | 53.1% | 44.8% to 61.2% |
Single steps swing from about 760 to 1,340 tokens in both arms. Neither drift is separable from that noise.
| Item | Value |
|---|---|
| Execution reward, steps 1 to 10 | 1072 |
| Execution reward, steps 41 to 50 | 1074 |
| Quality-weighted (GRS), steps 1 to 10 | 1076 |
| Quality-weighted (GRS), steps 41 to 50 | 1102 |
Nothing moved. The quality-weighted arm finished 1.7 points under the plain arm, with a band of -5.2 to +1.7, so the two are the same. Reply length did not separate either. The grader tells you why: it rated the average passing query 0.93 on both rubrics, so multiplying by it changed a pass's reward by about seven percent, and GRPO normalises within the group anyway. At this dose, fifty steps on a 4B model, there was nothing to redistribute. The paper applies the trick to long agent trajectories where passing solutions differ a lot; a one-line SQL query is a poor place for it. Not proven either way, and we say so.
What this teaches about post-training
- A frozen test makes a launch-day number mean something. The asks were written before the model existed, the judge is a program, and the noise floor is measured, so the interval is the claim [6, §5].
- Quality-weighted rewards are a rubric problem, not a loss problem. GRS changes nothing in GRPO but the reward column. What it needs is a grader you have measured.
- Prompt still beats model. Twenty points from writing the policy down, on every model; zero points proven from switching models. Measure the harness before you shop for a model.
For researchers
| part one | value |
|---|---|
| test | t-5f57ed8d, 64 asks, k=4, frozen 2026-09-19 |
| models | xiaomi/mimo-v2.6-pro, xiaomi/mimo-v2.6-flash via OpenRouter, default reasoning, temperature 1.0 |
| Claude arms | claude-sonnet-5, claude-haiku-4-5, run 2026-09-20 on the same asks |
| judge | refund policy as a program; agreement with 60 hand labels 0.80 on Claude replies, 0.78 on Flash, 0.73 on Pro (MiMo phrases a refund without the words the label rule looks for; the program reads the tool calls, the labels read prose) |
| noise floor | first variant scored twice: 2.0 points (Claude), 0.8 (MiMo Flash), 1.5 (MiMo Pro) |
| metric | pass@1 in points, bootstrap 95% interval over asks |
| part two | value |
|---|---|
| base | Qwen/Qwen3-4B, thinking on, LoRA rank 16 |
| arms | test reward (1 / 0.1 / 0) vs test reward times solution and behavior rubric scores (GRS) |
| grader | rubrics per task written by MiMo-V2.6-Flash from the task and gold query; scored online by Claude Haiku 4.5 (the OpenRouter key ran out of credits before launch), 1,472 calls, 0 failures, mean score 0.93 |
| steps | 50, 8 prompts x 8 samples a step, lr 2e-5, beta 0.01, seed 17, 43% of samples cut at 1,536 tokens and masked |
| holdout | 120 tasks, k=4, before and after, paired bootstrap over tasks |
| deviations | rubrics read the task and gold, not a group of rollouts; a 0.5 floor on each rubric score; single-turn task |
| cost | 2.5 H100 hours, 11.52, grader 0.11) |
HarnessSweep in whileai 0.102 ran part one [7]; train_grpo_modal.py --reward grs in the text-to-SQL recipe ran part two [5].
References
- Xiaomi MiMo (2026). MiMo-V2.6 series: three new models officially released. mimo.mi.com/docs/en-US/updates/model. Accessed September 21, 2026.
- Xiaomi MiMo Core Team (2026). MiMo-V2.6 Technical Report. huggingface.co/XiaomiMiMo/MiMo-V2.6-Flash-RL. Model card: MiMo-V2.6-Flash-RL, MiMo-V2.6-Distill-Qwen-9B.
- Xiaomi MiMo (2026). MiMo-V2.6 live RL dashboard. mimo.xiaomi.com/rl. Accessed September 21, 2026.
- whilehq (2026). Agent evals on frontier models. withwhile.com/blog/agent-evals-on-frontier-models.
- whilehq (2026). text-to-sql recipe, whileai SDK [code and tasks]. github.com/whilehq/whileai-sdk/tree/main/recipes/04-train/text-to-sql.
- Lambert, N. (2025). Reinforcement Learning from Human Feedback. arXiv:2504.12501. Online at rlhfbook.com.
- whilehq (2026). whileai SDK [software]. Apache 2.0. github.com/whilehq/whileai-sdk.
Run it
pip install whileai
export OPENROUTER_API_KEY=... # your key; nothing leaves your machine but the model callsfrom whileai.platform import Harness, HarnessSweep, track
tracked = track("refund-agent", model="xiaomi/mimo-v2.6-flash")
sweep = HarnessSweep(
tracked, judge=refund_judge, k=4, tools=TOOLS, labels=LABELS
)
report = sweep.run(
variants, tasks="rows_frozen.jsonl", test_version="t-5f57ed8d"
)
print(report) # pass@1 per prompt and model, interval, noise floorcd whileai-sdk/recipes/04-train/text-to-sql
PYTHONUTF8=1 modal run --detach train_grpo_modal.py --spawn --thinking --reward grs --run-name t2s-grs