【ITニュース解説】Can an Algorithm Dream? I Built an App to Find Out.
2025年09月09日に「Dev.to」が公開したITニュース「Can an Algorithm Dream? I Built an App to Find Out.」について初心者にもわかりやすいように丁寧に解説しています。
ITニュース概要
GoogleのAI「Gemini」と共同で物語を作るWebアプリが開発された。AIが生成した文章からキーワードを選ぶだけで、次の物語が自動で生成される仕組みだ。開発にはAIへの指示を試せる「Google AI Studio」が活用され、安定した動作を実現している。(117文字)
ITニュース解説
AIと対話しながら物語を共同で作り上げていくWebアプリケーション「Progressive Story Maker」が開発された。このツールは、文章を書く際にアイデアが浮かばなくなる「ライターズブロック」という問題を解決することを目的としている。ユーザーが簡単な選択を繰り返すだけで、AIが物語を次々と展開してくれるため、創造的なプロセスをゲームのように楽しむことができる。
アプリケーションの動作は非常に直感的である。まず、ユーザーは「中世ファンタジー」や「現代ミステリー」といった物語のジャンルを選択する。すると、AIがそのジャンルに合った物語の最初の文章を自動で生成する。ここからがこのアプリケーションのユニークな点である。生成された文章の中のいくつかのキーワードがハイライト表示されており、ユーザーはその中から一つをクリックして選ぶ。ユーザーがクリックしたキーワードが、AIに対する次の文章を生成するための「お題」、つまりプロンプトとなる。AIは、そのキーワードを元に物語の続きとなる新しい段落を生成する。そして、その新しい段落の中にもまた、クリック可能なキーワードが含まれている。このプロセスを繰り返すことで、ユーザーの選択によって物語が様々な方向に分岐していき、全くオリジナルの物語が無限に紡がれていく仕組みとなっている。ユーザーは複雑な文章を考える必要がなく、キーワードを選ぶという単純な操作だけで、AIとの共同創作を体験できる。
このアプリケーションの心臓部には、Googleの高性能な生成AIモデル「Gemini」が使われている。開発者は、外部のプログラムからGeminiの機能を利用するための窓口である「API(Application Programming Interface)」を通じて、AIとアプリケーションを連携させている。しかし、単にAIを呼び出すだけでは、このようなインタラクティブな体験は実現できない。開発の過程では、AIを意図通りに動作させるための様々な工夫が凝らされている。その中心となったのが「プロンプトエンジニアリング」である。プロンプトとはAIへの指示や命令文のことであり、その質がAIの応答の質を大きく左右する。開発者は、Google AI Studioという開発支援ツールを駆使して、最適なプロンプトの設計とテストを繰り返した。特に重要だったのは、AIに魅力的な物語の断片を生成させるだけでなく、その生成した文章の中から、次の選択肢となるキーワードを正確に、かつ原文のまま抽出させるための指示を作り込むことだった。これにより、アプリケーション側でキーワードを確実にハイライト表示できるようになった。
さらに、アプリケーションの安定性を確保するために重要な役割を果たしたのが、「構造化出力」という技術である。AIからの応答が単なる自由な文章(文字列)だと、プログラムがその中から必要な情報、つまり「物語の段落」と「キーワードのリスト」を正確に分離して解釈するのが難しく、予期せぬエラーの原因になりうる。そこで開発者は、AIからの応答を「JSON(JavaScript Object Notation)」という決まったデータ形式で受け取るように設定した。JSONは「キー」と「値」のペアでデータを整理する形式であり、例えば{ "paragraph": "物語の本文...", "keywords": ["キーワード1", "キーワード2"] }のように、情報が構造化されて返ってくる。これにより、プログラムは常に予測可能な形式のデータを受け取ることができ、必要な情報を簡単かつ確実に取り出すことが可能になる。この工夫によって、アプリケーションは非常に堅牢になり、実行時エラーのリスクが大幅に削減された。
また、AIモデルの選定も重要なプロセスであった。開発者は、Google AI Studio上で複数のモデルを評価し、最終的に「gemini-1.5-flash」というモデルを選択した。このモデルは、ユーザーのクリックに即座に反応するための「速度」、創造的な物語を生み出す「性能」、そして多くのユーザーが利用しても運用コストを抑えられる「費用対効果」のバランスが最も優れていた。リアルタイムの対話性が求められるアプリケーションにとって、この最適なモデル選定は、快適なユーザー体験を実現する上で不可欠であった。
現状のアプリケーションは、テキストの入力に対してテキストを生成するという「ユニモーダル」な機能に特化しているが、将来的には複数の種類のデータを扱える「マルチモーダル」な機能拡張が計画されている。具体的には、ユーザーがキーワードをクリックする代わりに、画像をアップロードできるようにする機能が構想されている。その場合、アップロードされた画像と「この画像に基づいて物語を続けてください」といったテキストの指示がAIに送られる。AIは画像の内容を解釈し、それを物語に反映させた続きの文章を生成する。これにより、ユーザーは視覚的な要素を物語に直接取り込むことができ、より豊かで直感的な創作体験が可能になるだろう。このアプリケーションは、AIとの協業によって誰もが創造性を発揮できる可能性を示すとともに、プロンプトエンジニアリングや構造化出力といった技術が、AIを実用的なサービスに組み込む上でいかに重要であるかを具体的に示している。