AIなしの宝の地図:LLMが間違った答えになるとき
ぼくたちのNPCは、プレイヤーに宝のヒントを教えてくれます。見捨てられた残骸や、仲が良ければ隠された宝箱です。この機能を計画したとき、ひとつの解決策が当然のように思えました。AIバックエンドがあるのだから、NPCのヒントを言語モデルに言わせればいいじゃないか!ぼくたちはそれをやめることにしました。その理由は、いい教訓になります。
LLMの問題:AIバックエンドからのNPCの会話は、コストのためにキャッシュされています。雑談なら完璧です。商人がきょうも昨日と同じ台詞を言っても、だれも気づきません。でも宝のヒントには事実が含まれています。方向、距離、場所です。キャッシュされたヒントは、昨日の宝箱を指してしまいます。そしてキャッシュがなくても、言語モデルは座標を創造的に「改善」してしまいがちです。道を誤らせるヒントは、ヒントがないよりも悪いものです。
解決策:決定論的に。ヒントは、いまは昔ながらの方法で手作りされています。サーバーは本当の位置を知っていて、方向を計算し、テンプレート(ドイツ語と英語)からセリフを組み立てます。同時に、その場所は、その世界のすべてのプレイヤーのマップに点として表示されます。すでに回収された残骸は、自動的にプールから外れます。モデルもなく、ハルシネーションもなく、古くなったキャッシュもありません。ヒントは、ただ正しいのです。
ここから引いたルール:ぼくたちにとってLLMが担うのは雰囲気です。個性、雑談、物語の語り口です。発言が事実として正しい必要があるとき(場所、数字、ゲームのルール)は、決定論的なコードが正しい技術です。AIの問題に見えるものが、すべてAIの問題とは限りません。
コメント