こんにちは。Androidエンジニアの @katsutomuです。
最近、狩野英孝さんのマイクラ配信にハマっています。 リスナーとのやり取りや、配信時に起きるトラブルに和ませてもらっています。みなさんもオススメのマイクラ動画があれば教えてください。
さて本日は、LLM(大規模言語モデル)であるOpenAI社のChat Completion APIを用いた機能をプロダクトにリリースしたので、そこに至るまでにどのようにプロジェクトを進めていったのかを中心に、2記事に分けてお話ししていこうと思います。
今日は、導入の進め方とリリース後のユーザーさんの反応を、katsutomuとPdMのおりちゃんの共著として、お伝えできればと思います!
モチベーション
今回の施策はエンジニア発で、価値ある機能を作りたいという想いで施策の実行を進めました。 昨今、コネヒトが組織として成長する一方で、役割分担が進みエンジニアからアイデアを出して施策を進める事例が少しずつ減ってきており、歯痒さを感じておりました。
ユーザーを深掘り、アイデアの段階から技術的アプローチでの解決策を考え、課題解決をすることがプロダクト開発の面白みの1つと考えているので、小さくても事例を作ることを目指し、実行に至りました。
ユーザーの課題を元にアイデアをブレストする
とはいえ、何も制約がないと進めづらくなると思い、機械学習×ネイティブアプリで制約をつけることを決めて、iOSエンジニアのゆりこと、MLエンジニアのたかぱいに声をかけて、アイデアの検討をはじめました。最低限決めたことは以下の通りです。
- DAU(1日あたりのアクティブユーザー)に変化がありそうなアイデアを考える
- 30min/weekのもくもくタイムで同期する
この段階から、PdMのおりちゃんに参加してもらうことも考えましたが、まずはたたき台になるアイデアを用意した方が意思決定がしやすいと考えて、まずはエンジニアだけで進めることにしました。
おりちゃんが、プロダクトの現状のサマリーや過去のユーザーインタビューなど、ユーザーの課題感の判断材料になるドキュメントを作ってくれていたので、そこから課題をピックアップして、解決策をそれぞれが考えてくることから始め、LLMの活用やFirebase 向け ML Kitでのスマートリプライを活用する案があがりました。
回答文を書く補助機能としてあげたスマートリプライ機能のアイデアは、LLMを用いてユーザーの補助をすると良いのではないか?というフィードバックもあり、社内で活用しているチャットボットで感触を掴みながら進めました。
LangChainとOpenAI APIを組み合わせて、文脈を考慮して会話できるSlack Botを作った話 - コネヒト開発者ブログ
このように施策候補を作り、スクラムチームの開発フローに乗せるために、以下の3つの施策をリファインメントの場に持ち込むことにしました。
チームを巻き込み、より良いアイデアを具体化する
リファインメント内でチームで会話し、実験していく価値があると判断できたので、PdMにもミーティングに参加してもらい、具体的な施策化を進めていきました。
結果的には、当初のアイデアとは違う、質問本文の最初に質問内容の要約を挿入する施策を進めることにはなりましたが、LLMをユーザーの補助機能として活用するというアイデアは引き継ぎ、実現方法をより具体化することを進めていきました。
いくつか抜粋して紹介すると、以下のような議題があがりました。
- LLMのAPIをNativeアプリから直接叩くか、社内のAPIを経由するか
- 要約文は、どのタイミングでユーザーに使ってもらうか。その場合ボタンを押してもらうか
- 施策分析のためには、どのようなデータが必要か
毎回、図を見ながらワイワイと意見交換して、施策を詰めていけていたと思います。
キックオフからリリースまでのスケジュールをまとめると以下の通りでした。
- キックオフ: 2023/04/21
- アイデア検討・実装施策の決定: 04/27 ~ 05/24
- 実装や社内PoC:05/24 ~ 06/18
- リリース:06/19
実装を開始してからは、約3weekでリリースまで進めることができました。新しい機能の導入事例としてはまずまずといったスピード感と思いますが、今後はもっとリリースを早めて、より早くにユーザーに使ってもらいフィードバックをもらう方法を模索していきたいと思います。
このあとは、PdMのおりちゃんからユーザーからの反応を紹介してもらいます!
リリース後のユーザーからの反応
ママリアプリのPdMをやっています、おりです。
私からは、リリース後の反応について紹介します!
ママリ内での投稿
リリースして、早速ママリ内でこの機能に対する反応のお声がありました!
※ママリアプリでは、妊娠・出産・子育てのお悩み以外でも、ママリ機能に対する率直なお声を含む雑談やつぶやき投稿も日々盛り上がっており、主にCSのメンバーがママリに対してのフィードバックやご要望の投稿を即座にキャッチしてくださるので助かっています!
例えば以下のようなお声が上がってきました。
自動で要約を作成して挿入できる、って… ママリ機能すごい✨ たしかにめちゃくちゃ長文で、途中で読むの断念することよくあるから 助かる😂
要約機能が面白くて遊んでしまう!
ママリの要約を挿入するを使ってみました!
AI搭載なんかな??今すごいよね。
実際に色々な投稿文を打ち込み、どんな要約がされるのかを楽しんでいる様子も見られました。
本機能で期待していた使用方法とは正直異なるのですが、楽しんでもらえているのは素直に嬉しいですね!
利用データ
一方で、利用するユーザーの数は期待値よりも少ない状態でした。
「質問文に要約が挿入されることで、閲覧者(回答する側)が一覧の中から自分が答えられる質問を探しやすくなるようにしたい」という本来の目的を達成するためには、利用率を上げる必要がありました。
そこで
- そもそも気づかれていないのか?
- 気づいているけど使わないのか?
- 仮にこれがデフォルトで挿入された場合印象としてマイナスになることはあるか?
といったことを深ぼるためにユーザーインタビューを行いました。
ユーザーインタビューでのお声
ユーザーインタビューでは、以下のような気づきがありました。
- 投稿に慣れていない人にとっては、そもそも気づかれづらい
- 投稿に慣れているユーザーにとっては、自分で文章の冒頭に要約を挿入することが負担ではないため、わざわざ使わない
- ただし、ボタンをタップせずに自動的に挿入されることに対してネガティブに思わない
- 一覧で要約が閲覧できることは便利だと感じてもらえる
これらの気づきを踏まえ、今度は「ユーザーに能動的に動いてもらうのではなく、いかに体験の中で自然と、でも強制感はなく要約を挿入できるか?」という問いに向き合っています!
この問いに対しても早速エンジニアのみんなが動くものを作り、それを見ながら議論ができているので、最速で仮説検証を回し、ユーザーにとっての価値を高めたいと思っています!
最後に
今回は、エンジニア発信の機能をリリースした時の工夫とその後の反応について紹介させてもらいました!具体的な実装内容やその他の工夫点は、近日中にMLエンジニアのたかぱいとiOSエンジニアのゆりこからもブログで紹介してもらう予定です。ぜひお読みください!
コネヒトでは一緒に働く仲間を募集しています! そして興味持っていただけた方は気軽にご連絡ください!