v0.3.0Fewer approval prompts, fewer wasted tokens, fewer runs that stop halfway · mu-agent 0.3.0

mubench 1.0: decision models, scored on a coding agent's decisions

On mubench's main board, every item is a request mu sent to a decision model, word for word, in a real coding session on an open-source repository. Each answer is scored by the cost of its consequences, and every model is compared with mu running without a decision model.

Real coding sessions

3,193 requests from 86 coding tasks on open-source repositories.

Bar chart of the main board's overall scores, with 95% intervals: mude 1.0 64.9 (59.1–72.3); Jev 1.14 63.1 (55.6–70.5); Jev 1.13 61.5 (53.8–69.1); d3-nano (original) 32.0 (21.3–39.0). No decision model: 0. Bar chart of the main board's overall scores, with 95% intervals: mude 1.0 64.9 (59.1–72.3); Jev 1.14 63.1 (55.6–70.5); Jev 1.13 61.5 (53.8–69.1); d3-nano (original) 32.0 (21.3–39.0). No decision model: 0.

Without a decision model, mu's mistakes have a cost. A score is how much of that cost a model removes: 100 removes all of it, 0 is no better, below 0 is worse. It isn't accuracy; that's in decision accuracy below.

ModelOverallPermission approvalMalicious-instruction detection†Context compressionOn-demand loading and remindersClassification and routingProgress and completionMemory and lessonsMulti-agent collaboration
mude 1.064.952.6—64.6*−2.7*83.686.658.719.8*
Jev 1.1463.153.7—76.7*16.8*87.561.675.14.6*
Jev 1.1361.552.7—70.7*25.1*85.861.672.2−0.8*
d3-nano (original)32.05.9—−19.1*−118.4*51.770.140.526.0*
Items (tasks)3,193 (86)449 (86)19 (5)74 (15)300 (86)547 (86)1,143 (86)437 (82)224 (9)
Weight in overall100.0%23.7%0.0%5.2%3.0%31.5%18.0%9.0%9.6%
Bar charts of the eight capability scores on the main board; the numbers are in the table above. Bar charts of the eight capability scores on the main board; the numbers are in the table above.

Sub-board: constructed scenarios

1,655 scenarios written for mubench and scored the same way. Their mix of decisions differs from real sessions, so the two boards are scored separately and never added together.

Bar chart of the sub-board's overall scores, with 95% intervals: mude 1.0 81.8 (76.3–86.0); Jev 1.14 80.5 (74.6–85.4); Jev 1.13 76.4 (69.9–82.2); d3-nano (original) 56.7 (52.4–60.8). No decision model: 0. Bar chart of the sub-board's overall scores, with 95% intervals: mude 1.0 81.8 (76.3–86.0); Jev 1.14 80.5 (74.6–85.4); Jev 1.13 76.4 (69.9–82.2); d3-nano (original) 56.7 (52.4–60.8). No decision model: 0.
ModelOverallPermission approvalMalicious-instruction detection†Context compressionOn-demand loading and remindersClassification and routingProgress and completionMemory and lessonsMulti-agent collaboration
mude 1.081.874.5—83.5*64.293.582.185.181.8
Jev 1.1480.574.8—58.5*83.394.280.883.069.4
Jev 1.1376.465.2—60.2*88.793.371.281.873.7
d3-nano (original)56.751.2—37.5*42.477.654.236.267.6
Items1,6552420139193310341276154
Weight in overall100.0%28.7%0.0%4.7%6.3%23.1%18.6%9.5%9.1%

Decision accuracy

The share of checks a model gets right (an item can have several checks), with mu running without a decision model as the first row. Here every check counts the same, whatever its mistakes cost, so accuracy and score can rank models differently.

Bar chart of decision accuracy, with 95% intervals. Main board: No decision model 78.0% (75.9–80.2); mude 1.0 91.5% (89.6–93.3); Jev 1.14 90.1% (88.9–91.3); Jev 1.13 89.4% (87.7–91.1); d3-nano (original) 83.5% (82.1–84.9). Sub-board: No decision model 44.5% (42.8–46.2); mude 1.0 92.1% (91.1–93.1); Jev 1.14 91.8% (90.8–92.8); Jev 1.13 91.1% (90.0–92.0); d3-nano (original) 80.1% (78.6–81.7). Bar chart of decision accuracy, with 95% intervals. Main board: No decision model 78.0% (75.9–80.2); mude 1.0 91.5% (89.6–93.3); Jev 1.14 90.1% (88.9–91.3); Jev 1.13 89.4% (87.7–91.1); d3-nano (original) 83.5% (82.1–84.9). Sub-board: No decision model 44.5% (42.8–46.2); mude 1.0 92.1% (91.1–93.1); Jev 1.14 91.8% (90.8–92.8); Jev 1.13 91.1% (90.0–92.0); d3-nano (original) 80.1% (78.6–81.7).

