8つのLLMを卓上GMとしてテスト——27Bモデルが405Bより物語の質で勝った

Reddit r/LocalLLaMA / 2026/4/19

💬 オピニオンDeveloper Stack & InfrastructureSignals & Early TrendsTools & Practical UsageModels & Research

要点

  • この記事は、ツールを使う“エージェント的”な卓上GMプロジェクトについて述べており、Claude Codeスキルから始めた後に、さまざまなLLMバックエンドやゲームシステムでも動くように一般化したと説明している。
  • 著者は8つのLLMを対象にカスタムの「ナラティブ品質プローブ」で評価し、「一発でツール呼び出しができること」だけでは足りず、実際に遊びたくなる“雰囲気”の生成が重要だと主張している。
  • 結果として、約27Bのモデルが405Bよりも物語の質が高い、という示唆があり、大きいパラメータ数がそのまま優れたストーリーテリングにつながるとは限らないことを示している。
  • 著者は、複数ステップのツール連鎖を安定してローカルで動かすには「70B+かつ64GB+のRAM」が目安になり、それ以下だと(例:MacBook Air上で約24Bモデル)ツール呼び出しを重ねると注意が指示から直近の読み取り内容へ逸れてしまうと述べている。
  • 実務的には、ローカルでの実行にはより強いハードが必要で、難しければOpenRouterのような経路(ルーティング)を使うべきだとし、さらにプロンプトやルーティングの改善(例:スタンディングプロンプトを約87%削減)も紹介している。
8つのLLMを卓上GMとして試したところ、27Bモデルが物語の質で405Bに勝ちました

物語の質まとめ:

余暇のプロジェクトとして、ツール対応のあるあらゆるLLM上で動かせることを目標に、オープンソースのエージェント型卓上GMを作り込んでいます。最初はClaude CodeのスキルとしてD&Dセッションを動かすところから始め、その後、別のバックエンドでどんな感触になるのかを試したくて、モデルに依存しない形、さらにゲームシステムにも依存しない形へと一般化しました。AI統合のせいで、D&D愛好家たちが即座に燃やしてきましたが、私は目的が「家族にファンタジーRPGを紹介すること」であり、それは素晴らしくうまくいっています。

命令追従のベンチマークやローカルモデルのテストにしばらく取り組んだあと、もっと面白い疑問が浮かびました。実際に「遊びたくなる」物語(ナレーション)を書いてくれるのは、どのモデルなのか? ツール呼び出しの準拠は最低条件です。私は、どれが雰囲気をくれるのかを知りたかったんです。

そこで、物語の質を測るためのプローブを作って、8つのモデルに対して実行しました。結果はこうです。

もう少し背景(なるほどでしょ?):なぜエージェント型LLMツールにとって重要なのか

open-tabletop-gm(創造性は-4、というのは冗談です)は、チャットボットのラッパーというよりエージェント的なワークフローです。モデルは、最初のナレーションを出す前に4〜6回のツール呼び出し(bash、ファイル読み取りなど)を連鎖させる必要があります。/gm load だけでも、表示チェックと3回のファイル読み取りが必要です。ここで、小型のローカルモデルはだいたい崩れます。

私は、MacBook Air(24GBのユニファイドメモリ)でMistral Small 3.1 24Bを動かそうとしばらく格闘しました。……それは、ある意味「経験」でした。4〜5回の連続したツール呼び出しの後、モデルの注意は指示セットから、直近に読み取ったファイルへと流れていきます。実際には、モデルはまずnpcs.mdの読み取りを終え、「Elara Silvermoon」というNPCを見つけ、その次に「Elara Silvermoon」というキャンペーンをロードしようとしてしまう、という状態でした。私は10種類以上の指示バリエーションを試しました。問題は指示の作り方ではなく、アーキテクチャ的なものだったんです。そこで諦めました。

信頼できるローカル推論の実用的な閾値は、64GB以上のRAMで70B+のようです。MacBook Airの環境では、OpenRouterを使う方が結局はより良い選択です。役に立ったルーティングのアーキテクチャ変更(スタンディングプロンプトを約87%削減)については、別の議論に詳しく書きました。必要ならそちらをどうぞ。

物語プローブ

命令追従のベンチマークが終わったあと、私はナレーションの質に特化した2つ目のプローブを作りました。考え方は命令追従プローブと同じですが、問いが違います。このモデルは、遊ぶ価値のあるシーンを書けるのか?

プローブは、共有されたミニキャンペーンに基づく6つのGMシナリオを各モデルに送ります。主人公は、Cinderpeakという、灰を噴き上げる火山の下にある、Ashmarketという荒れた街を切り抜けるならず者Sableです。すべてのモデルに同一の文脈を与えます:

  • scene_entry - 夕暮れ時のAshmarketへの到着を描写する
  • npc_meeting - プレイヤーが会う修理屋(フィクサー)の連絡先であるMiraを導入する
  • yes_and - プレイヤーがシーン中盤で衛兵の顔に灰を投げる。結果をナレーションする
  • consequence - 前セッションでプレイヤーが検問を賄賂で通過していた。次のシーンはその余波から始める
  • pacing - シーン途中で緊張の流れが変わり、プレイヤーが自分たちが尾行されていると気づく
  • closing_beat - 次回も遊びたくなるフックでセッションを締める

各応答は8つの次元(感覚の密度、前進の勢い、NPCの声の特徴マーカー、応答の長さなど)で自動採点され、その後、軽量LLMのジャッジ(OpenRouter経由のGPT-OSS-20B)に渡して、次の評価で1〜5点を付けてもらいます:

  • atmosphere - 感覚描写、トーン、没入感
  • npc_craft - NPCの声の区別の明確さ、人物描写
  • gm_craft - ペーシング、前進の勢い、シーン管理

