生成AIアプリの進化について考えてみる その1　「アプリの要件」

この投稿は、私が所属するKDDIテクノロジーで行っているアドベントカレンダー第1日目の12月1日記事となります。他の記事はこちらです。
https://qiita.com/advent-calendar/2024/kddi-technology　

本エントリーは「生成AIアプリ」をテーマに、現在の姿と将来の進化について、主にアプリ開発やアプリ市場の観点で技術動向を俯瞰して予測してみよう、という試みの第一回目となります。

- [「生成AIアプリの進化について考えてみる　その1「アプリの要件」](https://qiita.com/simdroid/items/4a1009fd5f3cc593d9a2)　【←今回】
- [「生成AIアプリの進化について考えてみる　その2「生成AIアプリの実行環境とミライ」](https://qiita.com/simdroid/items/27f4fdda5b68dc02c170)
- [「生成AIアプリの進化について考えてみる　その3「ポストスマートフォンと属人機」](https://qiita.com/simdroid/items/f88c0b94eba0a115de8a)

現在の生成AIアプリの提供形態はなぜSaaSのような形なのか、ネイティブアプリであるAndroidやiOSのアプリ開発は今後広がるのか、もし広がるならばそのきっかけは何であるかを探ってみようと思います。今回はまず生成AIアプリの前提となる、アプリの要件についての議論を紹介させていただきます。
また、この記事は今年の6月に幕張メッセで開催されたInterop2024Tokyoにおいて、私が行った「進化するアプリ イマ×ミライ～生成AIアプリへ続く道と新時代のアプリとは～」の登壇資料をベースに、その後の起こった生成AI動向を含めてアップデートした読み物の第一弾となります。
https://forest.f2ff.jp/introduction/9177?project_id=20240601
なお、本エントリーは嶋是一個人の見解と妄想に基づく記事としており、属する団体やその組織の総意にはなりえないことを、ご了承ください。

# アプリが世の中を作り出す
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51080/fd00b843-f483-c2df-538e-868cb01da839.png)
世の中の技術の進化が、様々なコンピューティングを実行できる端末(モノ)を作り出し(PC、スマートフォン、スマートウォッチ等)、それらの端末の上で動作するアプリケーションは、世の中を(コト)作り出します。遠距離の意思伝達や(電話アプリ)、時間を超越したコミュニケーション(SNSアプリ等の非同期メッセージ)などが、その一例です。クラウドやスマートフォンなどの動作場所に限らず、サービスは「アプリ」によって提供され、世の中でできることは、ますます多くなっています。
まさに、アプリが世の中を創り出す時代と言えます。

# 端末アプリの歴史
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51080/21eeb181-510a-135b-9215-3da1edb43200.png)

端末の歴史は、端末上で動作する「アプリの歴史」であったとも言えます。
1980年代に生まれたPCは、WindowsやMacなどのOSにより、それらのOS上で動作するアプリケーションがソフトウェアパッケージとして配布されました。現在もなお、同じようにソフトウェアのインストールを行いPCに機能を追加しています。
その10年後の1990年代は、もともと組装置(機能の後づけが不可)であった携帯電話に、限定的ではありましたが、アプリという概念が持ち込まれ、ダウンロードにより新機能を追加し、実行できるようになりました。
その後2010年前後にはスマートフォンが広まり、AndroidとiOSのような実行環境が普及したおかげで、スマートフォンアプリ、もといアプリという言葉が広く定着しました。

# クラウドアプリの歴史
ここまではいずれも、端末上で動作するアプリの話でしたが、サーバー/クラウド側でもアプリ化の動きが出てきます。HTML5などの技術を用いて、Webページをアプリやソフトウェアアプリケーションと同じように動作できる実行環境を、ブラウザ上に構築しました。このブラウザ上で動作するWebページの事を「Webアプリ」と呼んでいます。Webアプリに対して、AndroidやiOSのアプリケーションは「ネイティブアプリケーション」と呼ばれるようになります。この両者の欠点を補うために、両アプリ技術を利用した「ハイブリットアプリケーション」という開発手法も現在盛んです。
クラウドの開発も、コンテナ(docker)、オーケストレーション(K8s)という概念が用いられることにより、特定のクラウドに依存しない仮想化された開発環境が用いられるようになりました。この点はあまり語られてはいないのですが、私としてはクラウドアプリケーションは、これらの技術により「よりアプリ化が進んでいる」と考えています。

# 生成AIのアプリの進化
これら端末アプリの進化、そしてクラウドアプリの進化の先に、どのように生成AIアプリが乗っかっていくのかが、議論点となります。最終的には、端末アプリで実現する生成AIアプリも、クラウドアプリとして実現する生成AIアプリも将来存在するでしょうか。しかしそこに至るまでの進み方の違いと、進むための条件が異なります。
そのため、生成AIの将来を整理する前に、アプリが継続して存在するために必要な、アプリのエコシステムについて確認し、その要件を分解する事で生成AIアプリの進化を予測してみましょう。

# アプリのエコシステムが成立する要件
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51080/191107b9-713f-5546-599d-acaad5ca14db.png)

