アウェアファイ AI コーチングの裏側 / GPT-4 + Claude 3 で実現するマルチLLM活用とメタプロンプトの可能性

アウェアファイ AI コーチングの裏側 / GPT-4 + Claude 3 で実現するマルチLLM活用とメタプロンプトの可能性

概要

  • AI メンタルヘルスアプリ Awarefy(以下、アウェアファイ) は、2024年4月9日に、「AI コーチング」機能をリリースした
  • 「AI コーチング」の実装にあたり、プロンプトの調整を行う「メタプロンプト」を考案。対話用AI と、コーチングプロセス管理用AI に役割を分割することで円滑なAIコーチング体験を提供できるようになった
  • 「AI コーチング」では、アウェアファイとしてはじめて、Anthropic 社の Claude 3 を導入した
  • AI 機能の安定供給のため、Amazon Bedrock と GCP Vertex AI との冗長化構成、および AWS Step Functions による非同期処理の構成をとっている

本記事でお伝えしている要旨は上記のとおりですが、読み進めることで読者は以下についての知見を得ることができます。

  • 「メタプロンプト」とはなにか
  • 「AIコーチング」の事業上の価値の位置づけ

アウェアファイ AI コーチングとはなにか

アウェアファイはこのたび、スマホアプリで手軽に AI によるコーチングが行える「AI コーチング」機能をリリースしました。

AI メンタルヘルスアプリAwarefyに、心の成長をサポートする「AIコーチング」を搭載。24時間いつでもどこでも手軽にセルフコーチング力を身につけ、自己成長を実現 | ニュース - 株式会社Awarefy
Awarefy AI構想の第5弾。今後も心の健康と成長をサポートするAIの機能開発を推進してまいります。「心の健康と成長を支えるデジタル・メンタル・プラットフォームを実現する」をミッションに、AI メ…

AI コーチングの話をするまえに、そもそもコーチングとは何か、という点についてですが、Claude 3 Opus に解説をしてもらいました。


コーチングとは、クライアントの目標達成や問題解決を支援するための対話型のアプローチです。コーチは、クライアントの潜在能力を引き出し、自発的な行動を促すことを目的としています。

主な特徴は以下の通りです:

  1. クライアント主体:クライアントが自ら答えを見つけ、行動するよう導きます。
  2. 傾聴と質問:コーチは積極的に耳を傾け、適切な質問を投げかけます。
  3. 目標志向:クライアントの目標に焦点を当て、その達成を支援します。
  4. 現在と未来に焦点:過去よりも、現在と未来に重点を置きます。
  5. 行動重視:内省だけでなく、具体的な行動を促します。

コーチングは、ビジネス、スポーツ、教育、個人の成長など、様々な分野で活用されています。クライアントのモチベーション向上、スキル開発、パフォーマンス改善などに効果的とされています。


コーチングには唯一絶対のルールやフレームワークはありませんが、多くのコーチングのもたらす共通のアウトカムとして「クライアント(= コーチングの受け手)の目標達成や成長を促すこと」があります。プロセスとして見ると、コーチングは「対話をつうじて行われる」のが共通事項と言えるでしょう。

従来のコーチングは「人対人」で行われるもでしたが、この関係性を「人対AI」に置きかえたものがすなわち AI コーチングです。サービス内容の詳細やユースケースなどは下記の記事で紹介しています。

【無料お試しあり】アプリでAIコーチング 簡単15分でいつでも相談|AIメンタルヘルスアプリAwarefy - デジタル認知行動療法アプリ「Awarefy」
累計50万DLのAIメンタルヘルスアプリ「Awarefy」に、AIコーチングの機能が搭載されました!生成AIの最新技術を応用した、約15分でいつでも簡易的なセッションを受けられる全く新しいコーチング体…

AI コーチングの設計とシングルプロンプトの限界

今回機能を搭載するにあたり、AI コーチングのフレームワークとして、以下のようなステップで進めることを最初に定めました。

  1. コーチングテーマの設定
  2. ありたい姿の確認
  3. ネクストアクションの確認
  4. まとめ

