【ITニュース解説】TouchGrass AI: Local Gemma 2B Micro-Adventure Generator
2026年10月10日に「Dev.to」が公開したITニュース「TouchGrass AI: Local Gemma 2B Micro-Adventure Generator」について初心者にもわかりやすく解説しています。
ITニュース概要
TouchGrass AIは、オフラインで動くWebアプリだ。場所と時間から、現実世界での観察・探索タスクを生成する。Googleの軽量AIモデルGemma 2Bをローカルで動かし、ネット不要でプライバシーを守る。C#で生成タスクを厳密に制御し、スクリーンから離れて現実と交流する体験を提供する。
ITニュース解説
TouchGrass AIは、スマートフォンなどの画面から目を離し、現実世界と直接触れ合うためのユニークなWebアプリケーションである。このアプリは、ユーザーが普段過ごしている場所で、ちょっとした探検を楽しめるように設計されている。例えば、近所の公園、街の中心部、あるいは静かな住宅街といった現在の環境と、自分が使える時間をアプリに入力すると、その場でしか体験できない現実世界での観察ミッションを瞬時に生成してくれる。生成されたミッションは、特定の特徴を持つ建築物を探したり、自然の中の特定の色彩を見つけたり、決められたルートを歩くといった具体的な身体活動を伴うもので、ユーザーはスマートフォンをポケットに入れ、実際に外に出て世界とインタラクトすることになる。このアプリの核心にあるのは、画面を見る時間を最小限に抑え、現実世界での体験を最大化するという明確な目標だ。
このTouchGrass AIの裏側には、いくつかの興味深い技術が連携して動いている。まず、ミッションを生成する「AIエンジン」には、Googleが開発した「gemma2:2b」というAIモデルが使われている。このモデルは「オープンウェイトモデル」と呼ばれ、その中身がある程度公開されており、開発者が自由に利用したり改良したりできる特徴を持つ。さらに重要なのは、このAIモデルが「Ollama」というツールを使って、インターネット上のクラウドサーバーではなく、ユーザー自身のパソコン上で直接動く点だ。これは「ローカル推論」と呼ばれ、インターネット接続がない場所、例えば電波が届かない森の奥深くでも、ミッションを生成して利用できるという大きなメリットが生まれる。
次に、「バックエンド」と呼ばれる、Webアプリケーションの裏側の処理を担当する部分について説明する。TouchGrass AIでは、「.NET 10 Minimal API」という技術がC#言語を使って構築されている。これは、Webサービスのサーバーサイドの処理をシンプルかつ効率的に記述するための方法だ。このバックエンドは、ユーザーからの入力(環境や時間)を受け取り、それをAIモデルが理解できる形式の指示(「プロンプト」と呼ぶ)に変換してAIに送る役割を担う。そして、AIが生成したミッションのテキストを受け取り、その情報が正しい形式(例えば、ミッションが箇条書きのリストになっているか、必要な情報がすべて含まれているかなど)になっているかを厳しくチェックし、必要に応じて修正する「スキーマ強制」という処理を行う。この「スキーマ強制」が非常に重要で、後述する開発上の課題を解決する鍵となった。
ユーザーが直接触れる「フロントエンド」は、シンプルなHTML、CSS、JavaScriptという標準的なWeb技術で開発されている。これは特別なフレームワークを使わず、基本的な要素のみで構築された「Vanilla」な構成でありながら、どんなデバイスの画面サイズにも対応できる「レスポンシブ」なデザインが採用され、自然をモチーフにした目に優しいダークテーマが特徴だ。
このアプリを開発する上で、最も大きな課題の一つは、非常に軽量な「2B」というサイズのAIモデル(AIモデルの性能や規模を示す指標で、数字が小さいほど軽量)を、「架空の冒険物語」ではなく「現実的で具体的な物理タスク」を生成させるように「しつける」ことだった。開発当初、AIはユーザーを架空の探偵ミッションに送り出そうとするなど、想像上のシナリオを作り出す傾向があった。この問題を解決するために、C#で書かれたバックエンドで厳格な「JSONスキーマ」というルールをAIの出力に適用し、ミッションが常に決まった形式のデータ(JSON配列)で出力されるように強制した。さらに、AIへの指示(プロンプト)の中で、架空のキャラクターや状況を作り出さないよう明示的に制限を加えることで、AIは常にユーザーの現在地と文脈に合った、現実世界で実行可能なタスクを生成できるようになった。
TouchGrass AIが「オープンソースのAIモデル」を使い、「ローカルで動作する」ことにこだわったのは、いくつかの重要な理由がある。まず、「100%オフライン機能」は、インターネット接続が一切不要な環境でもアプリが利用できることを意味する。これは、電波の届かない山奥でハイキング中にミッションを生成するといった使い方が可能になるということだ。次に、「完全なプライバシー」が確保される点がある。ユーザーの現在地情報や使える時間、歩行習慣といった個人的なデータは、一切インターネット上の企業サーバーに送信されることがない。すべての処理がユーザー自身のデバイス内で完結するため、情報漏洩のリスクを心配する必要がない。最後に、「透明性と制御」というメリットがある。開発者は、ローカルでAIモデルを動かす「ローカル推論」を通じて、AIがどのようにユーザーの空間的な文脈を理解し、情報を処理しているかを詳細に観察できた。これにより、AIへの指示を迅速に調整したり、C#バックエンドでAIの生データ出力を正確に解析し、不要な情報を取り除いて安全な形に「サニタイズ」したりする作業を効率的に行えた。このようなオープンイノベーションへの取り組みは、アプリの核心となるオフラインでの利用とプライバシー保護を実現するために不可欠だったのだ。
このように、TouchGrass AIは、最新のAI技術とWeb開発の知識を組み合わせることで、日常生活の中に小さな冒険を生み出し、デジタルと現実世界のバランスを取り戻そうとする興味深い試みである。技術的な側面だけでなく、その開発哲学もまた、これからのシステムエンジニアにとって考えるべき価値あるテーマとなるだろう。