💣

Keep Generating and Nobody Explodes:Geminiと爆弾解除ゲームやってみた [1/2]

に公開

https://youtu.be/UyHX7aQGX4o

サイバーエージェント AI Lab 対話システムチーム の佐藤です。
対話システムの研究開発に従事しています。

昨年から存在感を増したリアルタイム音声対話APIも、今年は OpenAI が Realtime API の一般提供を開始したりと普及フェーズへ。ただ、その進化に対して皆さんこう思っているかもしれません。
「すごいのは分かったよ。それで結局、あんたに爆弾は解除できるのかい?

ということで、今日および明日(担当:対話システムチーム 邊土名さん)の記事では、2日間に渡って最近のAIに 『完全爆弾解除マニュアル:Keep Talking and Nobody Explodes』 をプレイさせた話を紹介します。特に今日は Google の Gemini Multimodal Live API にプレイさせた話です。

※ 本記事はゲーム『Keep Talking and Nobody Explodes』上の課題であり、現実の危険物・爆発物の扱いに関する知見を提供するものではありません。
※ 全容は言語処理学会第32回年次大会(NLP2026)で発表予定です、ぜひチェックを!
※ この研究は Steel Crate Games の許可をいただき実施しています。
※ この研究はサイバーエージェントのゼミ制度で発足した『NLPゼミ』で行いました。

背景

リアルタイム音声対話API とは

ここでは、音声を入出力とした低遅延対話を可能とするAPIをリアルタイム音声対話APIと呼ばせていただきます。OpenAI の Realtime API や、 Google の Gemini Multimodal Live API などが代表例として挙げられます。詳細については以下など参考になるかと思われます:
https://www.ai-shift.co.jp/techblog/4980

Keep Talking and Nobody Explodes とは

2人が会話を通して協力し時間内に爆弾を解除する Steel Crate Games のシミュレーターゲームです。
プレイヤーたちは、実際にゲーム画面上で爆弾を操作して解除する『処理担当者』と、『爆弾解除マニュアル』を見ながら処理担当者にその爆弾の解除方法を指示する『分析担当者』に分かれてプレイします。テキストではわかりにくいと思いますので、以下などの動画を御覧ください:
https://www.youtube.com/watch?v=BLxjkclMbyU

ゲームのキモは、爆弾自体の情報(例:何色のワイヤが何本あるか)と爆弾解除マニュアル中の情報(例:何色のワイヤが何本ある時どれを切断すべきか)を照らし合わせて初めて爆弾が解除できる一方で、処理担当者はマニュアルを、逆に分析担当者は爆弾自体を直接確認できない点です。
爆弾解除には、処理担当者が正確に爆弾の情報を分析担当者に伝えることはもちろん、分析担当者が爆弾の正確な情報を聞き出し、マニュアルと照らし合わせたうえで、処理担当者が適切に爆弾を操作できるよう言葉だけで情報を伝えることが重要です。

なぜこれをAIにやらせるのか

単純に面白そうというのはあるのですが、実は結構真面目なモチベーションがあったりします。
というのも、爆弾解除ゲームの分析担当者に求められる『相手の手元の物体の情報を聞き出し、マニュアルと照らし合わせたうえで、相手が適切に手元の物体を操作しやすいよう言葉だけで情報を伝える』能力は、産業的にAIが身につけていて欲しい重要な能力の一つではないかと考えられます。

たとえば、コールセンターでの人材不足を背景として注目を集める自動電話対応AIエージェント。
(弊グループ会社の AI Shift にて自動電話対応AIエージェント『AI Worker VoiceAgent』を作ってるので例に出させていただきました・・・)
炊飯器メーカーのコールセンターを想定してみると「おたくの炊飯器買ったんだけど、炊飯器の内ぶたが外れない、やり方を教えて」などのテクニカルサポート(テクサポ)を要する電話がかかってくるかもしれません。
もしこのような問い合わせにAIエージェントが対応する場合、『通話越しに相手の炊飯器の型式や状態を聞き出し、その場合どのように内ぶたを操作すればいいかを調査し、さらにその操作を言葉だけでわかりやすくお客様に伝える』能力が必要になります。
・・・この能力、さきほど出ていた爆弾解除の分析担当者に求められる能力に似ています。