アプリのエコシステムとは、新しいアイデアのアプリが作成され、それがアプリを利用する人が見つけやすい環境で配信され、何らかの価値がアプリ開発者にフィードバックされるサイクルを指します。これが促進されることにより、アプリの創出が促され、より端末が便利に道具として使えようにになるだけでなく、社会の生活スタイルの変革を起こすようなキラーアプリが創出され、新しい市場が作り出されるもこともあります。そのため、このような環境が期待されています。
特に、新しいアイデアのアプリが作成されるためには、開発手法が公開されており、誰でも自由に開発できるようになっている必要があります。フィーチャーフォン以前の時代は、開発手法自体がメーカ内で閉じており、公開していませんでした。一方、以降の時代では、アプリの開発手法は公開され、メーカ以外の開発者も開発に携わることができるようになりました。このおかげで、多くのアイデアとアプリが開発されるようになり、アプリのエコシステムが確立しました。
このようなアプリのエコシステムを成立させるために必要な要件が3つあります。

①ハードウェアリソースがある事
②実行環境がある事
③配信環境がある事
## ①ハードウェアーリソースがあること
アプリを動作させるための、実行する環境の事を「アプリ実行環境」と呼び、ハードウェアとソフトウェア(特にOS)の両方で実現します。このアプリの実行環境には、十分の速度で処理ができる性能を持つハードウェアが存在することが必要です。そして、そのハードウェアの環境が普及している事が必要となります。
これらの環境がなければ、アプリが動作できる(物理的な)ハードウェアが存在しない事となり、アプリの動作自体が成立できません。また、これらのハードウェアを持つ端末が、適切な価格で、広く普及している事も必要な条件です。なぜなら、この環境が普及していないと、その事項環境で動作するアプリ配信において、多数のダウンロードが見込めなくなってしまうからです。つまりエコシステム阻害要因となってしまいます。
## ②実行環境がある
ハードウェアがあっても、この実行環境が無ければアプリは動作できません。具体的には、PCにおいてはマイクロソフトのWindowsやAppleのMac、フィーチャーフォンのMOAPやKCP+、スマホのAndroidやiOS、WebのWebプラットフォーム、クラウドでのDockerやK8sなどが実行環境にあたります。
アプリから見て、最も実行環境に期待することは、端末ごとの差分を実行環境が(多くの場合OSが)吸収してくれることです。つまり、端末ごとに搭載されているデバイス部品(例えばスピーカー)は異なりますが、それぞれの部品に対してアプリを個別修正することなく、1つのアプリでどこでも動作できるようになる事です。
このような実行環境の特徴を「下回りの越境」と私は呼んでいます。この特徴がこのあとのアプリの進化の重要なポイントとなります。
## ③配信環境がある
アプリが広く使われるようになるためには、多数の開発者により開発された複数のアプリが、集められた場所で公開され、アプリを必要とする人が有償無償でダウンロードできるような、アプリの配信環境が必要となります。これをアプリのマーケットプレイス呼び、代表的な物がGoogle Playや、AppStoreです。多くの場合ダウンロードしたアプリは、実行環境のおかげで、OSが同じなら異なる機種でも動作することができます。またアプリは販売することもでき、マネタイズ(収益化)にもつながります。このような配信が行える前提条件として、アプリの開発や仕様がオープンに公開されている必要があります。

