【ITニュース解説】I built an AI that wants me to stop using it.
2026年10月10日に「Dev.to」が公開したITニュース「I built an AI that wants me to stop using it.」について初心者にもわかりやすく解説しています。
ITニュース概要
DETOURは、AI(Gemma)を活用し、気分や時間、天候に合わせて現実世界の小さな冒険を提案するアプリだ。スクリーンから離れ、日常に刺激を与える目的で開発された。Python/FlaskやSQLite、HTML/CSS/JSで構築され、オープンソースAIの活用と、AIが使えない場合のフォールバック機能も特徴。AIで現実世界を探求させる新しい試みだ。
ITニュース解説
このニュース記事は、「DETOUR」というAI搭載アプリケーションの開発について詳細に解説している。DETOURは、現代社会で人々がスクリーンを見る時間が長すぎるという問題に対し、その解決策としてあえて「別のアプリ」を作るという逆転の発想から生まれた。このアプリの核心的な目的は、ユーザーの気分、利用可能な時間、天気といった状況に合わせて、現実世界での小さな「冒険」を提案することで、人々を部屋から外へ、そしてスクリーンから解放することにある。
DETOURが提案する冒険の例としては、「普段素通りするような黄色いものを見つける」「いつもと違う帰り道を選び、今まで気づかなかったものを3つ見つける」「何か場違いなものを探し、そこからさらに200歩歩く」といったものがある。これらは一般的な運動計画や生産性向上ツールとは一線を画し、ノルマやプレッシャーを与えることなく、ただ純粋に小さな発見や体験を促す。ユーザーが退屈している時、好奇心旺盛な時、疲れている時、あるいはただ混沌とした気分な時でも、DETOURはそれに合わせた最適な冒険を生成し、日常に少しの非日常をもたらす。
DETOURは単なるミッション生成ツールではない。冒険には「探検」「好奇心」「観察」「勇気」「混沌」といった独自のステータスがあり、ユーザーはまるでゲームのキャラクターのように自分の発見を通して成長していく感覚を味わえる。発見したことや感じたことを記録できる「フィールドノート」機能を使えば、自分だけの冒険日誌が作成できる。「1 KMミュージアム」は、身の回りにある何気ないものを自分だけのコレクションとして収集する楽しさを提供し、「バードブレイン」は、遭遇した物事をすぐに特定するのではなく、観察のヒントを与えることで、ユーザーの探求心を刺激する。これらの機能は、日常の世界を少しだけ特別なものに変えることを目指しており、DETOURの真のプロダクトはスクリーン上のアプリではなく、「冒険そのもの」にあるという開発者の哲学が反映されている。
このDETOURアプリはすでに公開されており、誰でも実際に試すことができる。また、そのソースコードもGitHubで公開されているため、システムエンジニアを目指す初心者にとっては、実際のアプリケーションがどのように構築されているか、また、その開発プロセスでどのような工夫が凝らされているかを学ぶ絶好の教材となるだろう。
DETOURの開発で採用された技術スタックは、システム開発の基本的な要素で構成されており、初心者にも理解しやすい内容だ。ウェブサイトの見た目やユーザーインターフェース(UI)を担当する「フロントエンド」には、ウェブページの骨格を作るHTML、デザインを整えるCSS、そして動的な操作やインタラクションを実現するJavaScriptが使われている。アプリの裏側でデータの処理やビジネスロジック、ミッション生成などを担当する「バックエンド」には、汎用性の高いプログラミング言語であるPythonと、Pythonでウェブアプリケーションを構築するためのフレームワークであるFlaskが採用されている。ユーザーのデータや冒険の記録といった情報を保存する「データベース」には、手軽に利用できるSQLiteが使われている。
このアプリの最も特徴的な部分である「AI」には、Googleが開発したオープンウェイトモデルである「Gemma」が使われている。これは「Ollama」というツールを通じて開発者のローカル環境で動作させることができる。オープンウェイトモデルとは、そのAIモデルの内部の仕組みや学習済みのデータの一部が公開されており、開発者が自分の環境でそのモデルを実行したり、必要に応じてカスタマイズしたりできるAIモデルのことだ。Gemmaは、ユーザーの気分や利用可能な時間、天気などの状況を考慮して、具体的で少し風変わりでありながらも安全なミッションを生成する役割を担っている。AIへの指示文であるプロンプトは、不法侵入や運転を伴う危険な行動、不必要な購入を促すような提案を避けるように設計されており、雨の日には雨に合わせた冒険を提案するなど、天気によってミッションの内容も変化する工夫が凝らされている。
開発者は、アプリのインターフェースデザインにもこだわり、一般的なAIダッシュボードのような無機質なものではなく、手書き風のアクセントや植物のイラストを取り入れることで、まるでフィールドジャーナル(野外観察日誌)のような温かみのあるユーザー体験を目指した。
特に注目すべきは、AIモデルの利用に関する技術的な工夫だ。DETOURはRenderというクラウドサービス上で「デプロイ」(アプリをインターネット上に公開し、誰でも利用できるようにすること)されているが、Renderの無料プランでは、開発者のローカル環境で動作するOllamaを直接利用することはできない。この課題を解決するため、開発者は「プロシージャルフォールバック」という仕組みを実装した。これは、AIモデル(Gemma)が利用できない場合に備えて、あらかじめ決められたルールやロジックに基づいてミッションを生成する代替手段である。これにより、たとえAIモデルがクラウド環境で動作しなくても、DETOURアプリは常にユーザーにミッションを提供し続けることができる。システム開発においては、このような予期せぬ事態や環境の違いに備える「フォールバック」の設計が非常に重要となる。
開発者がオープンウェイトAIモデルを使ったのは、「AIが単なるブラックボックスのようなAPI呼び出し(内部の仕組みが見えない外部サービス利用)であってほしくない」という強い思いがあったからだ。彼は、AIモデルがアプリケーションにどのように組み込まれ、プロンプトがその振る舞いをどう変化させ、モデルが利用できない時に何が起こるのか、そしてアプリケーションの体験のどの部分を自分でコントロールできるのかを深く理解したかった。オープンモデルを使うことで、AIを活用したミッション生成の実験を自分で行いながらも、アプリケーションの他の部分を完全に自分の管理下に置くことが可能になった。
DETOURの目的は、AIを使って人々をスクリーンに依存させることではない。むしろ、AIをツールとして利用し、人々がスクリーンから離れ、現実世界での体験を求める理由を作り出すことにある。オープンモデルは、このようなユニークな目的に向けた実験をより身近なものにする。開発者は、オープンモデルを中心に独自の機能を構築し、アプリケーションがモデルをどのように利用しているかを確認し、プロンプトを試行錯誤し、そして今回のようにフォールバック機能を設計できる。これは、外部のホストされたAIモデルを単なる「製品全体」として受け入れるのではなく、その可能性を最大限に引き出し、自分のアイデアを実現するための強力な手段となることを意味している。
このプロジェクトは、AI技術を単なる利便性の追求だけでなく、人々の行動や体験を豊かにする新しい方法に応用できることを示している。システムエンジニアを目指す者にとって、DETOURは、既存の技術を組み合わせて新しい価値を生み出し、予期せぬ課題に対して技術的な解決策を講じ、そして何よりも「手で作り上げる」ことの面白さと意義を教えてくれる良い例だと言えるだろう。