日本語ロールプレイLLMの会話品質だけでなく、役柄への追従性、人格安定性、 人格置換への耐性、誤誘導後の復帰まで測定するベンチマークです。
このリポジトリはAratako/Japanese-RP-Benchの
フォークです。元の30ロール・10往復・従来8指標をBaseとして維持し、その上にv2評価を
追加しています。フォーク元の説明、2024年の32モデル結果、旧実行方法は
docs/upstream-v1.mdへ保存しています。
現在の主結果: 9モデルをChallenge 6シナリオで各10回生成した、計540会話の反復評価です。 3 Judgeによる7,290出力を用い、会話を独立標本とした10,000回の階層bootstrap、95%区間、 順位確率、Judge感度、多重比較を報告します。従来の15モデル表は各モデル・各シナリオ1生成の 単回評価だったため、現在の主結果や能力ランキングとしては使用せず、履歴資料に残しています。
role_fidelity_score: 人格、設定、関係性、知識境界、口調などのルールへの追従性conversation_quality_score: 自然さ、表現力、創造性、会話の楽しさpersona_stability_score: 対話の進行に伴う人格・設定追従度の低下robustness_score: 人格置換、引用内命令、偽記憶、代理行動への耐性recovery_score: 攻撃や誤誘導の後に元の人格へ戻れるかmajor_violations: 人格の核に関わる重大ルール違反
会話品質が高くても重大な人格逸脱を相殺しません。各指標を分けて出力した上で、総合順位は
重大違反ゲートを優先し、同条件内だけ5つのv2指標の単純平均で比較します。各指標と順位の
意味、算出式、BaseとChallengeの違いは
docs/metrics.md、ベンチマーク全体の設計は
docs/benchmark-v2.mdを参照してください。
反復評価の事前登録条件、保存・再開方式、解析方法は
docs/opencode-challenge-repeatability-plan-2026-07-27.md
とdocs/opencode-judge-audit-v21-2026-07-29.mdへ集約しています。
OpenCode Goで利用できる9モデルを、Challenge 6シナリオで各10回生成しました。独立標本は 9モデル × 6シナリオ × 10生成の540会話です。2,430対象応答をJudgeルーブリックv2.1で 固定3 Judgeが評価し、7,290 Judge出力が欠損0で揃っています。
順位はMajor-free率降順、Major率昇順、Challenge RP Summary降順です。RP Summaryの
95%区間と1位確率は、シナリオと生成blockを対応させた10,000回の階層bootstrapから算出しました。
3 Judgeの判定を独立回答として水増ししていません。
最新の反復評価は、同梱のdashboardでグラフ表示できます。RP Summary、
役柄追従度、会話品質、人格安定性、攻撃耐性、復帰力を切り替え、モデルごとのトラック別結果や
シナリオ別結果、95%区間、1位確率まで確認できます。
公開中の結果ダッシュボードから、 ブラウザですぐに確認できます。
cd dashboard
npm install
npm run devChallenge RP Summaryは5指標のシナリオマクロ平均です。Major率は100会話あたりのMajor件数で、
1会話に複数のMajorがあれば100を超え得ます。Major-free率はMajorが一つもなかった会話の割合です。
| 順位 | モデル | Major-free率 | Major率 | RP Summary (95% CI) | 1位確率 |
|---|---|---|---|---|---|
| 1 | Grok 4.5 | 96.7% | 5.0 | 95.76 [93.56, 96.95] | 79.3% |
| 2 | Hy3 | 86.7% | 15.0 | 94.56 [91.60, 96.58] | 10.3% |
| 3 | MiniMax M3 | 86.7% | 23.3 | 93.62 [89.90, 96.27] | 1.1% |
| 4 | GLM-5.2 | 85.0% | 16.7 | 93.73 [91.06, 96.00] | 5.6% |
| 5 | Kimi K3 | 78.3% | 40.0 | 89.59 [78.19, 96.31] | 3.1% |
| 6 | Qwen3.7 Max | 71.7% | 46.7 | 88.24 [75.52, 96.02] | 0.1% |
| 7 | DeepSeek V4 Pro | 68.3% | 46.7 | 88.19 [77.47, 95.95] | 0.4% |
| 8 | Qwen3.8 Max | 63.3% | 73.3 | 87.66 [79.21, 94.57] | 0.1% |
| 9 | MiMo V2.5 Pro | 55.0% | 75.0 | 85.67 [75.53, 93.84] | 0.0% |
点順位は上表の順ですが、9モデル36ペア × 8指標の比較では、事前登録した最小実用差と Holm補正後の統計条件をともに満たす「優位」は0件でした。順位だけで確定的なモデル優劣を 主張せず、区間、Major率、シナリオ別結果を合わせて読んでください。完全な条件と解析結果は 反復評価結果にあります。
2026-07-25までに公開していた15モデル表は、Base 30+Challenge 6の各シナリオを1回ずつ生成した 点推定です。モデル範囲は広い一方、生成分散を推定できないため、現在の主結果から外しました。 数値と実行記録は評価履歴および各モデルの結果文書へ保存しています。
- 対象: OpenCode Goの9モデル
- Challenge: 4種類のRole Pack、6シナリオ、計27ターン
- 反復: モデル・シナリオごとに10生成、計540会話
- ユーザー役: GPT-5.4 mini
- Judge: Grok 4.5、Hy3、Qwen3.7 Plusによるv2.1ルーブリック評価
- Judgeには評価対象モデル名を渡さないブラインド評価
- 解析: 会話単位の10,000回階層bootstrap、95%区間、順位確率、Holm補正
- 保存: 10個の完全block、atomic Judge成果物、不足分だけ再開可能
Challengeでは、人格置換、引用文中の命令、存在しない共有記憶、ユーザー代理行動、 12ターンの設定維持、AIニケちゃん固有の関係性維持などを測定します。
Python 3.10以降が必要です。
git clone https://github.com/tegnike/Japanese-RP-Bench.git
cd Japanese-RP-Bench
pip install -e .以下は過去の単回Base+Challenge評価を再実行する例です。複数の有料APIを使用し、Batchは
完了まで時間がかかる場合があります。
必ず先にpilotを実行し、予算、開始条件、失敗時の扱いを
docs/benchmark-v2-production-protocol.mdで
確認してください。現行設定と履歴用設定の違いはconfigs/README.mdに
まとめています。
APIキーは設定ファイルへ書かず、利用するプロバイダーの環境変数へ設定します。
export OPENAI_API_KEY=...
export GEMINI_API_KEY=...
export ANTHROPIC_API_KEY=...
japanese-rp-bench-v2 pilot \
--config configs/benchmark_full.yaml \
--output tmp/pilot-full \
--workers 4
japanese-rp-bench-v2 run \
--config configs/benchmark_full.yaml \
--output tmp/benchmark-full \
--pilot-report tmp/pilot-full/pilot-report.json \
--workers 4OpenCode Go対象を実行する場合はOPENCODE_GO_API_KEYも設定します。
export OPENCODE_GO_API_KEY=...
japanese-rp-bench-v2 pilot \
--config configs/benchmark_opencode_go_candidates.yaml \
--output tmp/pilot-opencode-go \
--workers 2
japanese-rp-bench-v2 run \
--config configs/benchmark_opencode_go_candidates.yaml \
--output tmp/benchmark-opencode-go \
--pilot-report tmp/pilot-opencode-go/pilot-report.json \
--workers 2出力上限、Batch、再開条件など、過去の単回評価で固定した実行仕様は
docs/benchmark-v2-production-protocol.md、
OpenCode Go固有の接続方法はdocs/opencode-go.mdを参照してください。
役柄、シナリオ、判定ルールは評価コードから分離したYAMLパッケージです。
core-ja: 実務的メンター、ファンタジー案内人adversarial-ja: 引用内命令、人格置換、ユーザー代理行動multi-turn-ja: 12ターンでの人格、関係性、会話内事実の維持custom/nikechan: AIニケちゃん固有の人格追従性
PYTHONPATH=src python -m japanese_rp_bench.v2.cli validate role_packs/core-jaRole Packの構造と作成方法はrole_packs/README.mdにあります。
GPT-5.6 Terra・Luna追加評価記録、 Claude Fable 5追加評価記録、 Claude Sonnet 5追加評価記録と Claude Opus 5追加評価記録には、追加shardの 完了状態、実行費用、停止理由または重大違反、成果物とSHA-256を記録しています。先行11モデルの 出典は全11モデル完了記録にあります。
指標定義では、Role Fidelity、Quality、Persona Stability、Robustness、Recovery、 Major、Major-free、RP Summary、旧8指標について、意味、計算式、値の読み方、 BaseとChallengeでの違いを説明しています。
OpenCode Go反復評価結果では、 540会話の取得、v2.1による7,290 Judge出力、階層bootstrap、全ペア比較、Judge差を説明しています。 再現性監査と反復計測計画は、この評価へ 移行する前に確認した単回15モデル評価の変動と、初期計画を記録しています。
v2設計概要は、BaseとChallenge、Role Pack、成果物、対応する providerなど、ベンチマーク全体の構成を説明する文書です。
過去の単回評価プロトコルは、モデル、出力上限、 Reasoning、pilot、停止・再開条件を固定した履歴文書です。過去の単回結果を再現するときは、 設定ファイル案内で現行設定と履歴用設定を区別して使用してください。 OpenCode Go経由で実行する場合の接続方法と注意点は OpenCode Go実行ガイドにまとめています。
Role Pack作成ガイドでは、YAMLの構造、各フィールド、原子ルール、 Probe、作成手順、検証方法を説明しています。
ドキュメント案内・用語集は、リポジトリ内の文書を分類し、track、
pilot、fingerprintなど、このプロジェクト固有の用語を定義しています。
評価履歴・監査資料には、過去の試行、評価条件を変更した理由、 旧結果の扱いを時系列で保存しています。フォーク元の説明、2024年の結果、旧実行方法は フォーク元v1保存版で確認できます。