# 生成AIアプリでの要件達成度
生成AIアプリの提供環境として代表的な物は、OpenAI社のChatGPTで提供されているGPTsや、Google社のGeminiで提供されているGemsなどです。ほかにもDify社のDifyなどは、作成したシステムをアプリのようにしてマーケットに登録する仕組みを持っています。いずれも「③配信環境」は要件としてクリアしています。
生成AIでは推論環境という名となる「②実行環境」は、端末側、クラウド側ともにまだ普及していません。端末側については、ようやくAndroid/iOS/PC(Copilot)が発表されたところなので(詳細は次回)、まだまだ準備中という状況です。クラウド側の生成AIの実行環境は存在していますが、まだ高価だったり、推論コンテナ環境などはNVIDIAなどの中に閉じており(NIM : NVIDIA Inference Microservices)、他クラウドでも汎用的に使えるコンテナ環境としては普及できていない状況です。そのため、自身でLLMの推論環境を構築するよりは、GPTsやGems、DifyなどのようにLLM推論環境が含まれたSaaSをAPI経由で利用する(または提供する)のが現在も最適解となっていると言えます。
もっと辛い状況なのが、①のハードウェアです。スマートフォンの既存のCPUやDSPでは生成AIの応答に満足いくレスポンスタイムが得られません。今年の1月に開催されたCESにて、Thindersoft社がQualcommのSoCであるSnapdragon8380でLaMA2-7Bを動作させるデモストレーションをしてくれたのですが、動作したことに感動したものの、エッジ動作のレスポンスに20秒程度もかかっていた点で、将来の課題の大きさを知る事となり、少しがっかりしたものです。しかし昨今はGPUならず、推論専用チップの「NPU(Neural network Processing Unit)」を、または相当のAI専用チップを搭載する動きが進んでいます。これが搭載されており、実行環境から活用できてい端末は、AI動作を高速に活用できています。この動向は今後加速すると思われますが、残念ながら現在は対応している端末が少ないため、活用が進んていないので現状です。そのため、ネイティブアプリとしての生成AIアプリはまだまだであり、アプリに生成AI機能を組み込む場合は、SaaS経由のAPIアクセス利用が、一般的な開発手法となっています。まずは、このNPUの普及が、端末上での生成AIアプリの実行のために必要な事であり、これが普及するタイミングが広がるタイミングとなるでしょう。

# 下回りの越境は実行環境があるからこそ成り立つ
アプリの歴史は商業的な意味合いも含めて、下回りの越境により進められてきた経緯があります。次回に詳細は紹介しますが、次の図を見てください。
## 下回りの越境具合
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51080/341e054b-7955-8c60-7238-385a6b243669.png)
縦軸に端末やサービスの要素を記載しています。下に行く方がより物理的なものであり、上に行くほど論理的な要素になるように記載しました。また横軸は、アプリの動作する実行環境を右に行くほど新しくなるように記載しています。「〇」は越境を実現した要素を記載しています。例えばPCの場合は、前述の通りデバイスの違いはWindowsなどのOSにより吸収され、越境できています。またPCの機種やメーカーが異なっていても、同じWindowsならばアプリケーションが動作できるため、メーカのところまで「〇」となっています。ただ、PCの「OS」のところは「×」となつているとおり、越境できていません。つまり、同じPCであっても、WindowsとMacの間は越境できない為です。
## 越境を実現しているものは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/51080/03ff8538-b914-3aa9-f6f5-f1a091e016c2.png)

