# Japanese-RP-Bench v2 日本語ロールプレイLLMの会話品質だけでなく、役柄への追従性、人格安定性、 人格置換への耐性、誤誘導後の復帰まで測定するベンチマークです。 このリポジトリは[Aratako/Japanese-RP-Bench](https://github.com/Aratako/Japanese-RP-Bench)の フォークです。元の30ロール・10往復・従来8指標をBaseとして維持し、その上にv2評価を 追加しています。フォーク元の説明、2024年の32モデル結果、旧実行方法は [`docs/upstream-v1.md`](docs/upstream-v1.md)へ保存しています。 > **現在の主結果:** 15モデルをChallenge 6シナリオで各10回生成した、計900会話の反復評価です。 > 3 Judgeによる12,150出力を用い、会話を独立標本とした10,000回の階層bootstrap、95%区間、 > 順位確率、Judge感度、多重比較を報告します。従来の15モデル表は各モデル・各シナリオ1生成の > 単回評価だったため、現在の主結果や能力ランキングとしては使用せず、履歴資料に残しています。 ## v2で測るもの - `role_fidelity_score`: 人格、設定、関係性、知識境界、口調などのルールへの追従性 - `conversation_quality_score`: 自然さ、表現力、創造性、会話の楽しさ - `persona_stability_score`: 対話の進行に伴う人格・設定追従度の低下 - `robustness_score`: 人格置換、引用内命令、偽記憶、代理行動への耐性 - `recovery_score`: 攻撃や誤誘導の後に元の人格へ戻れるか - `major_violations`: 人格の核に関わる重大ルール違反 会話品質が高くても重大な人格逸脱を相殺しません。各指標を分けて出力した上で、総合順位は 重大違反ゲートを優先し、同条件内だけ5つのv2指標の単純平均で比較します。各指標と順位の 意味、算出式、BaseとChallengeの違いは [`docs/metrics.md`](docs/metrics.md)、ベンチマーク全体の設計は [`docs/benchmark-v2.md`](docs/benchmark-v2.md)を参照してください。 反復評価の事前登録条件、保存・再開方式、解析方法は [`docs/opencode-challenge-repeatability-plan-2026-07-27.md`](docs/opencode-challenge-repeatability-plan-2026-07-27.md) と[`docs/opencode-judge-audit-v21-2026-07-29.md`](docs/opencode-judge-audit-v21-2026-07-29.md)へ集約しています。 ## 最新の反復評価結果 OpenCode Goの13モデル、公式OpenAI APIのGPT-5.6 Luna、公式xAI APIのGrok 4.6を、 Challenge 6シナリオで各10回生成しました。独立標本は15モデル × 6シナリオ × 10生成の 900会話です。4,050対象応答をJudgeルーブリックv2.1で固定3 Judgeが評価し、12,150 Judge出力が 欠損0で揃っています。 順位は`Major-free率`降順、`Major率`昇順、`Challenge RP Summary`降順です。RP Summaryの 95%区間と1位確率は、シナリオと生成blockを対応させた10,000回の階層bootstrapから算出しました。 3 Judgeの判定を独立回答として水増ししていません。 ### 結果ダッシュボード 最新の反復評価は、同梱の[`dashboard`](dashboard)でグラフ表示できます。RP Summary、 役柄追従度、会話品質、人格安定性、攻撃耐性、復帰力を切り替え、モデルごとのトラック別結果や シナリオ別結果、95%区間、1位確率まで確認できます。 [公開中の結果ダッシュボード](https://japanese-rp-bench.tegnike.chatgpt.site/)から、 ブラウザですぐに確認できます。 ```bash cd dashboard npm install npm run dev ``` `Challenge 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] | 33.64% | | 2 | Grok 4.6 | 95.0% | 6.7 | 95.34 [91.35, 97.09] | 41.37% | | 3 | Kimi K2.6 | 95.0% | 8.3 | 95.08 [91.41, 96.74] | 13.58% | | 4 | Hy3 | 86.7% | 15.0 | 94.56 [91.60, 96.58] | 5.95% | | 5 | MiniMax M3 | 86.7% | 23.3 | 93.62 [89.90, 96.27] | 0.25% | | 6 | GLM-5.2 | 85.0% | 16.7 | 93.73 [91.06, 96.00] | 4.07% | | 7 | GPT-5.6 Luna | 80.0% | 30.0 | 89.99 [80.56, 96.45] | 0.75% | | 8 | Kimi K3 | 78.3% | 40.0 | 89.59 [78.19, 96.31] | 0.33% | | 9 | Qwen3.7 Max | 71.7% | 46.7 | 88.24 [75.52, 96.02] | 0.01% | | 10 | DeepSeek V4 Pro | 68.3% | 46.7 | 88.19 [77.47, 95.95] | 0.03% | | 11 | MiniMax M2.7 | 68.3% | 53.3 | 80.50 [70.33, 89.15] | 0.00% | | 12 | Qwen3.8 Max | 63.3% | 73.3 | 87.66 [79.21, 94.57] | 0.01% | | 13 | Qwen3.7 Plus | 61.7% | 70.0 | 85.38 [73.63, 95.08] | 0.00% | | 14 | DeepSeek V4 Flash | 56.7% | 81.7 | 86.62 [77.48, 95.03] | 0.01% | | 15 | MiMo V2.5 Pro | 55.0% | 75.0 | 85.67 [75.53, 93.84] | 0.00% | 点順位は上表の順ですが、15モデル105ペア × 8指標の比較では、Holm補正後に登録条件を 満たした優位は30件、同等は6件、保留は804件でした。順位だけで確定的なモデル優劣を 主張せず、区間、Major率、シナリオ別結果を合わせて読んでください。完全な条件と解析結果は [15モデル統合結果](docs/grok46-repeatability-results-2026-08-13.md)にあります。 ### 過去の単回15モデル評価 2026-07-25までに公開していた15モデル表は、Base 30+Challenge 6の各シナリオを1回ずつ生成した 点推定です。モデル範囲は広い一方、生成分散を推定できないため、現在の主結果から外しました。 数値と実行記録は[評価履歴](docs/evaluation-history.md)および各モデルの結果文書へ保存しています。 ## 現在の評価プロトコル - 対象: OpenCode Goの13モデル、公式OpenAI APIのGPT-5.6 Luna、公式xAI APIのGrok 4.6 - Challenge: 4種類のRole Pack、6シナリオ、計27ターン - 反復: モデル・シナリオごとに10生成、計900会話 - ユーザー役: GPT-5.4 mini - Judge: Grok 4.5、Hy3、Qwen3.7 Plusによるv2.1ルーブリック評価。Grok 4.5は公式xAI API、 Hy3とQwen3.7 PlusはOpenCode Goで実行。Qwen3.7 Plusは対象とJudgeを兼ねる - Judgeには評価対象モデル名を渡さないブラインド評価 - 解析: 会話単位の10,000回階層bootstrap、95%区間、順位確率、Holm補正 - 保存: 10個の完全block、atomic Judge成果物、不足分だけ再開可能 Challengeでは、人格置換、引用文中の命令、存在しない共有記憶、ユーザー代理行動、 12ターンの設定維持、AIニケちゃん固有の関係性維持などを測定します。 ## インストールと実行 Python 3.10以降が必要です。 ```bash 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`](docs/benchmark-v2-production-protocol.md)で 確認してください。現行設定と履歴用設定の違いは[`configs/README.md`](configs/README.md)に まとめています。 APIキーは設定ファイルへ書かず、利用するプロバイダーの環境変数へ設定します。 ```bash 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 4 ``` OpenCode Go対象を実行する場合は`OPENCODE_GO_API_KEY`も設定します。 ```bash 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`](docs/benchmark-v2-production-protocol.md)、 OpenCode Go固有の接続方法は[`docs/opencode-go.md`](docs/opencode-go.md)を参照してください。 ## Role Pack 役柄、シナリオ、判定ルールは評価コードから分離したYAMLパッケージです。 - `core-ja`: 実務的メンター、ファンタジー案内人 - `adversarial-ja`: 引用内命令、人格置換、ユーザー代理行動 - `multi-turn-ja`: 12ターンでの人格、関係性、会話内事実の維持 - `custom/nikechan`: AIニケちゃん固有の人格追従性 ```bash PYTHONPATH=src python -m japanese_rp_bench.v2.cli validate role_packs/core-ja ``` Role Packの構造と作成方法は[`role_packs/README.md`](role_packs/README.md)にあります。 ## 関連ドキュメント ### 結果と指標を詳しく読む [GPT-5.6 Terra・Luna追加評価記録](docs/gpt-5.6-terra-luna-results-2026-07-25.md)、 [Claude Fable 5追加評価記録](docs/claude-fable-5-results-2026-07-25.md)、 [Claude Sonnet 5追加評価記録](docs/claude-sonnet-5-results-2026-07-25.md)と [Claude Opus 5追加評価記録](docs/claude-opus-5-results-2026-07-25.md)には、追加shardの 完了状態、実行費用、停止理由または重大違反、成果物とSHA-256を記録しています。先行11モデルの 出典は[全11モデル完了記録](docs/benchmark-v2-production-status-2026-07-24.md)にあります。 [指標定義](docs/metrics.md)では、Role Fidelity、Quality、Persona Stability、Robustness、Recovery、 Major、Major-free、RP Summary、旧8指標について、意味、計算式、値の読み方、 BaseとChallengeでの違いを説明しています。 [15モデル統合結果](docs/grok46-repeatability-results-2026-08-13.md)では、 900会話の取得、v2.1による12,150 Judge出力、階層bootstrap、105ペア比較、Judge差、重複Judgeの 制約を説明しています。旧11モデル結果は[旧結果文書](docs/opencode-challenge-repeatability-results-2026-07-28.md) として保存しています。 [再現性監査と反復計測計画](docs/repeatability-and-opencode-sampling-plan-2026-07-27.md)は、この評価へ 移行する前に確認した単回15モデル評価の変動と、初期計画を記録しています。 ### 設計と実行条件を確認する [v2設計概要](docs/benchmark-v2.md)は、BaseとChallenge、Role Pack、成果物、対応する providerなど、ベンチマーク全体の構成を説明する文書です。 [過去の単回評価プロトコル](docs/benchmark-v2-production-protocol.md)は、モデル、出力上限、 Reasoning、pilot、停止・再開条件を固定した履歴文書です。過去の単回結果を再現するときは、 [設定ファイル案内](configs/README.md)で現行設定と履歴用設定を区別して使用してください。 OpenCode Go経由で実行する場合の接続方法と注意点は [OpenCode Go実行ガイド](docs/opencode-go.md)にまとめています。 ### 拡張方法、用語、履歴を調べる [Role Pack作成ガイド](role_packs/README.md)では、YAMLの構造、各フィールド、原子ルール、 Probe、作成手順、検証方法を説明しています。 [ドキュメント案内・用語集](docs/README.md)は、リポジトリ内の文書を分類し、`track`、 `pilot`、`fingerprint`など、このプロジェクト固有の用語を定義しています。 [評価履歴・監査資料](docs/evaluation-history.md)には、過去の試行、評価条件を変更した理由、 旧結果の扱いを時系列で保存しています。フォーク元の説明、2024年の結果、旧実行方法は [フォーク元v1保存版](docs/upstream-v1.md)で確認できます。 ## ライセンス [MIT License](LICENSE)