未来のソフトウエアを作る開発チームの紹介 〜PKSHA FAQ 篇〜
PKSHA グループでは、社会課題の解決のため、自然言語処理、音声認識技術等の AI を用いて、多くのユーザーが利用可能な PKSHA AI SaaS というプロダクト群を提供しています。PKSHA が Research や AI Solution 事業により長年培ってきた技術、蓄積した業界ノウハウを活用したソフトウエアを、SaaS として手軽に導入することができます。この記事では、PKSHA AI SaaS プロダクトの1つである、PKSHA FAQ の開発チームについてご紹介します。
「PKSHA FAQ」の概要
「PKSHA FAQ」は、誰でも簡単に FAQ の作成・管理・分析ができる国内シェア No.1 のナレッジマネジメントシステムです。自社商品のサポートサイトを提供したいお客様や、コールセンター業務の効率化を行いたいお客様など、業界を問わず導入いただいております。
そして、FAQ サイトを閲覧するエンドユーザーが困り事を自己解決できるための各種機能も提供しています。なかでも日本語に強い検索エンジンを利用した FAQ 検索機能、ナレッジの利用状況を可視化するためのレポート機能が強みです。また、製品を利用する企業の多様な業務内容に合わせて、ヘルプデスクサポートオプションの追加や、検索用辞書の追加機能といった多数の要素をカスタマイズすることができます。
ヘルプデスクサポートオプションを利用することで、FAQ で解決できなかったエンドユーザーからの困りごとを、フォーム、メール、電話応対などのさまざまなチャネルで受け付け、お問い合わせとして管理することができます。エンドユーザーへの回答を迅速に行うため、回答作成支援機能や、担当者自動割当、ワークフローなどエスカレーションのための機能を備えており、対応状況を可視化することができます。お問合せに対応する FAQ の検索やメール作成など、ヘルプデスク業務に必要な操作をシームレスに行える点についてご好評をいただいております。
さらに、PKSHA が提供する他の AI SaaS プロダクトとの連携も展開しています。「PKSHA Chatbot」と連携することで、エンドユーザーからのお問合せのチャネルを増やすことができ、FAQ データを連携することにより、メンテナンスコストを削減した事例もあります。
「PKSHA Speech Insight」では FAQ を参照し、書き起こしのサポートを行うことができます。このように、「PKSHA FAQ」を AI SaaS を用いたナレッジ管理のハブとして利用することが可能です。
システム構成
「PKSHA FAQ」は、FAQ を作成・管理するための管理画面と、FAQ を公開し、閲覧するためのエンドユーザー画面の 2 つで構成されるシステムです。
サーバー構成は大きく Web サーバー、AP サーバー、DB サーバー、検索サーバーの 4 つになります。
検索機能
管理画面から FAQ を作成したとき、FAQ の内容に含まれる全文や、管理用の情報、添付ファイル中の文章を全て抽出し、検索サーバーへ登録した後にインデックスを作成します。
エンドユーザー画面で FAQ を検索する際は、この検索サーバーのインデックスを参照し、管理画面から追加した検索用辞書などと紐付けを行ない、検索結果を提供します。
レポート機能
エンドユーザーが FAQ をいつ、どのような条件で、どこから参照したのかを、FAQ へのアクセスごとに DB サーバーで管理し、定時バッチ処理で集計を行います。集計情報は管理画面でレポートとして閲覧することができ、一定期間のアクセス実績や、最も検索されたワード、エンドユーザーが入力してヒットしなかった検索キーワード、などの情報を得ることができ、効果検証を行うことが可能です。
認証機能
「PKSHA FAQ」はお客様が持つサポートサイトと連携して利用されることを想定しており、不特定多数のエンドユーザーへ FAQ サイトを提供する用途の他、特定のエンドユーザーやお客様社内に限定して提供することができます。限定公開となる場合には、お客様で導入されている認証システムに合わせて、SAML 認証、API、URL パラメータ認証などを選択することができ、PKSHA FAQ を用いて構成された FAQ サイトへシームレスに遷移することが可能となります。
技術スタック
大部分を Ruby on Rails で開発しております。検索サーバーは Apache Solr を独自拡張し、日本語辞書を強化したものを使用しております。
開発チームの構成・開発スタイル
現在 13 名のソフトウエアエンジニアと、QA、運用、PdM で開発を行っています(業務委託メンバー含む)。その他カスタマーサポート業務等を行うカスタマーサクセスグループ、お客様のサイト別のデザイン業務を行うデザインインテグレーショングループ、セールスなどのグループがあり、お客様からの要望をヒアリングし実現するため、日々開発を行っております。複数のプロジェクトを並行して進めており、お客様からの要望対応、UIリニューアル、内部仕様改善など、様々な改善項目の中、1 週間のスプリントの中で各プロジェクトに充てる比重を都度調整しながら進めています。
技術的なおもしろさ・やりがい
「PKSHA FAQ」では、プロダクトを利用するお客様のサポート業務に注力し、業務内容に寄り添う形でプロダクトを提供できるような機能を取り揃えています。また、サービスを安定して提供するために、リリース前の綿密なチェック体制や迅速なバグフィクスを行うための体制を取っております。そのような中で、私考える技術的なおもしろさ・やりがいを 3 つ挙げます。
①お客様に合わせてカスタマイズ
エンドユーザー画面にHTMLを追加し、お客様のサイト独自に機能を追加したり、スタイルシートを自由にカスタマイズすることができたり、お客様のデザインガイドラインを FAQ へ反映することが可能です。システムから発信する各種メールのテンプレートを変更したり、お問い合わせフォームの内容を編集するなど、カスタマイズ可能な箇所は多岐に及びます。
お客様が実現したいカスタム内容についてはカスタマーサポートがご案内し、開発チームではカスタム要件が製品仕様内で可能かどうかを検証し、実現方法の説明や、改善要件として検討する形で、サポートへの協力を行っております。長くご利用いただいているお客様のサイトでは、サイトデザインや利用状況などに特色が見えるようになり、お客様の個別のサイトでカスタマイズをしている機能が、後に製品の機能としてフィードバックされることもあります。
お客様のビジネスに沿った需要に応えるために、技術力を創造力と駆使して最適なソリューションを提供することが必要となり、時には制約のある難しい課題解決が必要になることもありますが、ソフトウエアエンジニア一丸となって取り組み、機能のリリースへと向かう過程を経た時、エンジニアとして高い経験値を得ることができます。
②サービスを安定的に提供
サービス提供開始以来、システム稼働率 99.99% 以上を継続しており、その安定性をトッププライオリティとして運用しております。その安定性を維持するためプロダクト全体で様々な施策を行い、エンジニアチームも安定性を維持するための体制で開発を行い、サービスへ貢献しております。
また、お客様ごとにご利用いただいているバージョンも管理しています。システム上の不具合や稼働の停止が原因で、お客様のサポート業務が停止してしまうことがないように、機能のリリースや、お客様環境のアップデートのタイミングで複数のチェックを行っております。
バージョンごとに QA チームでの受入テスト、社内 FAQ サイトを用いた運用テストを行い、バグ検出の際は速やかにバグフィクスを行えるような体制を取ります。アップデートの際は必要に応じてテストサイトを用意し、お客様のカスタマイズに影響がないかをチェックしています。
800 社を超えるお客様が、どのように製品を利用しているか、どのようなカスタマイズを行なっているかを管理しつつ、お客様に適したサービス提供を行うことは大変な任務ですが、非常にやりがいを感じることができます。エンジニアとして、システムの安定性を維持し、顧客のニーズに応じたカスタマイズを提供することで、直接的にお客様のビジネスをサポートしている実感があります。また、毎日の運用やトラブルシューティングを通じて、技術的なスキルと問題解決能力を高めることができる点も魅力です。
③開発生産性を追求したカイゼン活動やリアーキテクチャ
今年で 13 年の歴史をもつプロダクトであるため、技術スタックや実装されているコードの多くはレガシーなものとなってきています。開発チームでは、開発効率の向上や、お客様からの要望に応える姿勢を保つため、モダンな手法をエンジニア主体で取り入れて技術的負債の解消に取り組んでおります。
直近では、管理画面側の UI/UX 改善のため、PKSHA 独自のデザインシステムを作成し、Hotwire + ViewComponent を用いた UI コンポーネントでの実装に置き換え、フロントエンド開発の効率化を行っております。
また、効率的な自動テストや開発生産性向上のための取り組みとして、全体のアーキテクチャを見直しています。Ruby on Rails 旧来の MVC モデルからレイヤーを増やして疎結合化を行い、モジュラモノリスな設計にシフトしています。
こうした取り組みは、エンジニア個人が発信したカイゼンが元となり、プロジェクト化されて行われております。エンジニアが快適に開発を行えるように、疑問に感じたことや、不便に感じたことはすぐにピックアップされ、どのようにカイゼンしていくかをチームやプロダクトとして考えられる仕組みとおもしろさがあります。
おわりに
「PKSHA FAQ」は PKSHA が展開する AI SaaS の中でも製品としての歴史が最も長く、お客様と信頼関係を築き上げております。そんなプロダクトを通して、お客様の悩みを解決することに興味がある方を募集しています。
開発チームとしては、お客様からの様々な要件に応えられるように技術的課題を消化し、代謝を高めている最中です。また、AI SaaS プロダクトとして、FAQ ならではの生成 AI 活用を推進しています。FAQ 作成時やヘルプデスク機能において、回答作成の AI アシスタントを提供し、お客様が文章作成に時間を費やしてしまう問題を解決したり、FAQ 内の文章を AI で解析し、検索精度の向上に繋げることを画策しています。
FAQ は多種多様な業界で使われるシェア No.1 プロダクトですが、他プロダクト連携含めまだまだ大きく成長の余地があり面白いチームです!興味を持ってくださった方はぜひお話をさせてください。
―INFORMATION―
▼ 中途採用:ソフトウエアエンジニアの募集要項はこちら
▼ 中途採用:全職種の募集要項はこちら
▼ PKSHA 採用サイト
▼ Wantedly はこちら