### プロジェクト概要
- **目的**: パーソルキャリア社員約6000人が利用する社内向け生成AIチャットサービスの開発。
- **人数・体制**: フロントエンド2名、インフラエンジニア1名、私を含むフルスタックエンジニア兼テックリードの4名のエンジニアで構成。他に推進チームと分析チームがあり、チームを跨ぐPMの方と連携しながらプロジェクトを推進しました。
### プロジェクトにおける自身の役割
- 機能開発において、フロントエンド、バックエンドの実装、インフラ構成の改善を行うと同時に、チームのテックマネジメントを担当しました。具体的には、事業部側へのヒアリング、他チームとの認識合わせ、要件定義、詳細設計、実装、レビューを実施し、プロジェクト全体の技術的な推進を担いました。
### 当時の背景/抱えていた課題等
- **課題**: 当時、ルールベースの社内向けチャットボットしか存在せず、非整形の質問形式で問い合わせができるサービスが社内に存在しませんでした。そのため、会社規模の拡大に伴い、全社的な業務効率向上を図るため、全社員が生成AIを活用できる環境が求められていました。
### 課題に対して自身が発揮したバリュー及び成果
- **工夫**: Azure基盤を活用し、LangChain、Azure OpenAI、Azure AI Searchを駆使して生成AIを活用した社内チャットサービスを構築しました。特に、GPT-3.5の最適化手法を導入し、高パフォーマンスを維持しつつ運用コストを抑えることに成功しました。(現在は最新モデルであるAzure OpenAI GPT-4oに移行が完了しています。)
- 普及率というKPIを達成するため、AIに慣れていない社内メンバーへの浸透が課題となっていました。そのため、特に利用率の高い2つの事業部と定期的にヒアリングを行い、事業部側の推進メンバーの課題感を抽出し、機能拡充の方針を決定しました。
- 開発・推進・分析チームの連携が重要であったため、一日合宿を実施し、全体として現状のデータを可視化し、事業部や職種ごとの利用率の差異を明確にしました。その結果、ユーザー層を分類し、ユーザー層ごとのアプローチを見直しました。
- 社内のSharePoint上の全社員が閲覧可能な文書データをAzure Blob Storageに転送するパイプラインをAzure Functions上で構築しました。この仕組みにより、よりリアルタイムに近い形で全社内文書をRAGで参照し、回答ができるようになりました。
- 事業部とのヒアリング結果を基に、プロンプトを共有するためのURL共有機能を実装し、さらに生成AIのチャットサービスに不慣れなメンバーのために、事業部ごとの初期画面に定型のプロンプトを表示する機能や、チャットの回答を進めると次に質問するプロンプトをサジェストする機能を実装しました。これにより、普及率向上に寄与しました。
- **成果**: 社内文書から自動で回答を生成する機能を持つサービスを成功裏に開発し、事業部側とアナリティクスチームとの連携をシームレスに行い、スケジュール通りにリリースを達成しました。この結果、業務効率の向上やUXの向上に大きく貢献しました。また、継続的に事業部側の推進メンバーと連携を取り、普及率向上のための機能拡充を推進し、現在では普及率が60~70%程まで向上しています。