小さいモデル4種を1ゲームに混ぜたらヤバかった

山田 拓海
山田 拓海 30代・ テック系インフルエンサー
Xのタイムラインを流し見してたら、Hugging Faceのブログ記事が流れてきた。タイトルが「Five labs, five minds」で、思わず手が止まった。

ざっくり言うと、「Thousand Token Wood」というシミュレーションゲームのv2実装レポートだ。5匹の森の動物がそれぞれ違うラボの小型モデルで動いてる、という話。使われてるモデルはgpt-oss-20b(OpenAI)、MiniCPM3-4B(OpenBMB)、Nemotron-Mini-4B(NVIDIA)、それに自前でファインチューニングしたQwen 0.5Bの4つ。1ゲームの中に4社の脳みそが同居してる。マジでなんか変なことやってる人いるな、と思った。

「異質さ」がゲームを面白くする



このプロジェクトで一番刺さったのは、モデルを混ぜた理由だ。作者は「novelty for its own sake(話題作りのため)じゃない」とはっきり書いてる。違うラボが違うデータで訓練したモデルを混ぜることで、エージェント同士の振る舞いが本当に変わる、という主張。フクロウの貯め込み方とキツネの投機の仕方が違う、みたいな描写がある。

これ、自分的にはすごくわかる感覚だ。ChatGPTとClaudeに同じプロンプトを投げると、返ってくる文章の「くせ」が全然違う。その違いをゲームのメカニクスに組み込んだ、ということなんだろう。1モデルでやると均質になって面白みが減る。でも日本でこういう発想でゲーム作ってる人、まだほとんど見てない気がする。

技術的な詰まりどころがリアルだった



面白いのはゲーム設計だけじゃなくて、実装でハマったポイントの正直な記述だ。4つのモデルを1プラットフォームで立ち上げようとしたら、全部同じエラーで落ちたらしい。エラーの内容は「could not find nvcc」。vLLM(バージョン0.22.1)がCUDAツールキットを要求するのに、ベースのDockerイメージにnvccが入ってなかった、という話だ。解決策はCUDA develイメージに切り替えただけ。1行の修正で4モデル全部が動いた。

あと、各モデルごとの細かい違いも書いてあった。

  • gpt-oss-20bはMXFP4量子化で24GBのL4 GPUに収まる
  • MiniCPM3はtrust_remote_codeが必要
  • Nemotronはそのままロードできた
  • 各モデルの出力フォーマットのクセをまとめて吸収するJSON修復レイヤーを作った


こういう「実際やってみたらここでハマった」系の情報が一番好きだ。きれいなアーキテクチャ図より、こっちの方がよっぽどリアルで使える。

もう一個刺さったのが、インサイダー情報の扱い。ゲーム内でプレイヤーが動物キャラに「本当の情報」か「偽情報」かを囁けるんだけど、その真偽フラグをエージェントのプロンプトに絶対に入れない設計にしてる。プロンプトに入れると、モデルが答えを繰り返してしまうから。フラグはプレイヤーの台帳だけに持って、イベント記録から削除して、毎ターン全エージェントのプロンプトを禁止ワードでスキャンするテストも書いてる。「エージェントに秘密情報を渡したら、漏れないことをテストで証明するまで漏れると思え」という一文がかなり鋭かった。

これ、コンテンツ作りにも刺さる話だ



自分がYouTubeやXでやってることに引きつけると、「異質なモデルを混ぜることで面白さが生まれる」という発想は結構使えると思った。たとえば、同じトピックをClaude、Gemini、ChatGPTに投げて、回答の違いを比較する動画とかは自分もたまにやってる。でもそれをゲームのメカニクスにまで落とし込んだ人はいなかった。

あと、小型モデル(4B前後)がここまで複雑なことをこなしてるのもヤバい。24GBのGPUで4社のモデルが同時に動く、ってのは1年前なら普通にSFの話だった。今はそれがハッカソンの提出作品になってる。

フォロワーのみんなは、「モデルを混ぜて使う」みたいな使い方、日常でやってる? 自分はこれを見てから、次の動画でマルチモデル比較の構成をちょっと変えてみようとしてる。

無料相談受付中

AI開発・DX推進についてお気軽にご相談ください。オンライン30分から。

無料相談を申し込む