ここでは越境を実現させることができた、具体的な製品群や技術を赤い矩形で表現しました。アプリの進化は、越境できる範囲を増やしながら進んできていることが分かると思います。これらの実行環境の各々の事情について整理しつつ、生成AIアプリはどのように何を越境することができるのか、を次回に検証したいと思います。

## 現在の取り組み
株式会社KDDIテクノロジーでは、AndroidやiOSのアプリを中心に、生成AIやクラウドを用いた開発や、新しい技術を扱う仲閒を、積極的に募集しています。ともに開発やPMの仕事をしてみませんか?

興味ある方は是非こちらの採用ページからご相談ください。お待ち申し上げています。
→　https://recruit.kddi-tech.com/

# 生成AIの勉強会の宣伝 12/4 19:00～
ちょっと宣伝させてください。12/4の19時から、NVIDIAさんも交えた生成AIの無料勉強会をオンラインイベントとして開催させてもらいます！
申込　→　https://mcpcdai2kaiseiseiaikatuyoubenkyoukai.peatix.com/
プロンプトの一歩進んだ使い方や応用術が解説されます。MCPC人材育成委員会により開催される「生成AI人材育成勉強会」となりますので、受講される方のスキル向上に向けた取り組みとなります。興味持っていただけましたら参加いただけると嬉しいです。
ちなみに、私はこちらの司会とオープニングをさせて頂きます。
#### ①『オープニング　～生成AI業界状況～』
【講演者】MCPC人材育成委員会 ワイヤレスプロンプトエンジニア育成検討会主査/株式会社KDDIテクノロジー　CTO/NPO法人 日本Androidの会 理事長/一般社団法人 生成AI協会 理事　嶋 是一
#### ➁『生成AIを使いこなす力：プロンプトの工夫で広がる可能性』
【講演者】株式会社エル・カミノ・リアル 　代表取締役　木寺祥友
生成AIは私たちの生活やビジネスを劇的に変える力を持っています。本セッションでは、プロンプト設計の重要性に焦点を当て、AIの活用効果を最大化するための実践的なテクニックをご紹介する予定です。最新の生成AI技術や活用事例を交え、より効果的なAI活用のための視点をお届けします。初心者から上級者まで、生成AIをより深く理解し、活用するための「プロンプトの力」を学びましょう。
#### ③『生成AIとテレコムオペレーション 』
【講演者】エヌビディア合同会社　テレコムビジネスユニット　エバンジェリスト 　野田　真
業種を問わず様々な場面で活用されはじめた生成AIですが、テレコム業界も例外ではありません。テレコムオペレーションに生成AIがどのように貢献できるのか、いくつかの具体例を挙げながら解説いたします。
#### ④『企業データ活用を推進するプロンプト応用術』
【講演者】アステリア 　エバンジェリスト　森　一弥
企業内には日々の企業活動によって多くのデータが存在し、代えがたい資産となっています。今や生成AIの中心的存在である大規模言語モデルでこれらの「データ資産」を活用するためには、プロンプトにファイルを添付する方法から、企業データを予めサービスに預ける方法や、RAG（Retrieval-augmented generation）と呼ばれる開発を伴う手法など様々なものが存在しています。本セッションでは主に企業におけるデータ活用を進める例を中心にプロンプトの応用方法についてお伝えします。



なんと今回はNVIDIA さんの登壇が実現できました！テレコム中心に生成AI の話をしていただきます。
本イベントはプロンプトの活用のスキルなどを習得する事を目的としており、生成 AI の話題のトピックを紹介するだけの勉強会とは一味違います。タイトルは「新しい生成 AI の世界を乗り切る使いこなし」です。
興味持っていただけた方は是非ご参加ください（無料イベントです）。　
こちらの勉強会は、私が参画してるコンソーシアムのMCPC の人材育成委員会で主催するものとなります。自身の企画でもあるので、なんとか成功させたいと思っております。どうぞよろしくお願いします！

是非とも奮ってご参加いただけますと幸いです。
申込　→　https://mcpcdai2kaiseiseiaikatuyoubenkyoukai.peatix.com/