← TOOLS & POSTS一覧へ戻る
開発 2026-08-24

プロンプトインジェクション対策をやった話

AIに自由記述を判定させるゲームである以上、プレイヤーが「AIへの指示そのものを書き換えようとする入力」を送ってくることは、最初から想定しておく必要がありました。この記事では、そうした入力への向き合い方を、具体的な手口には触れない範囲で書いておきます。

なぜ対策が必要なのか

このゲームのAIは、あらかじめ用意されたルールに従って判定を行うよう設計されています。ですが、入力の書き方次第では、AIに「今までのルールを忘れてください」といった形で、本来のルールを無視させようとする入力が送られてくることがあります。エンタメとして遊んでいる分には実害は小さいですが、ゲームとしての一貫性やバランスが崩れてしまう原因になります。

判定AIに全てを委ねない設計

一番意識したのは、「怪しい入力の検出」と「物語としての判定」を、同じAIの同じ処理の中で完結させないことです。ルールを無視させようとする意図が明確な入力については、AIの自由な判定に渡す前の段階で検出し、固定の結果を返す仕組みを別に用意しています。これにより、仮にAI側の判定がうまく騙されてしまったとしても、最終的な結果はゲームとして意図した範囲に収まるようになっています。

「塞ぐ」だけでなく「遊びに変える」

こうした入力への対策は、単に「弾いて終わり」にするのではなく、ゲームの世界観に沿った結末(ルール違反として扱われる、など)に落とし込むようにしています。対策そのものも、プレイヤーから見れば一つの「詰み筋」として楽しんでもらえるような形を意識しています。

まとめ

AIを判定者として使うゲームでは、正攻法のプレイヤーだけでなく、システムの裏をかこうとするプレイヤーの存在も前提にする必要があります。塞ぐべきところは塞ぎつつ、それすらも遊びの一部にできないか、というバランス感覚を大事にしています。