※ 実際はもう少し細かく、AI コーチングは 6つのステップで構成されています。

みなさんなら、コーチングを行ってくれる AI をどのようなプロンプトで実現しようとするでしょうか。最も手軽な方法としてプロンプトで「ロールプレイ」を指示するという方法があげられます。

あなたはビジネスコーチングの訓練を積んだプロのコーチです。これからクライアントがあなたの元を訪れ、コーチングのセッションを行います。あなたはコーチ役として、クライアントの目標達成や問題解決、成長を後押しできるよう振るまってください。

コーチングのロールプレイを指示するプロンプトの例

また、コーチングのフレームワークを独自に定義し、フレームワークに従ってコーチングを行いたい場合、フレームワークのルール詳細をプロンプトに記述することも考えられるでしょう。

あなたはビジネスコーチングの訓練を積んだプロのコーチです。これからクライアントがあなたの元を訪れ、コーチングのセッションを行います。あなたはコーチ役として、クライアントの目標達成や問題解決、成長を後押しできるよう振るまってください。

コーチングセッションは、次のプロセスを通じて行われます。

1. コーチングテーマの設定
2. ありたい姿の確認
3. ネクストアクションの確認
4. まとめ

クライアントとの対話では、1から順にステップを進め、最終的に4のまとめに辿り着く必要があります。

コーチングのフレームワークを指示するプロンプトの例

参考までに2つのプロンプト例を示しましたが、じつのところ、この方法では(少なくとも当社の考える水準での)コーチングはまったくといっていいほど機能しません。このアプローチを本稿では「シングルプロンプト方式」と呼ぶこととします。

AI コーチングをシングルプロンプト方式で実現しようとすると、次のような課題に直面します。

  1. 質問投げかけマシーンのようになってしまう。
  2. 指定したコーチングのフレームワークを守らずに進行してしまう。

これらの現象が起きる原因としていくつかのことが考えられるのですが——例えば、コーチングのプロセスを説明する情報は多いため、そのときどきの方法論で振る舞ってしまうなど——いずれにしても、プロンプトエンジアリングで優れたコーチング体験を提供することが容易ではないことにすぐに気が付きます。

AI コーチングの開発では、初期段階からこのシングルプロンプト方式は採用しないこととしていました。

💡
前提として、専用の LLM を構築したり、OpenAI 社の GPT-3.5 や GPT-4 のモデルをファインチューニングしたりせずに素の状態で LLM を利用した場合を想定しています。

そこで開発したのが、メタプロンプト方式です。

メタプロンプト - プロンプトを調整するプロンプト

アウェアファイがアプリケーションに AI/LLM の機能を組み込んだのは 2023年4月がはじまりでした。その当時から、「会話の流れを汲み取りながら、どういった応答をするべきかを決定するメタ的な役割を持った AI が必要なのではないか」という議論が社内で行われていた記録が残っています。

"メタ的な役割を持つ" よう振る舞いを指示したものが、メタプロンプトです。

💡
メタプロンプトという呼称は当社内におけるユビキタス言語であり、おそらく一般に合意のとれた用法ではない点に注意してください。

AI コーチングでは、表に立って対話役を担う AI と、プロセスの管理役を担う裏方の AI を常に伴走させ、コーチングのステータスを管理しながらユーザーとの対話を行います。

  • 対話AIの役割
    • コーチとして振る舞う
    • ユーザーに質問を投げかけ、考えを引き出したり、整理したりといった支援を行う
  • 管理AI(メタプロンプト)の役割
    • コーチングのステップを次に進めてよいかどうかの判定を行う
    • 各ステップで話している内容の要約を行う

図示すると次のようになります。

AIコーチング x メタプロンプトの仕組み

また、コーチングのプロセスをメタプロンプト込みで管理・実行するために、ワークフロー・オーケストレーションサービスの AWS Step Functions をフル活用しています。

以下に、アウェアファイのバックエンドシステム構成図(簡略図)を示します。

アウェアファイのバックエンドシステム構成図(簡略図)

