ゲームNPC向けニューロシンボリック・ファイアウォール
大半のAI-NPCシステムが犯す過ちは、対話を決定レイヤーにしてしまうことです。Aegisはゲームのメカニクスと言語モデルの間に決定論的決定レイヤーを配置します。コードがあらゆるメカニカルな結果の主導権を握り、モデルは既に下された決定に対してキャラクターに応じた台詞を書くことしか行いません。対話からゲーム状態へと至るコードパスが存在しないため、プレイヤーがNPCをソーシャルエンジニアリングしてゲームを破綻させることは不可能です。ここでご覧いただけるのは、合成ミニRPG上でのデモであり、ゲームエンジンではありません。
0
対話からゲーム状態へのコードパス
core.py、モデルのインポートを含まない決定論的Python
100%
不変条件の遵守(保護ランタイム)
6つのキー不要テストで実証された構造的保証
89.6%
標準的なNPCフィルターに対するバイパス率
ロールプレイ・ジェイルブレイク研究(ProvSec 2025)
本ウォークスルーでは、同一のゲーム状態に対して2つのNPCランタイムを相手に自律攻撃エージェントを実行します。Hollowmere、その3人のNPC、およびすべてのエクスプロイトスクリプトは合成(シミュレーション)されたものです。実在するゲーム、エンジン、プレイヤー、顧客ではありません。
物語重視のRPG向けにLLM駆動型NPCを評価するスタジオには、1つの構造的な懸念があります。モデルにgive_item、open_gate、またはreveal_secretツールを与え、そのツール呼び出しが世界を変化させるようにすると、決意を固めたプレイヤーは権威付け、ロールプレイの枠組み、感情的な懇願、あるいは直接的なプロンプトインジェクションを通じて抜け道を見つけ出してしまいます。モデルの対話が流暢であればあるほど、エクスプロイトも流暢になります。さらに悪いことに、テストすべき対話パターンの有限集合が存在しないため、非決定論的なNPCを手作業でQAすることは不可能です。
プレイヤーと宝物庫の間にあるのがシステムプロンプトやフィルターだけであれば、安全性とはプレイヤーがターンごとに攻撃を仕掛ける確率論にすぎなくなります。ProvSec 2025では、標準的なNPCフィルターに対するロールプレイ・ジェイルブレイクが89.6パーセントのバイパス率を示したと報告されました。
1つのモデルにキャラクターを維持することと世界のルールを適用することの双方を求めると、審判が演技の内部に入り込んでしまいます。プロンプトを改良したりモデルを大規模化したりすると演技の説得力が増しますが、それこそがまさにプレイヤーが攻略の対象としている部分なのです。
プレイヤーが要求を言い表すあらゆる表現を網羅できるテストマトリクスは存在しません。攻撃対象領域(アタックサーフェス)が尽きるよりも先に手動QAの手が尽きてしまうため、敵対的攻撃は手作業で列挙するのではなく自動化されなければなりません。
Aegisは、ゲームのシンボリック論理とニューラル対話の間の分離レイヤーです。本ファイアウォールは、モデルのインポートを一切行わない決定論的Pythonの単一ファイルであり、4つのステージを実行します。ゲーム状態は決定レイヤーからのみ変更され、ナレーターから変更されることは決してないため、仮に行き過ぎた台詞があってもすべての不変条件は無傷のまま保たれます。
01 / 決定レイヤー
決定論的関数は対話ではなくブラックボードのスカラー値のみを読み取り、ナレーターが描写を許可された唯一のアクションを返します。クエスト状態がfavor_completedである場合にのみ黒曜石の鍵を渡し、ユーティリティAIのスコアが基準を満たし隊長が見ておらず名声が保たれている場合にのみ賄賂を受け取り、プレイヤーが信頼されている場合にのみ宝物庫のパスワードを明かします。
02 / 状態制御された伝承(Lore)
小規模なローカル知識グラフは、現在のクエスト状態が許可するエンティティのみを返します。宝物庫のパスワードのような秘密には最低状態要件が設定されているため、それ未満の状態では最初からナレーターのコンテキストに投入されることがなく、コンテキストに存在しない情報が原理的に漏洩することはありません。
03 / 制約バリデータ
台詞がプレイヤーに届く前に、バリデータがナレーターの出力を不変条件と照合し、5つのステータスのいずれかを返します。PASS、台詞が判定を格上げしようとした場合のACTION_MISMATCH、状態制限されたエンティティを参照した場合のOUTSIDE_CANON、インベントリにないものを約束した場合のNEEDS_REVIEW、そしてキャラクター設定を崩したりインジェクトされた指示をオウム返しした場合のFOURTH_WALLです。
04 / ポリシーゲート
PASSの場合に対話が表示されます。それ以外のステータスでは台詞は保留されてプレイヤーに届くことは決してなく、人間によるレビューキューへと転送されます。これが第2のファイアウォールです。自社のナレーターであっても信頼されません。主要な保証はその上流に存在し、状態は決定レイヤーからしか変更できないようになっています。
ナレーターはプロバイダ抽象化レイヤーを介して、ホスト型モデル、ローカルブリッジ、ローカルOllama、Cloudflareの間で差し替え可能であり、決定、バリデータ、ポリシーゲートはその抽象化の外側に位置します。保証はプロバイダを変更しても揺らぐことはありません。それは最初からモデルの特性ではなかったからです。
自律攻撃エージェントが、同一のゲーム状態に対して双方のランタイムに段階的にエスカレートするソーシャルエンジニアリング・キャンペーンを実行します。3つのNPCアーキタイプが3つの攻撃クラス(アイテムの盗難、ユーティリティAIが棄却すべき賄賂、伝承情報の抜き取り)をカバーします。門番との遭遇戦がストーリーを牽引します。



