VEGAとAIバックエンド:セーフティネットのある言語モデル
ゲームの船載AIであるVEGAとNPCは、本物の言語モデルのおかげで、生き生きとした会話ができます。それがどう作られているのか、そしてなぜAIがなくてもゲームが動くのか。この記事ではそのお話をします。
しくみ。AIの連携は、専用のバックエンドサービスにあります。LangChain/LangGraphで作られ、OpenAI互換のインターフェースを持ちます。いまその裏にあるのは、ヨーロッパ(OVH)でホストされているMistralのモデルです。このインターフェースは、あえて入れ替え可能にしてあります。もっと良い、あるいはもっと安いモデルが明日あらわれたら、変えるのはアーキテクチャではなくプロバイダーです。
内側にだけ開く。AIサービスは、サーバー内部からしかアクセスできません。公開エンドポイントはありません。話しかけられるのはゲームサーバーだけで、ほかの誰にもできません。インターネットに開いたLLMゲートウェイは、数日のうちに見知らぬ人たちの無料チャットボットになってしまいます(しかも請求はぼくたちに来ます)。
いちばん大切な設計判断:テンプレートへのフォールバック。ゲームは、AIに頼ってはいけません。言語モデルが交わせる会話は、すべて昔ながらのテキストテンプレートとしても存在します。バックエンドにつながらなくても、クォータを使い切っても、返事がただ遅すぎても、NPCとVEGAはテンプレートでシームレスに話し続けます。せいぜい、文が少し予想しやすくなったとプレイヤーが感じるくらいです。AIが落ちたら黙り込むゲームは壊れていますが、少しぎこちなく話すだけのゲームは壊れていません。
このフォールバックの考え方は、ゲームにLLMを組み込む人への、いちばん大切なアドバイスかもしれません。モデルは晴れの日の天気のようなものと考えましょう。雨の日にも備えておくのです。
コメント