Amazon Web Services ブログ
セゾンテクノロジー様の AWS 生成 AI 事例:Amazon Bedrock を活用してサポートエンジニアの回答作成時間を最大 30 % 短縮
本ブログは、株式会社セゾンテクノロジー データインテグレーションエンジニア 石原直樹氏 と アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト 藤原、田原 が共同で執筆いたしました。
はじめに
セゾンテクノロジーは、「世界中のデータをつなぎ、誰もがデータを活用できる社会を作る」というミッションを掲げています。自社製品である「HULFT(ハルフト)」は、国内外で広く活用されるデータ連携製品へと進化し、近年はポートフォリオをさらに拡充させています。昨今急速に進化をしている生成 AI は企業ミッションとも親和性が高く、セゾンテクノロジー内では個人やプロジェクト、チーム単位で活用方法を模索する動きが活発化していました。そこで、各部門に分散していた生成 AI の知見を集約し発展を加速させるため、全社横断的な研究会である LLM Mavericks を設置し、生成 AI の研究や活用に取り組んでいます。
本ブログでは、LLM Mavericks の活動の一環として、Amazon Bedrock を活用した AI チャットボットを HULFT 製品のテクニカルサポートセンターに導入した事例について解説します。なお、本事例は 2024 年の AWS Summit Japan の基調講演でも取り上げられました。
導入背景
HULFT 製品のテクニカルサポートセンターでは、サポートエンジニアはお客様からの問い合わせに対し、数万ページにも渡るマニュアルや FAQ、及び、膨大な過去の問い合わせ履歴から必要な情報を検索して回答を作成しており、若手のサポートエンジニアのスキル育成や、回答作成時の心理的負担を軽減したいことから、検索の効率化を検討していました。
本課題を解決するために、セゾンテクノロジーは Amazon Bedrock を活用した Retrieval-Augmented Generation (RAG) の仕組みを構築しました。
これにより、RAGシステムが問い合わせ内容から自動的に関連情報を抽出し回答案を生成するため、エンジニアは複数のサイトを横断したり、適切な検索クエリを考えたりする負担が軽減されます。さらに、検索結果の内容を精査し回答を一から作成する必要がなくなるため、業務効率が向上し、エンジニアの心理的負担も軽減されると期待しました。
ソリューション / 開発における工夫
AWS を活用して RAG の仕組みを構築するには、下図に示すように複数のパターンを取ることができます。それぞれの手法で開発の自由度や開発の容易さ、運用の負荷などが変わってきますが、AWS はお客様のユースケースに応じて最適なサービスを選択できるように様々な選択肢を用意しています。
開発当初は、Amazon Kendra や Knowledge Bases for Amazon Bedrock を活用し検証していましたが、サポートエンジニアから「質問への回答に関係のない情報が含まれる」というフィードバックがありました。分析の結果、Knowledge Bases for Amazon Bedrock のベクトル検索では、HULFT製品特有の単語や文章を、正しくベクトル検索できていないことが判明しました。一方、Amazon Kendraでは、日本語の分かち書きの精度が不十分であったり、また、検索結果の取得トークン数の制限により、文脈の断片化が起こるという課題がありました。
これらの問題に対処するため、ベクトル検索だけでなく、日本語の分かち書きが得意なsudachiトークナイザーを利用したキーワード検索も導入しました。さらに、検索対象のドキュメントを階層的にチャンク分割し、検索時には粒度の細かいチャンクを用いて高精度な検索を行い、その後関連する上位階層のチャンクを取得することで、文脈を保持する方式を採用しました。さらに、複雑な質問に対応するため、Large Language Model (LLM)によるクエリ拡張の手法を取り入れました。このように、フィードバックを元に段階的な改善を重ねながら開発を進めていきました。
現在のアーキテクチャは以下の図の通りで、サーバーレスアーキテクチャを採用しています。ドキュメントおよびアプリケーション、ライブラリは、すべてコンテナイメージとしてAmazon Elastic Container Registryに格納しています。これらのイメージはAWS LambdaによってPullされ、実行環境として使用されます。
では、お客様からの問い合わせをきっかけに、RAGシステムがどのように回答を生成するかを見ていきましょう。お客様から問い合わせがあった際に、サポートエンジニアが Slack 上で AI チャットボットに質問内容をメンションします。投稿された質問文から、Anthropic Claude 3 Haiku によりキーワードや類似語が抽出され、複数の検索クエリが生成されます(クエリ拡張)。生成されたクエリを元に、まずキーワード検索を行い、キーワードに関連するドキュメントをN件に絞り込みます。次に、階層化されたチャンク構造のベクトルDB(FAISS)に対して、ベクトル検索を実行し、意味的に関連するドキュメント上位K件に絞り込みます。最後に、絞り込まれたドキュメントを基に、Cohere Command R+ により回答が作成され、Slack で回答が返ってきます。
このように、Advanced RAG に分類される手法を導入しています。これらの処理の組み合わせにより、検索精度と文脈保持を両立し、Amazon Kendraを活用したRAGと比較して14%、Knowledge Bases for Amazon Bedrockと比較して22%の回答精度向上を達成しました。
複数モデルでの検証の結果、クエリの生成には、日本語の理解と生成に優れており、高速な応答性能を示した Anthropic Claude 3 Haiku を採用しました。回答の生成は、RAG の用途に最適化された機能を持つ Cohere Command R+ を採用したことで、開発時に複雑な処理を必要とせず、説明可能性が高い回答を得られるようになりました。
また、本事例の特徴として、Guardrails for Amazon Bedrock の機能を組み込んで責任ある AI チャットボットを構築していることが挙げられます。具体的には、製品のシリアル番号などの特定の機密情報の入力を制限するルールを設定することで、AI チャットボットをより安全に活用できる環境を簡単に整備できました。
導入効果
本RAGシステム導入により、サポートエンジニアの回答作成時間は最大で 30 % 短縮されました。若手のサポートエンジニアだけではなく熟練したサポートエンジニアにも導入の効果があり、テクニカルサポートセンター全体でみると、導入前と比較して約 10 % 業務が効率化されています。さらに、サポートエンジニアの半数以上からは、回答作成時の心理的負担が軽減したといったフィードバックも得られています。
また、サーバーレスアーキテクチャを採用したことで、システムの運用負荷を大幅に削減し、かつ、サポートエンジニアからの質問 1,000 件あたり 30 ドル以下の低コストを実現しています。
まとめ
本ブログでは、セゾンテクノロジーによる、Amazon Bedrock を活用したRAGシステムの HULFT 製品のテクニカルサポートセンターへの適用事例について紹介しました。Amazon Bedrock では、複数の基盤モデルを用途に応じて選択できること、Guardrails for Amazon Bedrock でポリシーに基づいたデータの制御ができることなど、責任ある AI を備えた生成 AI アプリケーションを構築するために必要な幅広い機能を提供しています。本事例はそのような Amazon Bedrock のメリットを活かしており、これから生成 AI アプリケーションの構築を検討されるお客様のご参考になれば幸いです。 セゾンテクノロジーは、今後の展開としてAgents for Amazon Bedrockの導入を計画しています。この導入により、利用者からの質問内容を事前に分析して不適切な内容をブロックする機能や、必要に応じて利用者に追加の質問を行う機能を取り入れることで、より安全で正確な回答の生成を目指しています。