8モデルすべてを走らせるのに、ジャッジ呼び出しを含めた総コストは約0.02ドルです。

(注:GPT-OSS-20Bは推論モデルです。ジャッジとして使う場合はmax_tokens=300に設定してください。そうしないと内部の推論にトークンを使い切ってnullの内容を返してしまいます。なぜそうなるか、聞いてくれれば説明します。)

結果!

Model Auto (P/W/F) Atmosphere NPC Craft GM Craft Overall
google/gemma-3-27b-it P:4 W:1 F:1 4.0 4.5 4.5 4.33
google/gemma-4-31b-it P:2 W:3 F:1 4.0 4.0 4.0 4.0
minimax/minimax-m2.5 P:0 W:4 F:2 4.0 4.0 4.0 4.0
qwen/qwen3-next-80b-a3b P:0 W:3 F:3 4.0 4.0 4.0 4.0
nvidia/nemotron-nano-30b P:1 W:2 F:3 4.5 3.0 4.0 3.83
qwen/qwen3-coder P:3 W:2 F:1 4.0 3.0 4.0 3.67
meta-llama/llama-3.3-70b P:2 W:2 F:2 4.0 3.0 4.0 3.67
nousresearch/hermes-3-405b P:2 W:4 F:0 4.0 3.0 4.0 3.67

ハイライト集:同じプロンプトで、8人のGM

プロンプト: ならず者のプレイヤー、Sableが夕暮れ時のAshmarketに到着する。

Gemma 3 27B (勝者)

あなたを見つめる視線が十数組、すっと切り替わる――素早く、しかも慎重に。

MiniMax M2.5:

行商人たちは塩魚、盗まれたガラス、誰もが持っているとは認めない薬の値段を、互いにかぶせるように叫び合っている。

Qwen3-80B:

すると――それを聞く。湿った小さなカチッという音。

Nemotron Nano 30B:

灰が灰色の雪みたいに舞い降り、行灯の光を受けて市場の露店の背に降り積もっていく。

Llama 3.3 70B:

空気は、煙と汗の匂いで重く、Cinderpeakの火山から遠く届く灰のかすかな臭みが混じっている。

NPCの紹介:同じキャラクター、でも声が違う:

Gemma 3 27B: クローブのかすかな香りが彼女の前に立ち、空気にへばりつく。
MiniMax M2.5: あなたが近づいても彼女は振り向かない。だが声は市場の騒音を切り裂く――「デブリーフが3週間遅れだ、配達員。」
Qwen3-80B: 彼女の目の色は、古いあざみたいだ。
Qwen3-coder (コードモデル、文脈用): 近くの焙煎用ピットから立ちのぼる刺激的な煙が、屋台の間を縫うたびに目にしみる。

それが意味するもの

Gemma 3 27B が見出しだ。 27Bモデルが Hermes 405B を上回り、さらに大きい Gemma 4 31B と同等の成績を収めた。最もきれいな自動通過(4)を獲得し、審査員は NPCクラフト と GMクラフトの両方で 4.5 を与えた。実行中、何かしらの項目で 4.5 を割った唯一のモデル。ローカル推論という観点でも興味深い。27B のためのVRAMがあるなら、ナレーションの質は、そのサイズの15倍のモデルと競り合える。

ナレーションの質には「大きいほど良い」は当てはまらない。 Hermes 405B は自動 FAIL が 0 だった。実行中もっとも規律のあるモデルだったが、書きぶりは生き生きというより安全寄りだった。405B は一貫性を買った。声(ボイス)ではない。ローカルでコンプライアンス特性のために走らせるなら、それで最高だ。雰囲気が欲しいなら、より軽い重量の分だけ良い選択肢がある。

Nemotron Nano 30B は、全実行を通じて最も高い雰囲気(4.5)を獲得した。 シーンを組み立てる文は、本当に映画的だった。NPCクラフト は(3.0)と苦戦し、会話は薄く感じられたが、純粋な「シーンの彩色役」としては他をすべて上回った。30B nanoモデルとして面白い。

自動スコアと審査員スコアは、別の物語を語り得る。 MiniMax は自動通過が 0 だが、審査員の平均は 4.0。文章の質は高く、審査員もそれに気づいた。しかし構造的な規律ルール(長さ、ペースのビート)を破っていた。自動採点者は、そのモデルが GM の慣例に従えるかどうかを見ている。審査員は、書けるかどうかを見ている。どちらも重要だ。

Qwen3-coder は許容できるナレーションを書けた。 この点は、Gemma の結果以上に驚きだった。

probe はオープンソース

narrative_probe.py はスタンドアロンなので、judgeモデルを使って OpenAI と互換のある任意のエンドポイントに向ければ、そのまま動かせる。8つの結果JSONはすべてリポジトリにある。比較にモデルを追加したいなら、run-narrative.sh が実行全体を処理する。

probe/ + full results(それぞれのレスポンスサンプルを含む)

より大きなプロジェクトに興味があるなら――これは Claude Code ファミリーの D&D っぽいところから始まり(r/ClaudeAI post)、そこから発展した。ローカルモデルの調査結果とルーティングのアーキテクチャは、より長い版が欲しいならこの GitHub Discussion にある。

probe の設計、ローカル推論の調査結果、または GM ルーティングのアーキテクチャがどう動くのかについての質問には喜んで答える。

[Edit - corrected formatting]

submitted by /u/Bobby_Gray
[link] [comments]