J-WorkBenchの公開JSONを検算する:7モデルの相対得点と6軸集計
GPUやサブスクなしで、2026年6月6日の保存結果を検算する手順。公開JSON7個とNode.jsスクリプトを取得し、相対得点・品質・6軸の加重点を再集計します。モデルの再実行とは区別します。
J-WorkBenchのローカル相対得点「66〜87点」は、公開しているJSONから手元で検算できます。必要なのはNode.js、検算スクリプト1個、保存結果7個です。GPU、Ollama、AIのサブスクは使いません。
1. 検算スクリプトと7個のJSONを保存する
まず node --version でNode.jsが起動することを確認します。今回の検算環境はNode.js 26.5.0です。追加のnpmパッケージは不要です。
次の8ファイルを同じ作業フォルダの中に配置します。JSONは名前を変えず、results フォルダへ保存してください。
jworkbench-check/ verify-results.mjs results/ run-claude.json run-codex.json run-gemini.json run-gpt-oss_20b.json run-qwen2.5_14b.json run-qwen2.5_7b.json run-qwen2.5-coder_14b.jsonmacOS / Linuxのターミナルなら、次のコマンドで取得できます。Windowsでも上のリンクからファイルを保存すれば、次節の検算コマンドは同じです。
mkdir -p jworkbench-check/resultscd jworkbench-checkcurl --fail --location --output verify-results.mjs \ https://codeagent.jp/jworkbench/verify-results.mjsfor model in claude codex gemini gpt-oss_20b qwen2.5_14b qwen2.5_7b qwen2.5-coder_14b; do curl --fail --location --output "results/run-${model}.json" \ "https://codeagent.jp/jworkbench/2026-06-06/run-${model}.json" || breakdone取得時はサイトへ通信します。保存したスクリプトは中身を読めるテキストです。検算処理自体はローカルファイルの読み取りだけで、通信、モデル起動、入力ファイルの書き換えは行いません。
2. 検算を実行し、期待結果と比べる
verify-results.mjs があるフォルダで実行します。
node verify-results.mjs ./results7モデル×30問が揃い、データの形式と保存された集計値が整合していると、次の値を含む表が表示されます。相対得点は小数を四捨五入した整数です。
| モデル | 課題数 | クラウド比の相対得点 | 品質得点 | 保存6軸からの総合点 |
|---|---|---|---|---|
| qwen2.5:14b | 30 | 86 | 85 | 91 |
| gpt-oss:20b | 30 | 87 | 86 | 89 |
| qwen2.5-coder:14b | 30 | 68 | 66 | 83 |
| qwen2.5:7b | 30 | 66 | 65 | 82 |
| codex | 30 | クラウド基準 | 98 | 79 |
| claude | 30 | クラウド基準 | 94 | 73 |
| gemini | 30 | クラウド基準 | 89 | 72 |
クラウド行を相対100として表示する元のリーダーボードは、3モデルが同じ品質という意味ではありません。上の品質得点には98・94・89の違いがあります。
保存JSONの date はUTCの2026-06-05です。runId の時刻を日本時間にすると6月6日になるため、公開フォルダ・記事の測定日との違いはタイムゾーンによります。
3. 何を計算しているのか
相対得点:各課題のクラウド最高点と比較
- 同じ課題のClaude・Codex・Geminiの
score01から最高点を取る。 - ローカルの
score01をその最高点で割り、比率を0〜1.2に制限する。 - クラウド最高点が0の課題は除外して平均を求め、100倍して四捨五入する。
ある課題でクラウド最高点が0.8、ローカルが0.6なら比率は0.75です。その課題だけなら75点になります。実際には対象課題の比率を平均します。66〜87点は仕事の66〜87%を自動化できるという意味ではありません。
品質得点:保存された採点結果の平均
モデルごとの score01 の平均を100倍して四捨五入します。回答が正しいかをもう一度判定する処理ではありません。元の機械採点やAI採点に誤りがあれば、その誤りはこの検算では直りません。
総合点:保存された6軸の加重平均
rollup.byAxis の6軸に、正確性35・信頼性20・速度15・経済性15・ローカル価値10・導入容易性5の重みを掛け、合計を100で割って四捨五入します。速度・経済性・ローカル価値は合計40%です。
経済性の95点/60点、ローカル価値の95点/0点は設計上の固定値です。費用や機密性を測った結果ではありません。このスクリプトはそれらの前提を正当化せず、保存された軸から総合点が計算どおり出るかを確認します。
4. エラーになったら確認する
| 症状 | 確認すること |
|---|---|
| ファイルが見つからない | results の場所、7個のファイル名、拡張子を確認する |
| JSONとして読めない | HTMLのエラーページや、コピー途中の本文を保存していないか確認する |
| モデル・日付・課題・得点が不正 | 別の測定日や編集したJSONが混ざっていないか、公開ファイルと照合する |
| 保存集計と再計算が一致しない | 加工前の7ファイルでやり直し、それでも合わなければ元データの不整合として扱う |
不完全なデータで見かけの順位を出さないよう、欠落したモデル、重複した課題、非数値・範囲外の得点などは終了コード1で止まります。
再集計・再採点・再実行の違い
| 処理 | 何をするか | モデルの利用 |
|---|---|---|
| 今回の再集計 | 保存された得点と軸を計算する | なし |
| 再採点 | 保存された回答を別の採点者・基準で評価する | クラウドAIを採点者にすれば利用枠・料金が発生し得る |
| モデルの再実行 | 課題を入力し、新しい回答を生成する | 実行するモデルや契約に応じて発生 |
旧稿の「モデルを再実行しないため、Claudeで再採点しても追加の利用枠を消費しない」という説明は誤りでした。生成側を省略しても、採点側のモデル呼び出しは別に発生します。この検算スクリプトは再採点を行いません。
出力の中身まで確かめる
生データ一覧には各課題のプロンプト、回答、実行メトリクス、Claudeによる168ペアの採点記録があります。表の数字だけでなく、任せたい処理に近い課題の出力を読んでください。元の全ハーネスと採点環境の第三者による再実行は、現時点で確認できていません。
関連して読む
-
local-llm・benchmarkを続けて読む
ローカルLLMで暗号解読を実測|シーザー暗号は解けても、換字式は4モデルとも未解読(RTX 3090)
RTX 3090とOllama 0.30.6で、gemma4:31b・qwen3.6:35b-a3b・gpt-oss:20b・qwen2.5:14bにシーザー暗号・ROT13・単一換字式・解読コード生成など6課題を1回ずつ出しました。完全一致はgemma4が5/6、gpt-ossが4/6、残り2モデルは0/6。採点スクリプトと結果JSONを同梱します。
-
local-llm・benchmarkを続けて読む
ローカルLLMに中学数学30問を解かせた正答率|Ollama 4モデル実測(RTX 3090)
RTX 3090とOllama 0.30.6で、gemma4:31b・gpt-oss:20b・qwen3.6:35b-a3b・qwen2.5:14bに中学数学7分野30問を1回ずつ解かせました。gemma4とgpt-ossは30/30、qwen3.6は時間切れ2問で28/30、qwen2.5はLaTeX記号による書式不一致2問で厳密採点28/30(数式は30/30一致)。問題生成・採点スクリプトと結果JSONを同梱します。
この記事の情報・検証メモ
- local-llm
- benchmark
- nodejs
- 公開日
- 情報確認
- 参考リンク
- 2件
- 更新性
- 定期更新
仕様・料金・提供範囲が変わりやすいテーマは、公開日・更新日・情報確認日を分けて管理します。 導入前には必ず記事末尾の一次情報と公式ドキュメントで最新状況を確認してください。