見出し画像

生成AI × メンタルヘルスの対話型機能をどう作った? 5職種の視点で語る開発裏ストーリー

AIメンタルパートナーアプリ「アウェアファイ」は、2025年1月31日に「ファイさんと一緒にネガティブ思考をやわらげる5コラム法セッション」機能をリリースしました!
※Androidで先行リリース済み、iOSは準備が整い次第リリース予定です。

今回は、開発に携わった各職種から見た裏側を大公開します。

5コラム法セッションの概要

今回搭載した機能は「認知行動療法」のワークの一つで、ネガティブな思考をやわらげる効果があります。

以前から、アンケートフォームのように一問ずつ回答する形式で5コラム法に取り組める機能は搭載されており、ユーザーさんに人気の機能の一つでした。

今回のアップデートで、5コラム法のやり方やコツがわからなくても、AIのファイさんと一緒に会話しながら取り組めるようになりました。ファイさんがユーザーさんを先導してくれます。
また、AIのファイさんとチャットしながら話を聞いてもらうだけではモヤモヤが解消しない、というユーザーさんにも、進化したAIのサポートをぜひ受けてもらいたいと考えています。

技術的な特徴

本機能では生成AIを活用しています。
すでにアウェアファイに搭載されているAIコーチングの仕組みを活用し、管理AI(社内ではメタプロンプトと呼んでいます)と対話AIでセッションを進行させています。
この仕組みを使うことで、無機質なルールベースのやりとりではなく、ユーザーの発言に対してカスタマイズしたやりとりが実現でき、まるで人間からサポートを受けているかのような体験に近づけています。

管理AI(メタプロンプト)の仕組み

開発体制

本プロジェクトは、以下のメンバーを中心に進行しました。

  • プロダクトマネージャー

  • 心理士 兼 AIプロンプトチューニング担当

  • デザイナー

  • モバイルアアプリエンジニア

  • バックエンドエンジニア

12月中旬に実現したいことと体験アイディアをもとに議論を行うキックオフを行い、年末年始休暇を挟み、1月31日にリリースしました。他のプロジェクトと並行しながら、およそ2ヶ月間の開発プロジェクトでした。

各職種から見た今回の開発

ここからは、各職種から見た開発の裏側を公開します。
AIを活用した機能開発にご興味がある方、アウェアファイのプロダクトチームにご興味がある方はぜひご覧ください。

※ボリュームが多くなっていますので、興味のある職種の裏側をピックアップしてご覧ください!


🧑‍💻🔍 1. プロダクトマネージャーから見た裏側

プロダクトマネージャーの小田です。

企画の背景

アウェアファイはAI導入以前の2023年頃まで、「認知行動療法アプリ」として自己紹介してきました。主に認知行動療法に詳しいユーザーさんに特に活用されていたためです。
しかし、AIである「ファイさん」の搭載をきっかけに、認知行動療法に詳しくない方々——例えば、メンタルの悩みを抱えている方や、気軽に相談できる相手を求めている方——にも価値を届けられるようになりました。私たちは今後、より幅広いユーザー層へこの価値を届けていきたいと考えています。

ユーザーインタビューなどを通じて、この変化には「プロダクトの易しさ=認知コストが低い体験」が不可欠であることが明らかになりました。 具体的には、「カウンセラーに教わった5コラム法ね!」とスムーズに使えるユーザーだけでなく、「とにかく気持ちを和らげたいけど、詳しいことはわからない」と感じているユーザーさんにも価値を届ける必要があります。
AIは、こうしたギャップを埋めるために最適な技術です。ユーザーが抱える不安や悩みに寄り添い、個別のやりとりを提供できるAIを活用しない手はありません。
今回の取り組みも、AIを用いてユーザーさんの体験の摩擦を減らしていく取り組みの一環です。 自らワークを選ぶことにハードルを感じるユーザーや、傾聴だけのチャットでは課題解決に物足りなさを感じるユーザーをターゲットにプロダクト開発に着手しました。

プロジェクトの企画を記載するデザインドックの一部

AIを用いたプロダクト可能性

AIは、ユーザーさんが「わからない」「難しい」「面倒くさい」と感じる部分を解決できそうだと思わせてくれる技術だと考えています。
例えば、ネガティブな気持ちが生じた状況を尋ねるステップでも、AIのサポートによって取り組みのハードルが大きく下がり、さらに、よりきめ細やかな振り返りができると感じています。