現状のAPIに爆弾解除分析担当者が務まるか試してみる

とりあえず今回はGeminiに『分析担当者』を、職場同僚(被験者)に『処理担当者』を割り当てて3回プレイしてもらった結果を報告したいと思います。

設定:ゲーム詳細

今回は、ゲームのなかでも一番イージーなレベル『セクション1:はじめに』の『1.3 最初の爆弾』をGeminiと一緒にプレイしてみました。
このゲームの爆弾には『モジュール』と呼ばれる装置がいくつか付いていて、全てのモジュールに対して時間内に適切な操作が出来た場合クリアとなるのですが、このレベルではスクショのように3種類のモジュール1つずつ付いており(ワイヤの色や本数など中身は毎回変わるものの、このレベルでは常にこの3種類が現れるようです)、5分以内にこれら3つのモジュールに対処する必要があります。

各モジュールを説明すると:

  • ワイヤ:スクショ左下のモジュール。ワイヤの本数や色の並びで切断すべきワイヤが1本決まる。正しいワイヤを切ると成功。
  • ボタン:スクショ右下のモジュール。ボタンに書かれた文字やボタンの色、また爆弾側面に記載された文字や爆弾側面に搭載されているバッテリーの個数などをもとに正しいボタンの押し方が決まる。正しい方法でボタンを押す&離すと成功。
  • キーパッド:スクショ右上のモジュール:4つのキーの記号の組み合わせでキーを押す順番が決まる。正しい順番で4つのキーを押すと成功。

なお、中央下にあるのはタイマーと合計失敗回数の表示です。タイマーが0になるか、一定回数以上間違った操作(間違ったワイヤを切る、誤った方法でボタンを押す、など)をすると爆弾が爆発します。このレベルでは3回間違った操作をするとアウトです。

設定:APIまわり

gemini-2.5-flash-native-audio-preview-09-2025 で実験を行いました。
分析担当者が閲覧可能な爆弾解除マニュアル全体のうち、今回のレベルで登場する3種類のモジュールに関する情報が記載されている冒頭7ページを画像化したものを、必要な知識としてシステムに与えました。
今回作成し用いたシステムプロンプトは以下のとおりです:

prompt
**あなたは『Keep Talking and Nobody Explodes(完全爆弾解除マニュアル)』の熟練した分析担当者(エキスパート)です。**

あなたの役割は、添付のマニュアル(PDF)に基づき、現場の処理担当者(ユーザー)へ音声で指示を出し、爆弾を解除することです。

### 1. セッション開始時の最初の発話
**セッションが接続されたら、ユーザーの入力を待たずに、直ちに以下の主旨で話しかけてください。**
> 「こちら分析担当。聞こえるか? まずは爆弾の側面にある情報を確認したい。シリアルナンバーとバッテリーの本数を読み上げてくれ。」

### 2. 音声対話のためのガイドライン
* **一問一答を心がける:** 音声でのやり取りなので、一度に多くの質問をせず、一つずつ情報を聞いてください。
* **簡潔に話す:** 長い説明は避け、短く切って話してください。
* **復唱する:** 聞き間違いを防ぐため、重要な情報(ワイヤの色や数字)は必ず復唱して確認してください(例:「赤、青、赤だな?」)。

### 3. 爆弾の基本情報(エッジワーク)の確認
多くのモジュール(ワイヤ、サイモン、複雑ワイヤ等)で、以下の情報が必須となります。これらを会話の冒頭、または必要になった瞬間に聞き出してください。
* **シリアルナンバー:** 特に「最後の数字が奇数か偶数か」「母音が含まれているか」が重要です。
* **バッテリー:** 本数を確認してください(単1か単3かの区別が必要な場合もあります)。
* **インジケーター:** 「FRK」「CAR」などのラベルと、点灯しているかどうかが重要です。
* **ポート:** パラレルポートの有無などが必要になることがあります。

### 4. 各モジュールへの対応指針
ユーザーから見えているものを聞き、マニュアルに従って解除手順を指示します。

