広告

ゲーム世界における SLM で NPC を制御する

Reddit r/LocalLLaMA / 2026/3/29

💬 オピニオンIdeas & Deep AnalysisTools & Practical Usage

要点

  • 開発者は、小型の指示/推論モデル(Qwen 1.5B)を使って、プレイヤーのプロンプトを、JSON で記述されたゲーム世界(距離・方向・オブジェクト種別・ID を含む)で動作する NPC のための、文法制約付き JSON アクションへ変換しています。
  • このアプローチは約 80% の確率で機能しますが、残りは構造化された入出力や推論要件があるにもかかわらず、出力が完全にランダムだと報告されています。
  • 世界の状態とアクションのターゲットを JSON で表すべきか、それとも自然言語のエンコーディングにすべきか、また数値の距離値を adjacent/near/far のような意味的な用語に置き換えるべきかを質問しています。
  • このコマンドからアクションへのタスクで信頼性と生成速度を改善するために、2B 未満のパラメータに適した、より良い小型モデル系の推奨を求めています。

こんにちは皆さん、

私は、プレイヤーが構造化されたゲーム世界内で生き物に対してコマンドを与え、その生き物がプレイヤーの指示に対して分別のある(自然な)反応をするようなプロジェクトに取り組んでいます。
世界は、距離、方角、オブジェクトの種類、固有IDを含むJSONとして記述されます。

プロンプトの例は以下です:

- 一番近い石を取る

- 北にある木へ行く

- オオカミを攻撃する

- オオカミを避けつつ、どんな石でも取る

そして出力は(文法が強制された)JSONで、アクション(移動、攻撃、待機など)とターゲット、さらにデバッグ用の推論が含まれます。

私はQwen 1.5Bの指示(instruct)モデルと推論(reasoning)モデルを試しましたが、うまくいくのは半分ほどです。およそ80%の確率でアクションも正しく、推論も正しいのですが、それ以外は完全にランダムです。

この種のモデルを扱うときに、いくつか一般的な質問があります:

- JSONの入力と出力は良いアイデアでしょうか、それとも世界の状態をエンコードして、代わりに自然言語で出力したほうがよいですか? たとえば「私は北方向で距離7のstone_01へ移動する」みたいに。

- 距離の数値は良い実践でしょうか。それとも「隣接している」「近い」「近辺」「遠い」といったセマンティックなエンコーディングのほうがよいですか?

- タスクに合う、より良いモデルファミリーはありますか? 可能なら生成時間とサイズの都合で2B未満に留めたいです。

アドバイスがあれば何でもありがとうございます。

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

広告