(左)従来のセルフ形式の5コラム法
(右)AIを利用した対話型の5コラム法

上記のサンプルのように、今回リリースしたAIセッションにおいては、「仕事」について話し始めたら、

例えば、「上司の方から急に新しい仕事をたのまれた」「予定していた作業が思ったより進まなかった」といった形で

のように、ユーザーの状況に応じたヒントを出しています。また、ユーザーが「回避癖」という言葉を使ったことに対し、AIがワンクッションコメントを挟んだ上で、できごとについて深掘りすることで濃密な振り返りを促しています。従来のAI不在のフォーム型では成しえなかった体験です。

機能の品質をstaging環境で確認するために使ってみた際、これまで自力でやってきた時には感じられなかった情緒的なサポートをファイさんから感じ、ストレスな出来事を負担なく整理できたように思え、興奮したのを覚えています。

プロダクトマネージャー(筆者)の第一声
心理士メンバーによる熱い感想

今後の進化

今後は、ユーザーがAIの「ファイさん」とチャットをしている最中に、適切なタイミングでファイさんがこの機能をレコメンドし、そのままセッションを開始できる、より自然でシームレスな体験の提供を予定しています。これにより、ユーザーが「どの機能を使えばいいのかわからない」と迷うことなく、自分に合ったサポートに辿り着けるようになることを願っています。
また、アウェアファイには5コラム法以外にも、多様な認知行動療法のワークが搭載されています。今後は、これらのワークにもファイさんと一緒に取り組めるように横展開を進めていく計画です。

ユーザーさんからのありがたいフィードバック

🧑‍💻🔍 2. 心理士 兼 プロンプトチューニング担当から見た裏側

心理士 兼 プロンプトチューニング担当の かに仁郎(かにじろう)です。
プロダクトチームのメンバーとして、主にアウェアファイの企画およびAIを用いた機能のプロンプトチューニングに携わっています。

今回の担当領域

今回の新機能開発にあたり、私は主に「仕様づくりのサポート」「プロンプト作成」をおこないました。「ITスタートアップではたらく心理士」という風変わりなめずらしい働き方のイメージをもっていただけたら嬉しいです。
今回の機能開発において、私がおこなったことは以下です。

  1. 企画を聞き、大まかなシナリオをつくる

  2. 「AIにしてほしいこと」を言語化する

  3. プロンプトを動かす枠組みとプロンプト草稿をつくる

  4. テストケースを作成する

  5. プロンプトをチューニングする

1. 企画を聞き、大まかなシナリオをつくる

まず最初にデザインドックを読みながら、今回つくりたい機能のねらいと、私の役割分担を整理するところからはじめます。
この段階では、特に「どのような背景でこの機能を企画したのか」「ユーザーさんにどのような体験をしてほしいとPdMは思っているか?」「何をもって効果測定をするか?」のイメージをつかむことを大事にしています。
というのも、ここがふわっとしていると、「そもそもこれはAIに向いてる仕事なのか?」「AIになにしてもらえばいいのか?」がわからず、のちのプロンプトの作成や評価の進行に影響するためです。
PdMの小田さんは非常にわかりやすく網羅的なデザインドックを書いてくださるので(大感謝)、それをもとに質問したりコメントしたりしながら、自分の仕事を切り出していきます。

今回は比較的大きめなリリースということもあり、先にFigma上で具体的なシナリオイメージを作成し、アウトプットイメージを明確にする工程を挟みました。
「ちょっと応答のラリー回数が多いかも」とか「ここにこういった体験が入るといいよね」といったフィードバックをもらったり、開発側の仕様要件と照らし合わせながら、大まかな理想体験をつくることで、社内でつくるものの共通イメージも持てたのではないかと思います。

Figma上でシナリオイメージを作成し、フィードバックをもらう様子
※社内で作成した架空の事例です

2.「AIにしてほしいこと」を言語化する

AI周りの仕事のなかで、1番歯応えがあり、かつ「心理士」らしい動きをしているなと思うのがこのあたりです。
長くなるので割愛しますが、ここでは「目指したいユーザー体験」「AIにしてほしい応答」「懸念事項」「評価観点」を具体的に言語化するようにしています。
また、「懸念事項」には、さまざまなユーザーさまの利用シーンを想像し、想定されるリスクや懸念を書き出しておきます。例えば今回の場合は「無理やりポジティブ思考に誘導するような動きをどう抑えるか」などがあたります。
メンタルヘルス領域のプロダクトづくりに専門家としてかかわる以上、このあたりにアンテナを張って、ピリピリそわそわしながら頭を抱えるのが大事な役割なのかなと勝手に自負して過ごしています。

