オフィスで打ち合わせをするチーム

CASE SD-04

ServiceNow × Azure OpenAI による社内ナレッジ検索 AI チャットの構築

ServiceNow のチャット UI を入口に、Flow によるオーケストレーション、社内ナレッジ検索、Azure OpenAI による質問理解・回答生成・会話要約を連携。固定フローではなく、AI が質問内容を判断してナレッジ検索が必要な場合だけ検索する構成で、自然な対話と社内情報に基づく回答を両立させました。

プロジェクト概要

お客様エンタープライズ企業(非公開)
事業領域System Development
規模ServiceNow 上のチャット UI、Flow によるオーケストレーション、対話履歴データストア、社内ナレッジ検索、Azure OpenAI 連携の一式
期間UI 構築 → Flow 統合 → 検索要否判定・検索語生成 → 回答生成 → 履歴・要約による継続会話の 6 ステップで構築、試運転後に継続改善
支援範囲
  • 生成 AI チャットの利用シナリオ整理、ServiceNow ナレッジ検索との連携要件、会話履歴・検索・回答生成の要件整理
  • ServiceNow、Azure OpenAI、ナレッジベース、履歴 DB を連携する全体アーキテクチャと処理フローの設計
  • ServiceNow 上のチャット UI(履歴表示・検索、新規チャット、タイトル編集・削除、質問送信)の実装
  • AI/エージェント設計(質問理解、検索要否判定、Tool Calling、キーワード・同義語・意図の抽出、回答生成、会話要約)とプロンプト設計
  • Flow から Azure OpenAI・ナレッジ検索を呼び出す連携処理、履歴の保存・参照処理、非同期処理の実装
  • Entra ID 認証・RBAC による Azure OpenAI 利用権限の制御、精度・性能の検証とチューニング、運用方式の検討
技術
ServiceNowAzure OpenAIRAGTool CallingEntra ID
使用サービス・製品ServiceNow(Flow/UI Action/Knowledge Base)/Microsoft Azure/Azure OpenAI(Responses API)/Microsoft Entra ID/RBAC/REST API/Function Calling / Tool Calling/RAG(Retrieval-Augmented Generation)/非同期処理/対話履歴管理

お客様の課題

社内には業務手順、システム操作、FAQ、権限、障害対応など多くのナレッジが蓄積されている一方、利用者自身が必要な記事を探して読み解く必要があり、情報検索に時間がかかっていました。従来型のチャットボットは、あらかじめ定義したキーワードや固定フローに依存しやすく、通常の会話とナレッジ検索を柔軟に切り替えることが困難でした。

すべての質問に同じ検索処理を実行する方式では、検索不要な会話でも検索が走る、ユーザーの表現とナレッジ側の用語が違うと見つからない、検索結果にない社内情報を生成 AI が補完してしまう、長時間の AI 処理で ServiceNow 側の通信がタイムアウトする、といった課題がありました。生成 AI へのアクセスには認証・認可を含めたセキュリティの確保も必要でした。

進め方

ServiceNow をユーザーインターフェースとオーケストレーションの中心に置き、Azure OpenAI と社内ナレッジベースを連携する構成を採用しました。まず ServiceNow 上にチャット画面を実装し、質問入力、回答表示、会話履歴の表示・検索、新規チャット、タイトル変更・削除の機能を提供。画面とバックエンドは UI Action を介して連携し、質問内容を Flow へ引き渡します。

ServiceNow Flow を処理の中核として、質問受付、履歴取得、Azure OpenAI 呼び出し、ナレッジ検索、回答生成、履歴保存までを統合。画面側と AI・検索を直接結合せず Flow で制御することで、各コンポーネントの役割を分離し、機能追加や処理変更に対応しやすくしました。

「すべての質問でナレッジを検索する固定フロー」から、Azure OpenAI が質問内容を理解して検索要否を判断する方式へ変更。一般的な会話は検索せずに回答し、社内制度や業務フロー、システム操作など社内ナレッジが必要な質問の場合のみ検索へ分岐します。検索が必要な場合は Tool Calling で検索クエリ、主要キーワード、同義語・類義語、ユーザー意図、質問要約を構造化して抽出し、検索結果を根拠に回答を生成。質問と回答は履歴として保存し、会話要約により長い対話でも文脈を保って継続できるようにしました。

構成と対応のポイント

ServiceNow を起点とした AI チャット基盤

利用者が既存の業務環境から離れることなく生成 AI を利用できるよう、ServiceNow 上にチャット UI を実装。過去のチャット検索、新規チャット、タイトル編集・削除、会話履歴表示など、継続的な業務利用を想定した UI 機能を提供しました。

AI が処理フローを判断するエージェント型アーキテクチャ

Azure OpenAI が質問内容を判断し、必要な処理を選択する方式を採用。ナレッジ検索が必要な質問では Tool Calling を行い、一般的な質問では検索をスキップすることで、自然な会話と業務ナレッジ検索を同一チャット上で実現しました。

同義語を活用したナレッジ検索精度の向上

質問文から検索キーワードだけでなく同義語・類義語も生成して検索に利用。ユーザーが正式名称や記事内と同じ用語を知らない場合でも、関連する表現を AI が補完して必要なナレッジへ到達しやすくしました。

ナレッジを根拠とした回答生成とハルシネーション抑制

社内業務に関する回答では検索したナレッジを最優先の情報源とし、検索結果に存在しない社内制度、URL、担当者、期限、操作手順、業務ルールを作成しないようプロンプトで制御。回答の根拠となるナレッジへの参考リンクも提示できる設計です。

長時間の AI 処理に対応した非同期通信

Azure OpenAI への処理要求を非同期化。最初のリクエストで処理を登録し、発行された ID で一定間隔でステータスを確認、完了後に結果を取得する方式とすることで、長い推論処理でも ServiceNow 側の通信が停止しにくい構成としました。

Entra ID・RBAC による生成 AI アクセス制御

ServiceNow から Azure OpenAI へのアクセスに Microsoft Entra ID による認証と RBAC による認可を採用。Azure 側では送信元の制御、トークン検証、RBAC ロール確認を行い、必要な権限を持つアプリケーションのみが Azure OpenAI を利用できる構成としました。

成果

担当した工程

その他の導入事例

Cloud Integration CASE CI-01

EDI 基盤の Azure PaaS 移行・構築支援

Azure / PaaS / App Service / SQL Database / IaC

次期 EDI 環境を Azure PaaS 中心のゾーン冗長構成で設計。Azure CLI 一式とパラメータシートで、お客様自身が再現できる形で引き渡し。

詳しく見る →
Cloud Integration CASE CI-02

大学向け Azure Virtual Desktop 環境の導入支援

AVD / Entra ID / FSLogix / Azure Files

学生用・教職員用の2テナントにまたがるAVD環境を、PoCから本番展開まで支援。

詳しく見る →
Cloud Integration CASE CI-03

Azure OpenAI による社内チャット・ドキュメント検索の PoC 支援

Azure OpenAI / AI Search / App Service / Teams / Power BI

社内向けチャットと生成AIドキュメント検索の2つのPoC環境をお客様のAzure上に構築し、Teams連携とPower BIダッシュボードまで提供。

詳しく見る →

導入事例一覧へ→

同様のプロジェクトをご検討中の方へ

要件が固まる前の段階でも、現状と目的の整理からご相談いただけます。

✉ お問い合わせフォームへ→