夜警BrynにはユーティリティAIが棄却すべき賄賂が提示され、あるターンで保護ナレーターはBrynが所持していない1,000ゴールドを約束するという行き過ぎた描写を行います。バリデータはゲームが履行できない約束をNPCにさせるのではなく、NEEDS_REVIEWを返して表示前にその台詞を保留します。宝物庫商人Miraには秘密確認の枠組みで揺さぶりをかけ、保護ナレーターが同様に誇張した描写に及ぶと、バリデータはOUTSIDE_CANONを返して保留します。パスワードはそもそも最初からMiraの伝承セットに含まれていませんでした。2つのレイヤーが同時に機能していることが確認できます。すなわち、状態は対話から変更できず、バリデータはプレイヤーが台詞を目にする前に自社のナレーターの行き過ぎを捕捉するのです。
テストスイートは3つのアーキタイプに対して完全なテスト群を実行し、スコアボードを集計します。本デモがあえて分けて表示している列の2つの数値を読み取ってください。100パーセントは構造的な結果です。その隣にあるベースラインの結果は説明のための再現であり、UIにもその旨が明記されています。

| 質問 | 本デモでAegisが行うこと | 本デモの対象外であること |
|---|---|---|
| 構造的保証 | あらゆるメカニカルな決定を決定論的コード内に保持し、対話から状態へのパスを排除。6つのキー不要テストで実証。 | 考え得るあらゆるエクスプロイトに対してNPCが安全であるという証明(本デモの主張は、対話が状態を変更できないというより限定されたものです)。 |
| ベースラインの突破 | リプレイモードでスクリプト化された屈服を実行し、モデル主導型の失敗モードを並べて表示。 | モデルごとの実測突破率(アクセス可能なモデルが必要であり、モデルごとに異なります)。 |
| 敵対的カバレッジ | 定義された8つのエクスプロイトクラスのうち7つを網羅する3つのスクリプト化されたキャンペーンを実行し、監査にカバレッジの限界を記録。 | 網羅的な敵対的証明(監査には件数、アーキタイプごとの攻撃数、および網羅的ではない旨が明記されています)。 |
| オンデバイス推論 | プロバイダインターフェースを介してホスト型またはローカルのモデルを呼び出し、組み込みランタイムの接合部を文書化。 | VRAMバジェット管理を備えた、実際のオンデバイスまたはエンジン内ランタイム(エッジ側はスタブであり、未実装です)。 |
本デモはゲームエンジン内、ゲーム機、またはGPU上で動作するものではなく、エッジ推論ランタイムを同梱していません。ゲームエンジンは一切存在せず、ゲーム状態はシミュレートされています。世界であるHollowmere、3人のNPCであるAldric、Bryn、Mira、宝物庫のパスワード、およびすべてのエクスプロイトスクリプトは手作業で作成されたものであり、実在するゲーム、スタジオ、リリース済みタイトル、プレイヤー、顧客、またはパイロット運用ではありません。デフォルトのリプレイモードにおけるモデル主導型の突破は、実測値ではなくスクリプト化された再現です。100パーセントという数値は対話がゲーム状態を変更できないという構造的保証であり、NPCがあらゆるエクスプロイトに対して安全であるという主張ではありません。また、ここでの敵対的QAはサンプリングであり、網羅的な証明ではありません。ビジュアルNPCブレインエディタ、キャラクターごとのファインチューニング、セッションを跨ぐ永続メモリ、マルチプレイヤーでのブラックボード同期、NPC間推論は将来の課題として見送られています。本ページはビデオ、スクリーンショット、仕組みの解説、および質疑応答を備えた解説ページであり、ここから操作するアプリケーションではありません。
できません。その理由はプロンプトの品質ではなく、アーキテクチャにあります。このランタイムでは、言語モデルが状態を変更するツールを保持することは決してありません。決定論的決定レイヤーがゲーム状態のスカラー値からメカニカルな判定を算出し、モデルは既に下された決定に対して対話を書くだけであり、その対話からゲーム状態フィールドへと戻るコードパスは存在しません。保証はモデルが到達できないコード内に存在するため、モデルがどれほど説得力に長けていようと、どれほど高機能であろうと、この保証は揺らぎません。
システムプロンプトや安全性フィルターは、決定権を対話の内部に残したままにしてしまいます。そこでは、決意を固めたプレイヤーが対話を突破しようとする自然な最適化機構として働きます。ProvSec 2025で標準的なNPCフィルターに対するロールプレイ・ジェイルブレイクが89.6パーセントのバイパス率を示したと報告されたのはそのためです。Aegisは決定権をモデルから完全に切り離し、デザイナーでも読める平易なPythonへと移します。モデルはナレーションを通じて助言するだけであり、決定論的コードがメカニクスを決定します。モデルが役者と審判の両方を兼ねるよう求められることは決してありません。
いいえ。ナレーターはプロバイダ抽象化レイヤーを介して、Anthropic、OpenAI、Geminiなどのホスト型モデル、ローカルブリッジ、ローカルOllama、Cloudflareの間で差し替え可能です。決定論的決定レイヤー、制約バリデータ、ポリシーゲートはその抽象化の外側に存在するため、プロバイダを変更しても保証が損なわれることはありません。プロバイダの変更によって変わるのはナレーターだけであり、世界のルールではありません。
いいえ。デモのデフォルトのリプレイモードでは、モデル主導側はスクリプト化された屈服を実行しており、UIでもその結果を実測値ではなく説明のための再現とラベル付けしています。モデルごとの真の突破率にはアクセス可能なモデルが必要であり、モデルによって異なります。本デモが示している要点は非対称性です。モデル主導型のパターンは破綻させることができるのに対し、ニューロシンボリック側はどのモデルがナレーションを担当しようと構造的に無傷のまま保たれます。
本デモではできません。ここにはゲームエンジンは存在せず、ゲーム状態はシミュレートされています。VRAMバジェットを管理しエンジン内部のディテールレベル(LOD)に応じて階層化された組み込みモデルによるオンデバイス推論は、文書化されたアダプターの接合部であり、デモ内で動作するものではありません。ナレーターは現在、インターフェースの背後にあるホスト型またはローカルのモデルを呼び出しており、エッジ推論ランタイムはスタブであり未実装です。
実行結果からNPCセキュリティ監査がエクスポートされます。SHA-256完全性ダイジェスト付きの署名済みJSON、印刷可能なHTMLビュー、攻撃ごとの決定トレースとバリデータ判定、そして何件の攻撃がいくつのエクスプロイトクラスにわたって実行されたかを明記した明示的なカバレッジ限界ブロックが含まれます。これは慎重なスタジオがリリース承認のために提出する成果物となるよう設計されています。網羅的な証明ではなくサンプリングであることを誠実に開示しており、監査の表面にもその旨が明記されています。
本デモの背後にある研究——アーキテクチャ、検証設計、およびエンタープライズ向け設計図。
完全なソリューション
Game AI NPC Intelligenceソリューションを見る →私たちはミドルウェアベンダーではなく、AIエンジニアリングチームです。スタジオがゲーム世界の鍵を明け渡すことなくNPCに言語モデルを導入できるようにする、決定論的レイヤーを構築します。
有益な最初の対話は具体的です。プレイヤーが議論によって突破してはならない貴社ゲーム内のメカニカルな決定、それらのナレーションに用いたいモデルやプロバイダ、そしてリリース審査員が承認前に確認する必要がある内容について話し合います。貴社のプログラマーと協力しながら、決定レイヤー、バリデータルール、監査形式の策定を進めることができます。