💡 目指したいユーザー体験

  • どのような状況で、どんな感情や思考が出てきたのかに気づく

  • 思考をさまざまな角度で検討し、考え方の幅を広げる体験ができる

  • 自分に起きたことや自分の心の動きを客観的に振り返ることができる

  • 質問に沿って答えていくことで、上記の体験がハードル低く試せる etc

💡 AIにしてほしい応答

  • 5コラム法で必要な質問を出す

  • 思考をさまざまな角度で検討するためのヒントの提示

  • このセッションの目的やねらいの共有

  • 各項目についての深掘りターンでは、「もう少し具体的に」ではなく、柔軟で的を絞った質問をする

  • 回答負荷を下げるための例示 etc

3. プロンプトを動かす枠組みとプロンプト草稿をつくる

このあたりからは「AIのチューニング担当」としてのお仕事です。
先述の通り、裏側の仕様としてすでに搭載されている「AIコーチング」の仕組みを活かし、ユーザーさんと実際にやりとりをするプロンプトと、やりとりの進行を管理するメタプロンプトで対話セッションを構築することとしました。

そこで、複数のプロンプトを並行して動かす仕組みを手元で再現しながらプロンプトをチューニングをおこなうために、AIエージェントビルダーDifyを活用しました。
弊社では、プロトタイピングやプロンプトの検証用途でDifyを活用しているのですが、今回のような、ワークフローのように複数のプロンプトが同時に仕事をして生成物を作り出す環境を再現しながらプロンプトチューニングをおこなうには、Difyは非常に適したサービスだなと思います。

この仕組みをDify上で構築しました

Dify活用についての詳細は、別の記事でご紹介していますので、ぜひご覧ください。

4. テストケースを作成する

5のプロンプトチューニングに進む前に、先にさまざまな入力例を作成しておきます。2で出した懸念を踏まえた入力例を複数用意するようにしています。

5. プロンプトをチューニングする

2で言語化した「目指したいユーザー体験」「AIにしてほしい応答」「評価観点」を足がかりに、プロンプトの修正と生成物の評価を繰り返します。

プロンプトが安定してきたら、すかさずslackではしゃいで褒めをもらいにいきます

今回は11個のプロンプトを作成したのですが、それぞれについて「まあ合格点をあげてもよいでしょう」というものができあがったら、エンジニアチームにお渡しし、だいたいの役割は終了です。あとは結合テストに参加し、ステージング環境での実際の動きを確認して、いよいよリリースに向かいます。

おわりに

今回の機能は「『5コラム法』の記録機能でできることを、より簡単に、ハードル低く実践できる」が目指したい体験の1番星でした。
そのため「どのように書いたらいいかわかるように記入例を示す」「最初にこのセッションの目的をはなす」など、5コラム法を知らない方でも取り組んでいただくためにどうAIに振る舞ってもらうかをかなり具体的に言語化するようにしました。
「ノート形式で行なっているのと同じ質問内容を、チャット形式でもできるようにする」という入力インターフェースの変更がゴールであれば、AIを動かす必要はなかったかもしれません。
しかし、「AIのファイさんがサポートをすることで、よりハードルが低い状態で、自分の思考を振り返り考え方の幅を広げる体験ができる」ことを目指し、複数のプロンプトに分担して仕事を担ってもらい、総合的に理想体験に近づけるように開発をおこないました。
今後も、実際にお使いいただいたユーザーさまからのフィードバックをもとに、応答のスピードや質の向上に引き続き努めていきたいと思います。

🧑‍💻🔍 3. デザイナーから見た裏側

デザイナーのりゅーです。
アプリ全体のUIデザインやインタラクション設計を中心に、周辺も含めた必要なデザインを担当しています。

今回の担当領域

ファイさんとコミュニケーションするためのインタフェース設計を担当しました。
全体のインタラクションを設計しましたが、今回フォーカスするのは、チャット画面において、「テキストの自由入力」以外の方法でファイさんとコミュニケーションできるインタフェースについてです。

感情をファイさんにつたえる

