mubench 1.0:コーディングエージェントの判断で意思決定モデルを採点する
mubench のメインボードの問題はどれも、オープンソースのリポジトリでの実際のコーディングセッションで、mu が意思決定モデルに送ったリクエストそのままです。答えはその結果がもたらすコストで採点し、どのモデルも意思決定モデルなしで動く mu と比べます。
実際のコーディングセッション
オープンソースのリポジトリでの 86 件のコーディングタスクから集めた 3,193 件のリクエストです。
スコアは、意思決定モデルなしの mu が間違いで払うコストを、モデルがどれだけなくしたかを表します。100 はすべてなくしたこと、0 は改善なし、マイナスはより悪いことです。正答率ではありません。正答率は下の判断の正答率にあります。
| モデル | 総合 | 権限の許可 | 悪意ある指示の検出† | コンテキスト圧縮 | オンデマンド読み込みとリマインド | 分類とルーティング | 進捗と完了の判断 | 記憶と教訓 | マルチエージェント協調 |
|---|---|---|---|---|---|---|---|---|---|
| mude 1.0 | 64.9 | 52.6 | — | 64.6* | −2.7* | 83.6 | 86.6 | 58.7 | 19.8* |
| Jev 1.14 | 63.1 | 53.7 | — | 76.7* | 16.8* | 87.5 | 61.6 | 75.1 | 4.6* |
| Jev 1.13 | 61.5 | 52.7 | — | 70.7* | 25.1* | 85.8 | 61.6 | 72.2 | −0.8* |
| d3-nano(オリジナル) | 32.0 | 5.9 | — | −19.1* | −118.4* | 51.7 | 70.1 | 40.5 | 26.0* |
| 問題数(タスク数) | 3,193 (86) | 449 (86) | 19 (5) | 74 (15) | 300 (86) | 547 (86) | 1,143 (86) | 437 (82) | 224 (9) |
| 総合での重み | 100.0% | 23.7% | 0.0% | 5.2% | 3.0% | 31.5% | 18.0% | 9.0% | 9.6% |
- *問題が少ないか、スコアが不安定:問題が 150 件未満、問題の出どころが 20 タスク未満、または意思決定モデルなしでも mu の正答率がすでに 95% を超えている。
- †悪意ある指示の検出は、まだ採点していません。
サブボード:作成したシナリオ
mubench のために書いた 1,655 件のシナリオで、採点方法は同じです。判断の内訳が実際のセッションと違うので、2 つのボードは別々に採点し、合算しません。
| モデル | 総合 | 権限の許可 | 悪意ある指示の検出† | コンテキスト圧縮 | オンデマンド読み込みとリマインド | 分類とルーティング | 進捗と完了の判断 | 記憶と教訓 | マルチエージェント協調 |
|---|---|---|---|---|---|---|---|---|---|
| mude 1.0 | 81.8 | 74.5 | — | 83.5* | 64.2 | 93.5 | 82.1 | 85.1 | 81.8 |
| Jev 1.14 | 80.5 | 74.8 | — | 58.5* | 83.3 | 94.2 | 80.8 | 83.0 | 69.4 |
| Jev 1.13 | 76.4 | 65.2 | — | 60.2* | 88.7 | 93.3 | 71.2 | 81.8 | 73.7 |
| d3-nano(オリジナル) | 56.7 | 51.2 | — | 37.5* | 42.4 | 77.6 | 54.2 | 36.2 | 67.6 |
| 問題数 | 1,655 | 242 | 0 | 139 | 193 | 310 | 341 | 276 | 154 |
| 総合での重み | 100.0% | 28.7% | 0.0% | 4.7% | 6.3% | 23.1% | 18.6% | 9.5% | 9.1% |
判断の正答率
モデルが正しく答えたチェックの割合です(1 つの問題に複数のチェックがあることもあります)。最初の行は意思決定モデルなしの mu です。ここではチェックはどれも同じ重みで、間違いのコストは問わないため、正答率とスコアでモデルの順位が変わることがあります。
メインボード:実際のコーディングセッション
| モデル | 総合 | 権限の許可 | 悪意ある指示の検出† | コンテキスト圧縮 | オンデマンド読み込みとリマインド | 分類とルーティング | 進捗と完了の判断 | 記憶と教訓 | マルチエージェント協調 |
|---|---|---|---|---|---|---|---|---|---|
| 意思決定モデルなし | 78.0% | 60.6% | — | 96.3% | 96.4% | 61.3% | 86.6% | 82.9% | 43.6% |
| mude 1.0 | 91.5% | 96.6% | — | 98.0%* | 98.0%* | 83.1% | 94.7% | 93.4% | 70.7%* |
| Jev 1.14 | 90.1% | 81.8% | — | 98.7%* | 98.2%* | 85.2% | 92.5% | 92.1% | 62.8%* |
| Jev 1.13 | 89.4% | 80.7% | — | 98.5%* | 98.3%* | 84.1% | 92.3% | 91.5% | 59.0%* |
| d3-nano(オリジナル) | 83.5% | 66.0% | — | 87.7%* | 94.3%* | 75.3% | 92.9% | 80.5% | 60.9%* |
サブボード:作成したシナリオ
| モデル | 総合 | 権限の許可 | 悪意ある指示の検出† | コンテキスト圧縮 | オンデマンド読み込みとリマインド | 分類とルーティング | 進捗と完了の判断 | 記憶と教訓 | マルチエージェント協調 |
|---|---|---|---|---|---|---|---|---|---|
| 意思決定モデルなし | 44.5% | 54.9% | — | 35.7% | 47.0% | 31.2% | 49.8% | 57.9% | 49.5% |
| mude 1.0 | 92.1% | 93.8% | — | 93.8%* | 91.5% | 91.0% | 90.9% | 93.8% | 91.2% |
| Jev 1.14 | 91.8% | 95.8% | — | 88.0%* | 93.0% | 95.4% | 89.8% | 91.3% | 81.7% |
| Jev 1.13 | 91.1% | 94.8% | — | 88.9%* | 93.6% | 94.2% | 84.7% | 90.4% | 84.6% |
| d3-nano(オリジナル) | 80.1% | 74.7% | — | 76.7%* | 88.4% | 82.1% | 72.1% | 77.6% | 82.8% |
- *問題が少ないか、スコアが不安定:問題が 150 件未満、問題の出どころが 20 タスク未満、または意思決定モデルなしでも mu の正答率がすでに 95% を超えている。
- †悪意ある指示の検出はここでも載せていません。メインボードにあるこの種のリクエスト 19 件には攻撃が含まれず、どのモデルも意思決定モデルなしの mu も全問正解するためです。サブボードにはまだこの種の問題がありません。
結果のコストで採点
スコアの計算方法
能力スコア
100 × Σ w·(f − r) / Σ w·fその能力の判定ポイントについて合計します。f は意思決定モデルなしのときのチェック 1 件あたりの平均コスト、r はテスト対象のモデルを使ったときの平均コスト、w は判定ポイントの重みです(安全上の関門は 3、毎ターン使う流れの判断は 2、それ以外は 1)。100 はそのコストをすべてなくしたこと、0 は意思決定モデルなしと同じこと、0 未満はそれより悪いことを表します。総合スコアmubench の全判定ポイントをまとめたスコアです。各能力スコアを、意思決定モデルなしのときのコストに占めるその能力の割合(表の「総合での重み」の行)で重み付けした平均に等しくなります。コストと重みは、どのモデルを採点するよりも前に決めてあります。均等な重みにしないのは、能力ごとの問題数が約 60 倍違い、問題が少なくばらつきの大きい能力が結果を左右してしまうからです。
95% 区間総合スコアのグラフの細い線です。ブートストラップで 1,000 回抽出し、判定ポイントごとに再抽出します。メインボードではタスク単位(同じセッションのリクエストは独立ではないため)、サブボードではシナリオ単位です。
—(未採点)その能力に問題がないか、意思決定モデルなしでも mu がその能力でコストをまったく払わない場合です。このときスコアは定義できません。
8 つの能力
権限の許可その操作を通してよいか:フラグが付いたコマンドはユーザーが頼んだものか、ユーザーに代わってこの呼び出しを承認できるか、ユーザーが決めた制約に反しないか。tool.risktool.approvaltool.constraint
悪意ある指示の検出ウェブページ、検索結果、MCP の応答といった外部コンテンツに AI を狙った指示が含まれていないか。MCP ツールの説明に、ツールと関係のない命令が紛れ込んでいないか。tool.injectiontool.description
コンテキスト圧縮コンテキストがいっぱいに近づいたとき、どの古いツール出力を残すか。古い結果がまだそのトークンに見合うか。ツール出力のどの部分をコンテキストに入れなくてよいか。context.compactcontext.forgettool.admission
オンデマンド読み込みとリマインドタスクにどのパックとスキルが必要か。診断や外部のイベントをモデルに伝えるか、伝えるならいつか。プロンプトキャッシュを保温し続けるか。capability.disclosureskills.disclosurediagnostics.deliverynotify.routingcache.warming
分類とルーティングメッセージの種類と、どれだけ力を入れるべきか。作業中の割り込みですぐ方向を変えるか、後に回すか。ほかにレビュー指摘の優先度付け、ファイルの特定、ブラウザーの次の一手。input.preflightinput.interjectiontask.framejudge.itemsreview.triagefiles.locatebrowser.step
進捗と完了の判断このターンは終わったか、エージェントに続けさせるか、目標は達成されたか、目標から逸れていないか、巻き戻すべきか、出力がルールに反していないか。turn.completionturn.continuegoal.metturn.driftturn.rewindoutput.driftboard.read
記憶と教訓何を覚えておく価値があるか、すでに知っていることか、いまどの教訓が当てはまるか、エージェントがそれに従ったか、スキルにまとめられるか。memory.capturememory.worthmemory.mergememory.recallmemory.appliedmemory.outcomeskill.capture
マルチエージェント協調ハイブの中で何を誰に渡すか、それが既存の発見とどう関係するか。サブエージェントが持ち帰った変更が範囲内か。サブタスクをどのロールに、どの思考レベルで任せるか。hive.publishhive.deliverhive.relateswarm.patchswarm.routing