【Microsoft Ignite 2025】AI Search+Agentを使用してナレッジベースを構築する

Microsoft Ignite 2025 Day2のラボセッションに参加しました。

AI Searchの新機能として、Agentを使用したナレッジベースが実装されました。このAgentはインデックス、OneLake、SharePoint、Bingから回答を生成でき、またコストを切り替えることで、精度を求めるか、速度やトークン数を抑えるかなど、ユーザーの要望に柔軟に対応するような機能が提供されます。

こちらの内容について、セッションの詳細を最速でご紹介いたします。

セッションリンク

【LAB 511】Build Agentic Knowledge Bases: Next-Level RAG with Azure AI Search

github.com

現地の様子

本日、こちらの会場でラボセッションに参加させて頂きました!

ただ、非常に残念なことに、本日のLAB Sessionでは世界的な障害が起きたらしく、デモ用のPCがうまく動きませんでした。他にもLAB Sessionを見る予定だったのですが、残念ながらセッション自体が中止となってしまいました。

デモ内容解説

ナレッジベース概要

Azure AI Search に Knowledge Base という機能が実装されました。

from azure.search.documents.knowledgebases import KnowledgeBaseRetrievalClient

現地では「ライブラリで動作するAgentが、構築済みAI Searchのインデックスに問い合わせを行って回答生成する」デモを見ることができました。

おおまかに以下のようなイメージです。

ユーザー質問  
   ↓
Azure OpenAI が質問の意図を理解
   ↓
Azure AI Search に Search Query を発行
   ↓
関連ドキュメント(hrdocs index)を取得
   ↓
Azure OpenAI が回答を合成(citation 付き)
   ↓
回答を返す

notebooksフォルダのNotebookを Part1~8まで順番に追っていくことで理解を進めていくことができます。

github.com

AI Searchのインデックスなどは、同じくリポジトリのdataフォルダに格納されているものを使用していたようです。infraフォルダのBicepで環境が再現可能となります。

デモではすでにAI Search等各種リソースがデプロイされ、インデックスも構築されている状態でした。WebUIによるデモと、ノートブックによるデモを順番に見せて頂きました。

データソース(Knowledge sources)

利用できるデータソースは以下の通り紹介されていました。

  • Search Indexes
  • One Lake
  • Share Point
  • Bing

現地で確認しましたが、これらは既存機能として実装されており、ライブラリをimportすることで使用することができます。外部のMCPサーバーなどは対象外と回答いただきました。

アウトプット

Agentが生成する成果物は以下の通りです。

基本的にはユーザーの質問に対する回答と、生成過程のログが見えるという理解でよいと思います。

用語 説明
Marged Results 最終回答(Agent が複数の検索処理を行ったときに、検索結果を一つに統合したもの)
Activity Log Agent が “何をどう考えて何をやったか” をすべて追跡するログ
Answer Synthesis 検索結果の “生データ” を LLM で自然言語にまとめる工程

コストの概念

Agentの生成においては、コストの概念が存在するようです。

最初の説明で、以下のような回答生成プロセスを辿ると記載しました。

ユーザー質問  
   ↓
Azure OpenAI が質問の意図を理解
   ↓
Azure AI Search に Search Query を発行
   ↓
関連ドキュメント(hrdocs index)を取得
   ↓
Azure OpenAI が回答を合成(citation 付き)
   ↓
回答を返す

上記は単純化した概念で、実際にはどこまでコストをかけるかによって挙動が変わります。

具体的には、検索速度や消費トークン数、データソースの種類が異なり、回答生成の精度仕組みが違ってきます。これについて次に説明します。

Minimal

最小のコストで実行するケースは、次の通り紹介されていました。

  • ユーザーの入力したクエリを特段変換せずに入力する
  • Bing検索は使用しない
  • OutputはMarged ResultsとActivity Logのみ(ユーザーの入力したクエリを変換する過程がないため)
ユーザーの入力したクエリをそのままInputとして採用
   ↓
AI Searchのインデックス、OneLake、SharePointを検索
   ↓
Azure OpenAI が回答を合成
   ↓
Outputを返す
low

低コストで実行するケースは、次の通り紹介されていました。

  • ユーザーの入力したクエリを1:nで変換する
  • 4種類のデータソースを使用する
  • OutputはMarged Results、Activity Log、Answer Synthesis
ユーザーの入力したクエリを「Query Planning」を使用して整形する(複数個生成)
↓
生成した複数のクエリを使用して、
AI Searchのインデックス、OneLake、SharePoint、Bingを検索
↓
Outputを返す

Query Planningで、ユーザの入力から複数のクエリを生成する意味としては、以下の通りです。

  • 同じ文章でも 別の観点で検索すると別の文書がヒットする
  • マルチホップリーズニングのため(ユーザーの入力を一度にすべて使って答えを出すのではなく、順を追って推論を重ねていく手法。1回のチャットの複数の要求が入っている場合などに有効)
  • 情報欠損・曖昧性・表現ゆれへの耐性を強化

これにより中間の処理が増えますが、より精度の高い回答を生成します。

Medium

lowの処理でOutputを生成するところまでは同様ですが、ここで「Iterative Retrieval(反復的リトリーバル)」を行います。

Iterative Retrievalとは、結果が不足していればクエリを作り直して再検索する仕組みです。lowではOutputをそのまま返していましたが、mediumではOutputをAgentが確認して、不足があればAgentが過去のユーザーの入力+検索結果から、再度Query Planningを行います。

これにより検索結果に基づいたクエリが生成されるため、よりユーザーの求める回答に近い結果が生成できるという仕組みです。

おわりに

今回のセッションを通じて、Azure AI Search に実装された「Agent を用いたナレッジベース」の全体像と価値が、かなり具体的に見えてきました。

インデックス、OneLake、SharePoint、Bing といった複数ソースを横断し、Minimal/Low/Medium といったコストプロファイルで精度・速度・トークン消費をコントロールできる点は、現場の要件に合わせた運用のしやすさにつながります。また、Activity Log や回答合成(Answer Synthesis)といった出力の可視化は、エージェントの判断を検証・改善していくうえで重要な透明性を提供してくれます。

残念ながら現地 LAB は世界的な障害の影響で十分なハンズオンができませんでしたが、公開リポジトリのノートブック(Part1〜8)と Bicep により、手元での再現が可能です。

本稿はセッション当日の情報に基づく速報です。スピードを優先しているため、記載内容に誤りや変更が含まれる可能性があります。誤り等がございましたらご容赦ください。

執筆担当者プロフィール
西野 佑基

西野 佑基(日本ビジネスシステムズ株式会社)

機械学習系ソリューション開発、業務Webアプリ開発、開発環境自動化などを担当。

担当記事一覧