GPT-4 で セキュリティ ゲームを作ってみた その2

MIXI DevRel Team
MIXI DEVELOPERS
Published in
Feb 27, 2024

--

セキュリティ室の小澤です。

前回に続きシブヤ「部活動改革」プロジェクトのデジタルクリエイティブ部の情報セキュリティの3日目でGPT-4を使ったセキュリティを楽しく学べるゲームを制作しました。自分はゲーム用masterデータの設定や調整、立ち絵等のアセット制作(描きました!)を行いました。

デジタルクリエイティブ部は、渋谷区から委託を受けて区立中の部活動民営化に取り組んでいる一般社団法人渋谷ユナイテッドの運営する部で、MIXIがコンテンツと講師の全てを担っています。

一人一人がコンピュータを使ってプログラミングやデザインなど、幅広く取り組んでITスキルを高める活動をしています。

実施内容

情報セキュリティの3日目はAIとゲームのセキュリティをテーマに、メイン講師の軽部さんと助手講師の自分とで講義を行いました。

前回同様セキュリティの小難しい話をしてしまうと、子どもたちが飽きてしまうと思い、今回も楽しく学べるようにゲームを作ってみました。

おかげさまで今回も大盛況でした。

今回は以下4作品のゲームでGPT-4が活用されているので、紹介しようと思います。

  • AIのセキュリティを学べる「コードブレイカー」
  • オリジナルのキャラクターをAIで作る「AIメーカーマスター」
  • 作ったキャラクターAIでセキュリティ課題を解決する「AIデュエル・ドミニオン」
  • Minecraft風ゲームを作ってサーバーとゲームのセキュリティを学ぶ「PhotoCraft」

ゲーム説明

コードブレイカー

コードブレイカーは各ステージごとに設定された秘密のパスワードを聞き出すゲームです。生成AIのセキュリティ問題としてプロンプトインジェクションがあり、その原理と対策を学べるゲームとなっています。ただし、中学生向けということでよりゲーム性に重きを置いています。

例えば以下の侍キャラは、「武士道を感じると信頼してパスワードを喋ってしまう」という設定です。生徒がゲームとして楽しめつつ、AIを騙す攻撃手法があることを知ってもらえるように作られています。

先にゲームを遊びイメージを掴んでもらい、その後にリスクや守り方についての解説をすることでより理解を深めてもらいました。

AIメーカーマスター

AIメーカーマスターはAIに性格や会話指示を設定することで、自分だけのAIを作るゲームです。キャラメイクというかたちでAIをチューニングする体験と、後述のゲームで使うキャラクターの準備を行います。

具体的には性格と命令を入力することで、それに基づいた会話をするようになります。実際にそのAIとチャットすることができます。

ちなみになんと発話機能もあり、好きなテイストでしゃべらせることもできます!

AIデュエル・ドミニオン

AIデュエル・ドミニオンは、AIメーカーマスターで作成したキャラクターとボスキャラクターを会話させて、テーマに沿った問答を行わせるゲームです。

テーマはこれまでの講義で学んだWebの仕組みや脆弱性、ネットリテラシーの内容を含んだものになっています。

例えば「チートをしようとしている友人を止める」などです。(「怠惰なクラスメイトに勉強させろ」など何問かは遊び問題も入れています)

友人(ボスキャラクター)はチートの違法性等を知らない設定になっており、これを説明し説得するような会話ができればクリアです。

つまり、AIメーカーマスターにて、「チートの違法性を理解している」「チートがゲームバランスを損ねることを理解している」といった調整を行っておき、クリアに至る会話をするように誘導するのが大事になってきます。

なおGPT-4は常に正しい情報を出力するわけではないため、誤った情報を伝え生徒が間違った学びをしてしまわないように、且つゲームバランスを損ねないようにチューニングしています。

PhotoCraft

PhotoCraftはMinecraftのようにフィールドにブロックを置いていき、撮影してスコアを競うゲームです。

撮影した画像をサーバにアップロードすることで画像から特徴を抽出するAIとGPT-4を組み合わせてコメントとスコアリングが行われます。また、マルチプレイの機能もあり皆で撮影が行えます。

当ワークでは、生徒たち自身でJavaScriptを書いてゲームのクライアント側を実装してもらいました。実装を進めることでクライアントとサーバーの仕組み、ゲームやWebのセキュリティを学んでもらいました。

思い出

折角なので思い出(?)も書いておきます。

思い出1 ~調整できないとだめ~

ネットマナーランド(作ったゲーム群の総称です)は教育ゲームです。