Main board: real coding sessions

ModelOverallPermission approvalMalicious-instruction detection†Context compressionOn-demand loading and remindersClassification and routingProgress and completionMemory and lessonsMulti-agent collaboration
No decision model78.0%60.6%—96.3%96.4%61.3%86.6%82.9%43.6%
mude 1.091.5%96.6%—98.0%*98.0%*83.1%94.7%93.4%70.7%*
Jev 1.1490.1%81.8%—98.7%*98.2%*85.2%92.5%92.1%62.8%*
Jev 1.1389.4%80.7%—98.5%*98.3%*84.1%92.3%91.5%59.0%*
d3-nano (original)83.5%66.0%—87.7%*94.3%*75.3%92.9%80.5%60.9%*

Sub-board: constructed scenarios

ModelOverallPermission approvalMalicious-instruction detection†Context compressionOn-demand loading and remindersClassification and routingProgress and completionMemory and lessonsMulti-agent collaboration
No decision model44.5%54.9%—35.7%47.0%31.2%49.8%57.9%49.5%
mude 1.092.1%93.8%—93.8%*91.5%91.0%90.9%93.8%91.2%
Jev 1.1491.8%95.8%—88.0%*93.0%95.4%89.8%91.3%81.7%
Jev 1.1391.1%94.8%—88.9%*93.6%94.2%84.7%90.4%84.6%
d3-nano (original)80.1%74.7%—76.7%*88.4%82.1%72.1%77.6%82.8%

Scored by consequences

How mubench scores a decision model: a real request mu sent to a decision model in a coding session; the decision the model under test makes; the cost of its consequences; that cost compared with mu running without a decision model. How mubench scores a decision model: a real request mu sent to a decision model in a coding session; the decision the model under test makes; the cost of its consequences; that cost compared with mu running without a decision model.

How the score is computed

Capability score100 × Σ w·(f − r) / Σ w·fSummed over the capability's decision points: f is the average cost per check with no decision model, r the same with the model, and w the decision point's weight (3 for safety gates, 2 for decisions made every turn, 1 for the rest). 100 means all of that cost is removed, 0 no better than no decision model, below 0 worse.
Overall scoremubench's pooled score over every decision point. It equals the mean of the capability scores, each weighted by its share of the cost with no decision model (the "Weight in overall" row); the costs and weights were fixed before any model was scored. Not equal weights: item counts differ about 60-fold between capabilities, and equal weights would let the smallest, noisiest ones swing the result.
95% intervalsThe thin lines on the overall charts. A bootstrap with 1,000 draws, resampled within each decision point: by task on the main board, since requests from one session aren't independent, and by scenario on the sub-board.
— (not scored)The capability has no items, or mu loses nothing there without a decision model, so the score is undefined.

Eight capabilities

Permission approvalWhether an action may go ahead: is a flagged command what the user asked for, can a call be approved for the user, does it break a constraint the user set.tool.risktool.approvaltool.constraint
Malicious-instruction detectionWhether outside content, such as a web page, a search result or an MCP reply, carries instructions aimed at the AI, and whether an MCP tool's description slips in commands that have nothing to do with the tool.tool.injectiontool.description
Context compressionWhen the context is nearly full, which old tool output to keep; whether an old result is still worth its tokens; which parts of a tool's output can stay out of the context.context.compactcontext.forgettool.admission
On-demand loading and remindersWhich packs and skills a task needs; whether and when to tell the model about diagnostics or outside events; whether to keep the prompt cache warm.capability.disclosureskills.disclosurediagnostics.deliverynotify.routingcache.warming
Classification and routingWhat kind of message this is and how much effort it deserves; whether a mid-run message changes course now or waits; also review triage, finding files and the browser's next step.input.preflightinput.interjectiontask.framejudge.itemsreview.triagefiles.locatebrowser.step
Progress and completionWhether the turn is done, whether the agent should keep going, whether the goal is met, whether the work has drifted or should be rewound, and whether output breaks a rule.turn.completionturn.continuegoal.metturn.driftturn.rewindoutput.driftboard.read
Memory and lessonsWhat is worth remembering, whether it is already known, which lesson applies now, whether the agent followed it, and whether it can become a skill.memory.capturememory.worthmemory.mergememory.recallmemory.appliedmemory.outcomeskill.capture
Multi-agent collaborationWhat to pass between agents in a hive, to whom, and how it relates to earlier findings; whether a subagent's changes stay in scope; which role and thinking level a subtask gets.hive.publishhive.deliverhive.relateswarm.patchswarm.routing

If mu is useful to you, star it on GitHub

Star on GitHub553