アウェアファイでは、Step Functions を採用することで耐障害性やリトライ平易性を確保しながら、AI 機能の非同期実行を実現しています。また、かねてより AI機能の可用性向上のためにマルチクラウドならぬマルチLLMサービスの構成をとっています。

💡
プライマリ / セカンダリの各利用モデルは、サービス提供状況やその他要因により随時変更されます。上記の図はあくまでもある時点での構成例です。

管理AI に GPT-4 Turbo を利用している理由としては、LLM のレスポンスフォーマットを JSON に限定できる JSON Mode が利用できるためです。

アウェアファイには AI コーチング以外にもさまざまな機能が搭載されているのですが、機能毎に適切と判断したモデルを使い分けています。

Step Functions の活用やマルチLLM構成については、また別の機会に取りあげられればと思います。

メタプロンプトの成果と評価

まず、LLM で実装したシステムの評価というのは難しく、特に今回のようなケース(= 試験の正答率や論理的な正誤を問いにくい領域)では、専門家による定性的な評価が品質担保の重要な位置づけとなります。アウェアファイの AI 機能では、機能によっては当社に在籍する公認心理師・臨床心理士が出力の品質を評価する体制で行うことがあります。AIコーチングの場合は、コーチングの資格を有するメンバーを中心に、社内外のメンバーからフィードバックを得ながら品質の改善に取り組みました。

結果このように数値が改善!...と分かりやすく表現したいところなのですが、前提として、メタンプロンプトを用いないシングルプロンプト方式ではコーチングが成り立ちませんので、メタプロンプトによって成り立たたないものが成り立つようになった、というゼロ・イチの進歩があったということをまずお伝えしたいと思います。

ユーザーの中長期的なアウトカム獲得を支援するというコーチングの目的を踏まえると、ここから先は、ユーザーからの定性的なフィードバックをいただきつつ、アウェアファイのサービス内に蓄積されるさまざまなデータを駆使しながら、AI コーチングの性能の評価や体験の改善を進めていくフェーズに移っていくのが最善と考えています。

なお、技術ブログが滞りがちになってしまうCTOの悩みを相談している実際のやりとりがこちらです。

とあるユーザー(=筆者)によるAIコーチングによる悩み相談

結果、技術ブログがこうして公開できているので、行動変容できていると言えますね!

アウェアファイにおけるAI コーチングの位置づけ

ここまで、アウェアファイ AI コーチングを実現するにあたっての課題とその解決方法についての話を取りあげました。

最後に、アウェアファイのAIコーチングが担う事業的な価値について触れたいと思います。

アウェアファイは、ミッションに「心の健康と成長を支えるデジタル・メンタル・プラットフォームを実現する」と掲げています。また、事業領域としては「メンタルヘルス」の領域のスタートアップです。心の健康、メンタルヘルスというと、「ケア」「マイナスをゼロに」という言葉とともに語られることが多いと思います。その対比として、コーチングは「ゼロをプラスに」という説明をされることもあるかと思います。

もちろんそうした説明はある部分では正しいと同意するいっぽうで、筆者の整理では、人々を「マイナスの状態の人間」「プラスの状態の人間」という二値で分類をすることはできず、ひとりひとりがさまざまなシーンにおいてマイナスにもなりプラスにもなるという揺らぎのなかで生きているのではないか、と捉えています。その意味で、メンタルヘルスアプリの中にコーチング機能が存在している、ということは非常に意味があると思っています。

これまでは「心の健康」に関連するケアの要素が多かったことは事実ですが、AIコーチングのリリースをもって、「心の成長」にもアプローチが可能になった、そして従来のユーザーやユーザー体験を分断することなく、「心の健康と成長」に対する価値を可能とする、ということが、アウェアファイにおけるAIコーチングの位置づけです。アウェアファイの AI コーチングでは、ひとによるコーチングの価値をそのまま代替しリプレーすることを狙っておらず、ひとであれAIであれ、コーチングの提供する価値がより多くの人に広まっていくと良いなと考えています。

アウェアファイは今後も、AI に支えられたさまざまな機能をプロダクトに導入に、価値を届けていきます。今回は以上です。