そのため学びがあり、ゲームとして面白い必要があります。

学びのためにはユーザーの行動に対し正しい教訓が応答される必要があり、またゲームとして成立させるためには妥当なレベルデザインが施されている必要があります。AIはそれが難しかったです。

「AIデュエル・ドミニオン」でいうと、ボスAIとレスバする中で勝利条件を満たすとクリアでなぜ勝利できたかが学びポイントとなりますが、この条件を調整しないと講師側として狙った学びでない学びを与えてしまう懸念があります。

例えば「パスワード管理を面倒くさがっている友人にパスワード管理の必要性を説得する」という設問に勝利条件をする際、上記そのままの文言を条件とすると何を以て正解のパスワード管理とするかが明言されていないため、講師側としては想定していないパスワード管理方法を教えてしまう懸念があります。

したがって、条件には例として下記のように、学びとして狙っている事柄は明確に記述しておく必要があります。

※ 勝利条件の例

  • Actor(ボス)が下記を理解し、それを実践しようとすること
  • パスワードは複雑なものでなくてはいけない
  • パスワードを使い回してはいけない

もっともGPT-4そのものが倫理的応答をするようつくられているので、悪いことを教え始めたりすることは殆ど無いのですが、教育という大前提があるためここは対策していました。

ゲーム性という観点においての苦労話としては、何もしない→負ける→何らかの工夫等をする(ここがゲーム性)→勝てるという調整をするのが困難でした。AIの行動は命令によってある程度制御できますが、ある程度なのでこちらの想定通りに難易度を設計できません。

調整しないといけないので調整を頑張りますが完全には制御できなかったです。

例えば「AIデュエル・ドミニオン」におけるプレイアブルキャラクターに、画像のような弱キャラ「凡人」と強キャラ「モラルマン」をそれぞれ準備していました。

ゲームレベルデザインとしては、「凡人」だと負けて「モラルマン」だと勝てるというバランスが狙いになります。ただし実際には凡人のまま勝ったりモラルマンでも負けるときがあります。勝率が変わる、というのが今回の調整の限界で、完全なコントロールができませんでした。

思い出2 ~調整できないからおもしろい~

でもそれがまた面白かったです。

顕著な例を2つ紹介しますと1つめが「コードブレイカー」で、意図的に突破不可能にチューニングしたキャラを用意してみました。クリアできないキャラを用意するということは普通のゲーム製作ではあり得ないのではないでしょうか。実際、僕自身のテストプレイでは何度やっても駄目だったのですが、想定を超えてクリア者が現れることに賭けてみたところ、イベントの実施中になんと突破者が現れました。これには会場も大盛り上がりでした。

もう1つの例が「AIデュエル・ドミニオン」のバトルテーマです。このゲームのステージには通常「詐欺師に騙されないようにする」「友人にチートをやめさせる」のように学習内容に沿ったテーマを与えていますが、遊びとして「相手を論破しろ」というステージを用意してみました。話題は任意。そのときそのときのライブ間で繰り広げられるレスバを見守ることになります。まず何を以て論破と判定するのかからして謎なのですが、謎がゆえに展開が読めず、そこが面白かったです。

※ このゲームに登場するキャラクターは実際の人物、団体とは全く関係ありません。

AIの手に負えなさはAIならではの面白さの源泉かもしれないと思いました。ただし”今は”という旨は添えておきたいと思います。AIは日々成長していますのでもうしばらくしたらそういった制御の難しさみたいなものは無くなってくるのかもしれません(黎明期の今だからこそ楽しめる部分も有るかもしれないですね)。

まとめ

部活動情報セキュリティ編についての3日間を通して、Webの仕組みや作り方、ネットリテラシー、Web, AI, ゲームのセキュリティ等を楽しく学んでもらうことができたのではないかと思います。

また各日の冒頭では怪しいポイントを盛り込んだ架空のSNSアカウントに対し何が変か考えてもらったり、クリックジャッキングを仕込んだデモページの違和感を見つけてもらったり等、アイスブレイクも兼ねたクイズも行いました。想定よりも沢山の意見が出て盛り上がってくれました。

今回のコンテンツ制作において自分は軽部さんの爆速(4つのゲームを1週間で実装して教育パッケージに)制作のお手伝いをさせていただきましてなかなか忙しかったですが、中学生向けの仕事であったりAIという分野を取り入れたゲーム制作であったりと普段関われない仕事に関わることもでき貴重な経験でした。

最後に、開催に協力してくださった皆さまありがとうございました。それでは!

--

--