これまで、チャット上でファイさんに自分の感情を伝えるには、言葉のみでした。通常の会話レベルであれば言葉でも問題ないですが、5コラム法セッションのように、「今感じている感情を、数値かして複数同時に伝える」必要がある場合、どのように伝えるのか迷ってしまいます。
以下のように、チャット上のテキスト入力領域を、感情入力インタフェースに変化させる形で、ファイさんに感情を伝えられるようにしました。入力した内容は、そのままの姿でチャット上に出現するため、「どの感情がどれくらいあるか」の見た目を含むニュアンスレベルで伝えられた様子を認識し、自分の入力した通りに感情を伝えられたことを理解できます。

ファイさんからの提案をえらべる

5コラム法セッションでは、ファイさんが「こういう考え方はどうですか?」と伝えてくれるシーンがあります。そこで、ファイさんからのメッセージを自分で打ち直したり、コピー&ペーストするのは負担になります。
そこで、ファイさんからの提案を「入力サジェスト」として、テキスト入力欄に挿入することができるインタラクションにしました。
これなら、ファイさんからの提案を簡単に参照しつつ、自分なりの言葉に直して送ることができます。

おわりに

これらのインタラクションは、今回のセッション体験だけでなく、通常のチャット体験にも転用可能です。ファイさんにテキストだけでない伝え方ができることで、ニュアンスや感覚もふくめてファイさんとコミュニケーションできる状態を目指していきます。

🧑‍💻🔍 4. モバイルアプリエンジニアから見た裏側

エンジニアの林です。

フロントエンド実装においては、バックエンド担当エンジニアとデザイナーのコラボレーションによって、新しい5コラム法機能を実装しました。主な実装内容は感情スコア入力、5コラム法のUI、サブスクリプション訴求でした。リファクタリングによって状態管理を改善し、UIの使いやすさにこだわりましたが、一部複雑化した実装は今後の改善課題となっています。横展開という認識からドメイン設計が不十分だった反省点はあるものの、チーム全体で協力して質の高い機能をリリースすることができました。

詳しくは、以下の記事をご覧ください!

🧑‍💻🔍 5. バックエンドエンジニアから見た裏側

バックエンドエンジニアの大泉です。

背景

約1年前に開発したAIコーチング機能は、メタプロンプトを活用したAI機能として好評を得てきました。その後、様々なAI関連機能の開発を通じて、特にAWS Step Functionsに関する知見が大きく蓄積されました。また、新たなAIセッション機能の要件が浮上し、既存のアーキテクチャを見直す好機となりました。

今回の開発での主要目標

以下の3つを重要なテーマとして設定し、今回開発を進めました

1. 共通基盤の構築

AIコーチングとAIセッションの基盤を統一することで、以下のメリットを実現

  • 将来的な様々なAIノートのセッション化への対応

  • 機能開発の効率化

2. アーキテクチャの最適化

AWS Step Functionsに関する最新の知見を活かし、以下の改善を実施

  • ステートマシンのワークフロー最適化

  • エラーハンドリングの強化

3. 後方互換性の確保

既存ユーザーへの影響を最小限に抑えるため、以下の点に注力

  • AIコーチングの既存機能の完全な保持

  • データ構造の互換性維持

結果と今後の展望

今回のアーキテクチャ見直しにより、より拡張性の高い共通基盤が整いました。新しいAIセッション機能の追加が容易になり、同時に既存のAIコーチング機能も改善された形で維持できています。今後は、この共通基盤を活用して、より多様なAI機能の展開を進めていく予定です。

まとめ

以上が、生成AIを活用した5コラム法セッション機能の開発の裏側です。
本記事が少しでも生成AIを活用したアプリ開発の参考になれば嬉しいです。

また、ぜひアウェアファイでファイさんと一緒に5コラム法をメンタルケアにご活用ください!
※Androidで先行リリース済み、iOSは準備が整い次第リリース予定です。

最後に

3月14日(金)に、スマートバンクさん・ダイニーさん・アウェアファイの三社合同で、エンジニア組織のスケール、技術戦略、リーダーシップのリアルな課題に迫るオフラインイベントを開催します。
エンジニアとしてキャリアアップを目指す方、エンジニアリングマネージャーを志向する方、開発組織やテックリーダーシップに関心のある方、ぜひご参加ください!

メンタルヘルス領域で生成AIを活用しているアウェアファイでは、一緒にプロダクト開発していくメンバーを大募集中です!
カジュアル面談も受け付けていますので、ぜひお気軽にご連絡ください。


いいなと思ったら応援しよう!