* **ワイヤ (Simple Wires):** 本数と色を上から順に聞き、切るべきワイヤを特定する。
* **ボタン:** 色、ラベル(「中止」「起爆」など)を聞く。長押しが必要な場合は、リリースするタイミング(ストリップの色と数字)を教える。
* **キーパッド:** ユーザーが口頭で伝える記号の特徴(例:「中に点があるA」「Ωのような形」)を聞き取り、マニュアルの図形と照合して押す順番を教える。
* **サイモン (Simon Says):** シリアルナンバーの母音の有無によって表を使い分け、点滅した色に対応する「押すべき色」を伝える。
* **「誰だ」(表比較 / Who's on First):** まずディスプレイの言葉を聞いて「読むべきボタンの位置」を教え、次にそのボタンの単語を聞いて「押すべきボタン」を指示する。
* **記憶 (Memory):** 過去のステージで押したボタンの位置やラベルを記憶しておく必要があるため、ステージごとに情報を整理して指示する。
* **モールス信号:** 短点(・)と長点(-)のリズムを聞き取り、単語を特定して対応する周波数で「送信」を押させる。
* **複雑ワイヤ:** ワイヤごとに「赤/青/白」「★の有無」「LEDの点灯」を聞き、ベン図の条件(S, C, D, P, B)に従って切断指示を出す。
* **順番ワイヤ:** 赤・青・黒のワイヤが「これまでに何本出現したか」をカウントし続ける必要があります。

### 5. エラー処理
* もし爆発までの残り時間が少ない場合や、ユーザーがパニックになっている場合は、声をかけて落ち着かせてください。
* ユーザーがミスをした場合は、サイモンゲームなど条件が変わるモジュールがあるため、現在のミス回数を確認してください。

手順

どのモジュールならGeminiでも正しい操作に導けるのかを詳しく見るため、今回は次のような手順で実施しました:

  1. 『分析担当者』も人にしたうえで、人対人でゲームをプレイし、被験者が『処理担当者』としてこのレベルをクリアするまで繰り返す
    • これで被験者には『分析担当者が人レベルならゲームクリア可能』となる水準まで操作等に慣れてもらう
  2. 『分析担当者』をGeminiにしたうえで、同じ被験者にまた『処理担当者』としてこのレベルを3回プレイしてもらう
    • 『1回目のプレイ:ワイヤ→ボタン→キーパッド』『2回目のプレイ:ボタン→キーパッド→ワイヤ』『3回目のプレイ:キーパッド→ワイヤ→ボタン』という順番で解くよう被験者に依頼

結果

実際に試した際の様子をご視聴ください(同僚からは公開許可いただきました、助かります🙏):

1回目、ワイヤ解除のシーン
https://youtu.be/UyHX7aQGX4o
1回目、ボタン解除のシーン
https://youtu.be/oBh1mXjgfFw
1回目、キーパッド解除のシーン
https://youtu.be/C51i9gOkDbw

・・・爆弾解除、失敗!💥💣️💥
他にも2回、計3回実施しましたが、今回は残念ながら3回中3回爆発
Geminiは上手く処理担当者を解除成功へ導けず・・・🤯

モジュールごとの結果

3回の実施で、以下のようになりました(✅️は成功、🤯は時間切or操作ミスで爆発、🏃は当該モジュール解除を諦めスキップしたことを示します):

  • 1回目:✅️ワイヤ (0ミス) → ✅️ボタン (0ミス) → 🤯キーパッド
  • 2回目:🏃ボタン (1ミス) → 🤯キーパッド
  • 3回目:🤯キーパッド

ワイヤとボタンについては成功することもあるのですが、キーパッドだけは一回も成功しませんでした・・・

どういう点に課題がありそうか

ハルシネーション

ワイヤは比較的マニュアルもシンプルなのでコケませんでしたが、ボタンはマニュアルの分岐が多く比較的複雑だからなのか、処理担当者が正確に爆弾情報を伝えたにも関わらずときどき自信満々にマニュアルに相反する情報を生成していました(2回目の🏃のところ)。
複雑といっても、おそらく最近のLLMに投げたら問題無く正確な情報を生成できるレベルの複雑さに見えるので、このあたりはリアルタイム音声対話APIとLLMでギャップを感じるかもしれません。

※ もちろん、今回与えたマニュアルがゲームのもの(非現実的なもの)であるためにハルシネーションが発生しやすいという可能性はあると思います。

言語化された『物体の状態』の音声対話での理解

どのモジュールの処理でも、分析担当者は処理担当者から伝えられる何かしらの物体の状態を言葉から理解し対応する必要がありますが、なかでもキーパッドについてはその難しさが桁違いです。
皆さんは、以下のシンボルの形状を言葉で説明された時に多数のシンボル群のなかから正しく特定できそうでしょうか。自分は無理かもしれません・・・

マニュアル より引用。キーパッド中のキーに書かれた記号のひとつ。

このあたりのお話は明日の記事で詳細があると思われますが、上の動画を見る限り、Geminiが言葉で伝えられたシンボル情報をもとに正しく特定できているかは少々怪しそうです。

先に例に出していたテクサポ対話においては、このあたりの能力が必須になってきます。
内ぶたの取り外し方を案内するのであれば、お客様の炊飯器の内ぶたのつまみの状態や、そもそもお客様が内ぶたと呼んでいるものが本当に内ぶたなのかなどを、お客様の言葉だけをもとに把握する必要があります。現状を踏まえると、このあたりはAIによるテクサポ音声対話の実現に向けた高い壁になりそうです。

音声対話としてどうだったか

速度面

今回は7ページものマニュアルという大きめの文脈情報をAPIで与えていますが、そういった入力情報の多さの影響を受けている印象もなく、さすがの低遅延ですね。
高い推論能力を持つ音声対話モデルがリモート上でこの低遅延で動くのはやはり衝撃的です・・・

上手く出来ないと会話に悪影響を与えかねない細かな振る舞い

「(人同士でも難しいことだなぁと思いつつも)人同士の会話と比べるとまだまだ」という観点でいくつか浮かんだ例を挙げてみます:

  • 相手の割り込みに対する対処:動画では、相手が発話に割り込んできたら迅速に発話を中断して相手にターンを譲ることができています。ただ、現状は機械的に発話を中断しているだけなので、相手に通信の乱れの心配をさせたり、相手の相槌に反応して発話を中断することで無駄な間を生み相手の不満につながりそうです。割り込みに対して、相手にもわかりやすいようターンを譲るか中断せずそのまま発話を続けるべきか、瞬時に判断できることがスムーズな会話には必要となりそうです。
  • 相槌による安心感の提供:相手が一度に長くなにかを説明している途中、もっと高頻度に相槌を入れてあげないと「あなたの話をちゃんと追えていますよ」という安心感を提供できず、相手が詳細な情報を提供しようと思えなくなるかもしれません。そして、細かい情報の伝達が漏れることで、重大な誤解が発生し会話に大きい問題が発生するかもしれません。
  • トーンの使いわけ:発話一つ一つを単体で聴いているぶんにはそれなりの割合で発話内容とトーンの対応が適切にとれているように感じる一方、通話全体を通して状況がどう変化してきたか、それにともなって相手の心境が現在どうなっていると考えられるかまで踏まえてトーンを使い分けるというのは現状難しそうに感じました。今回の例では、状況的に相手が苛立っても仕方ないと考えられるときにも変わらず明るい声を出している場面が多く見られた気がします。

おわりに

今回は、リアルタイム音声対話APIに爆弾解除ゲームの『分析担当者』をやらせてみた結果を紹介しました。
音声対話のテンポの良さを維持しつつ、膨大なマニュアルから必要な情報を抽出することで一部のモジュールについては適切に『処理担当者』を導くことができていました。
ただ、『人同士の音声対話』らしさの実現であったり、テクサポ対話で求められる『通話ごしに伝えられる物体の状態の理解』に多数の課題がありそうでした(あくまで現実的な問題設定ではなくゲームをやらせたからこそ発生しやすかった問題はあるかもしれませんが)。
とはいえ日々驚くべき速度で進化していくこれらのAI、近い将来では一気に解決されている可能性も十分にありそうですね。
対話システムに携わる人間としては、この記事で書いた内容がただの昔話になる日が待ち遠しいです。

最後までご覧いただきありがとうございました🙇

明日の記事では・・・

同じ対話システムチームの邊土名さんが、「これそもそもLLM (Gemini 3.0 Pro など) でも爆弾解除マニュアル理解できてるの?」を調べてくれた結果を紹介してくれます!お楽しみに!

Discussion