はじめに
こんにちは!GLOBISでナノ単科の開発を担当している堀尾です。
ナノ単科とは
ナノ単科は、グロービス経営大学院が提供しているオンラインの教育プログラムです。
動画学習、AI学習コンテンツ、ライブ授業、グループワークを通じて、6週間でビジネスの基礎スキルを習得できます。
今回は、ナノ単科に新しく実装した「AIコーチング機能」について、プロダクト戦略の段階から実装までの流れを紹介します。
この記事で伝えたいポイント
この記事で伝えたいことは以下の3つです。
- プロダクト戦略からAIコーチング機能の実装までの流れ
- 技術選定の意思決定プロセス
- 実装で苦労したこととその解決策
AIを活用した機能開発に興味がある方や、プロダクト戦略から機能実装までの流れを知りたい方の参考になれば嬉しいです。
プロダクト戦略会議から始まった
背景
「1年後に国内eラーニング事業で最もユニークなものを提供する」
この目標を掲げて、チームメンバーでプロダクト戦略会議を立ち上げました。他のサービスにはないものを持つ、あるいは他のサービスが提供していてナノ単科にないものを取り入れる。そのために何をすべきかを議論するところから始まりました。
メンバーは開発、PMやデザイナーも含めた6〜7名程度。隔週で集まり、以下のステップで進めていきました。
- 市場調査
- 競合調査
- ベンチマーク設定
- 提供機能のブレスト
- 製品ロードマップ作成
競合分析でやったこと
まずは市場にどんなサービスがあるかを調査しました。某外資系学習プラットフォーム、某国内ライブ授業サービスなど、主要なeラーニングサービスを分析していきました。
調査を進める中で、いくつかの傾向が見えてきました。
- 価格帯の二極化(低価格帯と高価格帯に分かれている)
- ターゲット層は20〜40代の社会人が中心
- 差別化要素はコンテンツの豊富さ、特定領域への特化、コミュニティ形成など様々
競合分析の結果はMiroにまとめ、チーム全員で共有しました。「この軸で見るとナノ単科はここにいるよね」「この領域は空いているね」といった議論ができたのは、可視化したおかげだと思います。
ポジショニングの発見
競合分析を進める中で気づいたのは、多くのサービスが「1人で学ぶ」形式だということでした。
動画を見て、自分で問題を解いて、完結する。それ自体は悪いことではないのですが、ナノ単科には「みんなで学ぶ」という要素がもともとあります。グループワークやライブ授業を通じて、他の受講生と一緒に学べる環境です。
ここに「AIパーソナライズ」を掛け合わせることで、独自のポジションを築けるのではないかと考えました。
某外資系プラットフォームが「多様な学習領域×1人で学ぶ」なら、ナノ単科は「ビジネス特化×みんなで学ぶ×AIパーソナライズ」。この対比が見えてきたのは大きな収穫でした。
ユーザーニーズの整理
提供価値を検討する前に、ユーザーがどんなニーズを持っているかを整理しました。過去のユーザーインタビューやアンケート結果を参考に、ニーズを3つの層に分類しました。
基本的欲求(安全・安定への欲求)
- なんとなく将来に不安がある、学んでないと不安
- 仕事とプライベートを両立しながら学習を続けたい
成長欲求(能力向上・承認欲求)
- 上司に言われた自分の足りないスキルを身につけたい
- わかったことをできるようになりたい
- 周りに負けない人材になりたい
キャリア実現欲求(自己実現欲求)
- 立場が変わって理解できないことが増えたから理解できるようになりたい
- 今に満足してない、スキルがあるなら転職したい
このニーズ整理を通じて見えてきたのは、「わかる」だけでなく「できる」を求めているユーザーが多いということでした。動画を見て理解するだけでなく、実務で使えるようになりたい。このニーズにどう応えるかが、提供価値を考える上での重要な観点になりました。
提供価値の2軸を決めた
チームで議論を重ね、投票を行った結果、ナノ単科が重視すべき提供価値として以下の2軸が浮かび上がりました。
- ネットワーク&コネクション:異業種の、自分にはない経験を持っている人との出会い
- 学びの深化:人・AIとの対話で、学んだことをより深められる
投票はMiro上で行いました。各メンバーが3票ずつ持ち、重要だと思う提供価値に投票する形式です。
なぜAIコーチングだったのか
「わかる」から「できる」へ
競合分析を通じて、多くのeラーニングサービスが「わかる」を提供していることがわかりました。動画を見て、知識をインプットして、理解する。それ自体は価値のあることです。
ただ、ユーザーニーズを整理する中で見えてきたのは、「わかる」だけでは不十分だということでした。
ユーザーが本当に求めているのは「できる」になることでした。
「わかったことをできるようになりたい」
「インプットしたことが使えるようになっているか試してみたい」
ナノ単科が提供すべきは、「わかる」を「できる」に変えるサポート。
これがAIコーチングの出発点でした。
「学びの深化」を実現する手段として
学習内容を実務で実践するには、個別のサポートが必要です。「動画を見て理解した」だけでは、なかなか仕事で使えるようにはなりません。
「この内容を自分の仕事にどう活かせばいいんだろう」
「学んだフレームワークを実際に使ってみたいけど、合っているか不安」
こういった悩みに寄り添うには、個別のコーチングが効果的です。ただ、人的コーチングはスケールしません。受講者一人ひとりに専属のコーチをつけるのは現実的ではなさそう。
AIなら、個別最適化とスケーラビリティを両立できるのではないか。そう考えました。
機能のアイデア出しと投票
カスタマージャーニーマップを作成し、各フェーズで必要な機能をブレストしました。
- 認知/検討フェーズ
- 登録/開始フェーズ
- 学習フェーズ
- 交流フェーズ
- 修了/継続フェーズ
それぞれのフェーズで「どうすれば学びを深められるか」「どうすれば異業種との出会いを促進できるか」を考え、機能のアイデアを出していきました。
アイデアは付箋形式でどんどん貼っていき、最終的に投票でTOP3を決めました。AIコーチングはその中の一つとして選ばれ、「効果の大きそうな施策」としても評価されたため、優先的に取り組むことが決まりました。
AIコーチに渡しているデータ
AIコーチは、ユーザーのことを理解した上でアドバイスを提供します。そのために、以下のようなデータをAIに渡しています。
基本情報
- 性別、生年、役職、社会人年数
- 業種、経験業界
- スキル、目標、趣味・関心
学習関連データ
- 受講中の科目情報
- 自己紹介文、志望動機
- 事前学習アンケート
- GAiLの設問&回答データ
- 振り返り文のデータ
対話履歴
- これまでのAIコーチとの対話履歴
- 週次で生成される対話サマリー
振り返り文章やGAiL回答データは全履歴を参照し、対話履歴は週1回の頻度で要約を生成して長期記憶として活用しています。
将来構想も見据えた第一歩
AIコーチングには、将来的にやりたいこともたくさんあります。
- 今日の問いを提示する機能(その人に合った問いを毎日配信)
- GAiLをAIと一緒に解く
- ユーザーの課題感に合わせた実践アクションプランの提案
まずは基盤となるチャット機能から着手し、段階的に拡張していく方針としました。
実際の機能紹介
AIコーチは、ユーザーの学習履歴や課題感を踏まえたパーソナライズされたアドバイスを提供します。
- 学習進路相談(「どのように学習を進めればいいかわからない」)
- キャリア相談(「自分のキャリアについて相談したい」)
- 実践支援(「学習した内容を仕事で実践するにはどうすればいい」)
こういった相談に対して、受講者一人ひとりの状況に合わせた回答を返します。
技術選定の意思決定
AIモデル:Geminiを選定
AIモデルはGeminiを採用しました。コスト、性能、日本語対応などを総合的に評価した結果です。
GLOBIS自体で推奨されていたことと、LLMに渡す情報が多いため、コンテキストのトークン量が多いというのも採用理由の一つです。
LangChainを採用した理由
実装にはLangChainを使用しています。採用した理由は、会話履歴の管理が楽になるからです。
生のLLM APIを使う場合、毎回全ての会話履歴を手動で管理する必要があります。「前回何を話したか」をAPIに渡すために、履歴を保存して、リクエストのたびに組み立てて...という処理を自前で実装しなければなりません。
LangChainを使えば、会話履歴の管理やキャッシュ機能が最初から用意されています。具体的には以下のようなメリットがありました。
- 会話履歴を自動で管理してくれる
- キャッシュ機能で同じリクエストへの応答を高速化できる
- プロンプトテンプレートの管理が楽になる
- 将来的に別のLLMに切り替える際の柔軟性がある
開発にClaude Codeを活用
開発にはClaude Codeを活用しました。プロンプトは最初に設計したものをベースに、実装しながら調整を行いました。
当時としては、生成AIによる開発ツールのトップランナーであり、実際に複雑なロジックでも既存のコードからドメイン知識吸収しながら作ってくれました。
また、もともと生成AIコーデイングツール導入前からrubocopによってメソッドのサイズが制限されているなどテスタブルなコードを書く文化があり、Claude Codeでもそれに則って小さな機能群をテストしながら作ることができました。
応答制御がほんとむずかしかった
最も苦労したのはプロンプトの調整
実装で最も苦労したのは、応答の制御とプロンプトの調整でした。期待通りの応答を得るまでに、試行錯誤がありました。
具体的な課題
特に難しかったのは、「今週の内容だけ返す、来週以降は返さない」といった制御です。
ナノ単科は6週間のプログラムなので、受講者が今どのWeekにいるかによって、提供すべき情報が変わります。まだ学習していない来週以降の内容を先に教えてしまうと、学習体験を損なう可能性があります。
ユーザーに対して適切な範囲の情報のみを提供する。これをプロンプトで制御するのが想像以上に大変でした。
プロンプト設計のアプローチ
プロンプトは以下のような観点で設計しました。
役割定義
- GLOBISナノ単科の受講者専用パーソナルコーチとして振る舞う
- 学習効果の最大化と実践スキルの習得支援が使命
対話スタイル
- 親しみやすく専門的(堅すぎず、でも信頼できるプロフェッショナル)
- 具体的で実用的(抽象論ではなく、明日から使えるアドバイス)
- 励ましと挑戦(受講者を勇気づけながらも、適度にチャレンジング)
- 簡潔で的確(長々と話さず、要点を絞る)
回答形式
- 共感から始める(まず受講者の状況や感情を受け止める)
- 具体的なアドバイス(実務で使える具体的な方法を提示)
- 次のアクション(明確で実行可能な次のステップを示す)
- 質問で締める(受講者の思考を促す質問で対話を継続)
制約条件
- 専門外領域(医療、法律、投資など)への対応方針を明示
- 個人的な悩み相談ではなくビジネススキル向上に焦点を当てる
- 今週までの学習内容のみを参照し、来週以降の内容には言及しない
振り返り
要件定義の反省点
振り返ってみると、チケットの要件が不十分だった部分がありました。実装を担当したメンバーからフィードバックをもらい、気づいたことです。
基本的にはチケット通りに実装できたものの、一部調整が必要だった箇所がありました。特にプロンプトの細かい仕様については、実装しながら決めていった部分が多かったです。
より詳細な要件定義が必要だったと認識しています。次回以降は、プロンプトの期待する挙動についても、もう少し具体的にチケットに書くようにしたいと思います。
次フェーズへの展望
次のフェーズでは、以下の機能を実装予定です。
- 今日の問いを提示する機能
- 相談機能の拡充
既存の構造を活用しながら、段階的に機能を追加していく方針です。AIコーチングの基盤ができたことで、次の機能追加はよりスムーズに進められると考えています。
まとめ
プロダクト戦略会議から始まり、AIコーチング機能の実装まで、一連の流れを振り返りました。
「1年後に最もユニークなeラーニングを」という目標を掲げ、競合分析、ポジショニングの検討、提供価値の定義、機能のブレストと投票...というプロセスを経て、AIコーチング機能にたどり着きました。
チームで課題を言語化し、投票で優先順位を決めるプロセスは、合意形成にも有効だったと感じています。
全員が納得感を持って機能開発に取り組めたのは、このプロセスのおかげだと思います。
技術的には、LangChainの採用やプロンプト設計の試行錯誤など、学びの多いプロジェクトでした。
AIコーチング機能はまだ第一歩です。
ユーザーの学習効果を最大化するために、これからも改善を続けていきます。




