![見出し画像](https://assets.st-note.com/production/uploads/images/111804496/rectangle_large_type_2_7a3f0f707542d249aeaa423751e41c04.png?width=1200)
【LLM活用】アイデアが創発される音声認識メモアプリの紹介と、LLMを活用してみての学び
日常生活に溶け込むような大規模言語モデル(以下、LLM)の活用方法を模索していたのですが、先日結構良さそうなアイデアを思いついたので作ってみました!
その名も「音声でサクッとメモを残せて、蓄積されたメモから勝手にアイデアが創発されるアプリ」です!
先月からSwiftの勉強を始めて、初めてのiOSモバイルアプリ開発でしたが、我ながら普段使いに耐えうる形に作れた気がします。
この記事ではアプリの紹介と、LLMを日常生活に溶け込ませる上での考慮したポイントを実体験ベースにまとめてみます。
追記(7/10)
嬉しいことに結構反響をいただいたので、AppStore公開の対応を進めています!無事、公開がされましたらTwitterの方で告知させていただきます。
追記(7/28)
AppStoreに公開しました!以下のURLからダウンロードができます!
音声メモアプリの紹介
音声でメモをとる
アプリを開いたらワンタップで録音ができ、Whisperによって文脈を汲み取って良い感じに文字起こしがされます。
文字起こしにかかる時間は数秒ほど。1分ほど話したら数百文字程度は入力できます。想像以上の手軽さです。
![](https://assets.st-note.com/img/1690428224706-hISYJvazRt.png?width=1200)
ただ数百文字の文字起こしは、見返すのにかなり労力がかかります。そうなると見返さなくなっちゃいますよね。つまりそれは、せっかくのアイデアのタネを忘れてしまうことに。。
そこで文字起こしされたコンテンツに対して、ChatGPT APIを用いてタイトルとトピックスを自動的に生成しています。このトピックスとはコンテンツの中で印象的な要素を解釈して抜き出しています。
![](https://assets.st-note.com/img/1690428250844-IFpoeopeDi.png?width=1200)
これにより音声で入力した内容を簡単に思い返すことができます。結構惹かれるようなタイトルをつけてくれるので、気分も上がります🚀
もちろん音声認識だけだと、人混みの中で入力しずらかったり、ChatGPTに聞いたことを再度音声入力するなど面倒な時もたくさん。なのでテキストで入力もできるようにしています。
ここまででも個人的には「良いやん!」となっていたのですが、もう一踏ん張りしました。GPT-4ならではの賢さを活かして、メモ内容の掛け算までできたら最高じゃない?と思ったわけです。
蓄積したメモからアイデアを創発する
というわけで、ランダムに2個のメモをピックアップして、それを踏まえた意外性のあるアイデアの提案を生成してくれる機能をつけました。(1日1個までに制限しています。)
![](https://assets.st-note.com/img/1690428327959-hwbkXr7L0Y.png?width=1200)
タイトルを見た感じ、結構面白そうじゃないですか!?個人的には読んでみたいと思うものがチラホラ作られて良いなーと思ってます。
内容については、スラスラと読めるような平易な文体かつ、魅力的な語り口調をしてもらえるように良い感じにプロンプト調整しています。
また、ありきたりな内容ではなく、どれだけ意外性のある内容を引っ張れるかというところも工夫しました。(プロンプトエンジニアリング、むずかった。。)
というわけで、アプリ紹介はここら辺にして、開発を通して学んだLLM活用における気づきを言語化していきます。
生活に溶け込むようなLLM活用の工夫
人手をかけたら良い体験を生み出せる領域に、LLMが活用できないかを検討する
LLMは革新的な分、新しいUXに目を向ける機会が多いです。ただ個人的には既にある「人手を割いてクオリティを高めている仕組み」を、LLMで置き換えることができないかについて考えると、良い体験を生み出しやすいのかなと感じます。
少し言い方を変えると、品質が高まると体験が良くなるメンタルモデルが既にあって、その品質を人手をかけることで高められるのであれば、そこをLLMで置き換えられないか?という視点です。
今回のアプリの例で言えば、タイトルやトピックスの生成、メモ同士を掛け合わせたアイデアの提案があたります。
LLM登場前であっても、人手や時間を割けば、内容を読み返したいと思うようなタイトル付けをしたり、蓄積されたメモからアイデアを提案してもらうことは可能でした。
これをLLMを使ってシステムとして置き換えることで、コストが低く持続可能で、より速く、より大規模に、高いクオリティのサービスを実現できます。
個人的に思ってるのは、カテゴリごとのより細かなラベル付けによるアイテムの見つけやすさ向上であったり、登録データの審査による品質向上、各アイテムの簡易的な訴求文章の生成など、そういった類の領域はLLMによってスケールされることで、サービスのクオリティを高めることに繋げられるのではないかと思っています。
パーソナルな情報を入力したいと思える仕組みを作る
LLM(とりわけGPT-4)は、質の高い回答をすることができます。ただ、それがユーザーにとって価値を感じるものかは別問題です。
価値を感じてもらうためには、その人の前提情報を知り、生成されたコンテンツに「分かってる感」を持たせる必要があると思っています。
そのためにはユーザーにパーソナルな情報(コンテンツ生成における前提情報)を入力してもらう必要があるわけですが、それってユーザーへの負荷も大きく、かなり大変ですよね。。
ユーザーに義務として課してしまうと、日常的には入力されないので、リアルタイム性のない、薄いパーソナル情報しか蓄積されなくなる気がします。
今回のアプリは、利用者が自分自身の情報(考えていることなど)を蓄積したいと思えるような仕組みづくりを意識しました。具体的にはこんな感じです。
音声入力したら良い感じにタイトルをつけてくれるので、良いこと言ってる感が得られる
自分が入力したメモを掛け合わせて、GPT-4がなんか面白いことを提案してくれる
この仕組みを整えることで、
「メモを登録する」→「良い感じのタイトルをつけてくれて嬉しい」→「メモを登録したい&する」→「自身のメモをベースに提案されたアイデアが面白い」→「もっと提案してほしいのでメモを登録する」→「多様な提案が生成される」→「もっと使おう」
といったような、ポジティブスパイラルが生まれてくるのではないかなと思っています(妄想)
gpt-3.5-turboを扱えるプロンプトエンジニアリング力を鍛える
レスポンス速度を考えた時に、gpt-3.5-turboの選択肢が挙がります。ただこれをプロダクトの機能として扱うには、一定以上のプロンプトエンジニアリング力が求められます。
GPT-4ではできたことも、gpt-3.5-turboでは同様のプロンプトではうまくいかないケースは結構あるので、それを乗り越えるための胆力が求められます。
今回のアプリ開発において、一番苦戦したのがこの領域でしたが、アイデア詳細のコンテンツ生成部分については諦めてしまいました。。
生成されたコンテンツがサービス品質に直結する領域は、特に難易度高いなと痛感しました。修行します!
コンテンツを読む負荷を抑える
生成コンテンツをそのまま提供する場合、長い文章はかなり負荷大きいです。すごい質の高いコンテンツでも、普段使いしていくと疲れて読まなくなってしまいます。
文章を読むのは結構負荷がかかることであると認識した上で、サービス体験を設計していくことが大事だなと思いました。自分の中での読む負荷を抑えるコツはこんな感じです。
同様の価値を届けられるなら、短い文章にする
フランクな言葉遣いにする(あるいはギャル語とかも結構いいです)
平易な言葉遣いにする
プレゼン的な読ませる構成にする
物語調の文体にする
今回は2,3,4あたりを重点的に取り入れました。また個人的に"物語"はかなり汎用性が高い気がしており、ここら辺は応用可能性を考えていこうと思っています。
生成されるコンテンツの希少性を高める
あえて生成できるコンテンツ量に制限を設けるということは、個人的にかなり重要だと思っています。ChatGPTで無制限に生成できる世界だと、コンテンツの価値は下がります。
なのでサービスの中の世界で、生成できる回数に制限を設けることでコンテンツの価値を高めることができると思っています。
今回の音声アプリでは、アイデアの生成は1日1回の制限を設けました。ここら辺は実際に利用してみて、制限があることによるユーザー心理を感じてみたいと思います。
おわりに
このアプリは、iOSモバイルアプリとLLMの勉強用かつ、自分用に作ったので、AppStoreの公開とかは特に考えていません。もし使ってみたいと思われた方は、すみません…!
AppStoreに公開しました。ぜひ試してみてください!
個人的にSwiftを学びたてでも、ChatGPTを使えば1週間でモバイルアプリ(検証レベル)を作り上げられるんだと自信が出てきました!良い時代ですね。
8/19追記:
ideaPotの知見をベースに、さらに普段使いに特化させた音声認識メモアプリを開発しました!
メモを「見返しやすく、楽しい体験にする」ということに焦点を当てて、LLMを使い倒しました…!学びを言語化してます。