Azure AI Agent x Grounding with Bing Search を試してみる
執筆日
2025/07/03
概要
2025年8月にBing Search APIが完全廃止されることが決まり、AzureでのBing Search利用は、Grounding with Bing Search(及びGrounding with Bing Custom Search)のみになります。そこで今回はこれらをAzure AI FoundryのAgentプレイグラウンドで使ってみたので、ご紹介します。
リソース準備
Azure AI Foundryのリソースは既にある前提で進めさせていただきます。
Azure PortalでBingリソースで検索するとこのように作成するリソースをそれぞれ選択できます。
(Groundingではない廃止予定の2つも一応試してみましたが、作成しようとするとエラーが出て作成できませんでした)
Grounding with Bing Search
作成したら特に追加で設定は必要ありません。
Grounding with Bing Custom Search
[概要]→[Create New Configration]または[リソース管理]→[Configrations]→[Create New Configration]でカスタム検索設定を登録します。以下のようにヘッドウォータースのHPをサブページ含めて検索可能にしました。
Rank Adjusted
はそのページを優先的に検索をかけるブースト機能ですが、空のまま使うと上手く検索結果から回答が生成されなかったので、Boost
またはSuper Boost
にした方が良いかもしれません。Demote
は優先度を下げる設定です。
上位n件の検索結果がまずあって、そこからURLフィルタリングをかけているのかもと……思っています。Boostをかけるとフィルタリングの前に検索スコアが何倍かされてリランキングされるような挙動を想像しています。(後述しますが検索結果の詳細が検索クエリ以外全く見られないので内部挙動はMicrosoftとLLMのみぞ知るところです)
Azure AI Foundry の Agentプレイグラウンド でテスト
エージェントにBing Searchを接続
AI Foundryを開いてエージェントから新規エージェントを作成します。セットアップのナレッジの追加ボタンを押すと下図のように接続するナレッジを選択できます。
Bing Searchは接続リソースと下図のパラメータ設定をすると接続完了です。用途によっては情報のfreshnessは大事になりそうです。設定した年月日以降のページのみを検索します。(これも検索してから切り落としている可能性があり、期間を短くすると検索できませんでしたが多発しました)
Bing Custom Searchの場合は、追加で先程作成したカスタム検索設定を選択する必要があります。
Agentが作成出来たらセットアップの一番上にあるプレイグラウンドで試すからプレイグラウンドを開きましょう。
以下ではモデルはGPT-4.1を使用しています。
Grounding with Bing Search
インストラクションは「BingSearchを使って質問に答えてください。」だけの簡単なものにしました。
ヘッドウォータースについて聞いてみると、問題なさそうな回答が出ました。引用情報についているリンクはBingの検索実行ページでした。
ツールの実行情報を見ると「ヘッドウォータース 会社情報」で検索をかけたようです。
所在地を聞くと大嘘が返ってきました。ヘッドウォータースは現在西新宿にありますし、過去にもこの住所に会社があったことはないはずです。検索は「ヘッドウォータース 本社 所在地」でしたが、Bingで同様の検索をするとちゃんと現在の本社所在地がトップに表示されました。うーん……。
最近のニュースについても聞いてみました。間違ってはいないのですが、2024年の話をしだしてしまいちゃんと検索を使ったかかなり怪しい結果です。うーん……。
モデルの問題ではなく検索の問題であるとするとインストラクションでどうにかなる問題ではなさそうな気がします。
Grounding with Bing Custom Search
ヘッドウォータースのHPのみを許可しているため、一般論を省いて情報を検索してくれました。所在地も聞かずとも正しいものが含まれています。また下に表示される引用情報もBingでの検索結果が出るのではなく、実際のWebページへのリンクが表示されています。
ヘッドウォータースの最近のニュースを聞くと、こちらもちゃんとニュースページの中から最近のものをまとめてくれています。
テストまとめ
リソースの詳細を見ているときはCustom Searchと言ってもWebページのフィルタリングするだけ?と思っていたのですが、実際に使ってみるとかなり違った挙動をしていました。(実際何が起きているのかはわからないので「感じました」が正しい)
Grounding with Bing Searchで他にもいくつか質問してみたのですが、正直現状は実用に耐えうる性能ではないという感想です。西新宿のラーメン屋で質問したところ存在しないお店を案内されました。具体性のある質問を、と言われ具体的にするとより回答が悪くなることもありかなり体験が悪かったです。たまに質問が上手くいくとちゃんとどのWebページを参考したか出ることもありましたが、かなりAIフレンドリーな人でなければ協業は難しいのでは?という感想です。
Customについては特定Webページ内での情報収集を効率化する用途であれば使えそうな気がします。ただし2025/7/3現在はパブリックプレビューです。また、アプリで利用する場合そのWebサイトの利用規約にも十分注意する必要があります。
Note
REST API 単独では使えない
2025年8月にBing Search APIが完全廃止されることが決まり、Azureで新規リソース作成が出来なくなっていますが、プレイグラウンドで叩かれているAPIを確認するとBing Search APIで使われていたものと同じものであることがわかります。
じゃあGroundingリソースのキーを使って同じように叩けるのでは?と思ったのですが、そもそも許可されたアプリ以外からの利用が利用規約で禁止されていました。(叩くと認証エラー401が出るらしいです)
azure.ai.projects以外でtoolとして使えない
OpenAIのAgentSDKやAutoGenで検索toolとして使えるか調べてみましたが無理そうでした。これも上記利用規約に触れる部分なのかもしれません。(個人的にはこれが一番使いづらいと感じたポイントです)
Grounding with Bing Searchの検索結果の取得について
Bing 検索ツールを使用したグラウンディングは、特定の Webドメインではなく、Webからリアルタイム情報を取得するように設計されています。
どういう意味かよくわからなかったのですが、回答を何度か試したところWebページを開いてそのページを読むわけではなく、Bing検索結果の概要を基に回答を生成しているような気がします。Customの方はページ内部も読めている?
Bing Search ツールを使用した接地では、ツールの出力は開発者やエンドユーザーに返されません。
なんと、検索結果がどんなものだったかを具体的に知る方法は存在しません(????)。利用規約にリバースエンジニアリングしないで等の記述もあり、Bingの情報はかなりシビアに管理されているのでしょうか。
利用規約
上記でも触れた利用規約です。アプリ開発者は特に一番下の"Appendix to TOU: Grounding with Bing Search and Grounding with Bing Custom Search Use and Display Requirements"の項目には十分注意しましょう。
以下日本語訳全文です。長いですが、アプリに組み込むときにちゃんとBing検索使ってることと検索に使われたクエリを表示できるような仕組みを作って利用してくださいということに注意しましょう。
出力には、引用(ウェブページの結果へのハイパーリンクを含む)、および Bing Search を使用した Grounding の場合は Bing Search 結果ページへのリンク(これらを合わせて「参考文献」といいます)が含まれます。お客様は、マイクロソフトから提供された正確な形式で参考資料を保持し、表示しなければなりません。
お客様は、インターネット検索エクスペリエンスであるアプリケーションにおいてのみ、出力を使用することができます。インターネット検索エクスペリエンス」とは、アプリケーションが以下のコンテンツを表示することを意味します:
- エンド ユーザーによる直接のクエリ、またはエンド ユーザーの検索に対する関心および意図を示すその他の表示 (たとえば、ユーザーによる検索クエリ) に関連し、これに応答するコンテンツ。
- ユーザがリソースを見つけ、そこへナビゲートするのを助けること。例えば、アプリケーション内のハイパーリンクからクリック可能なリンクを提供すること。
- エンドユーザがインターネット検索結果を受信していることを目に見える形で示すこと。例えば、ウェブ引用の表示など。
- お客様による本サービスの利用が、適用される法律、第三者の権利、またはお客様が第三者に対して負う義務もしくは義務を侵害しないことを保証するための、その他の適切な手段を含みます。どのような措置が適切かについては、お客様の法律顧問にご相談ください。
TOUの制限事項に加えて、お客様は、本サービスの使用から生じるアウトプットの使用および表示に関する以下の要件を認識し、これに同意するものとします:
1.お客様は、リソースの位置、説明、およびリンクを保持することを含むがこれらに限定されない、アウトプット内の参考文献へのリンクおよび帰属を変更することなく保持しなければなりません。お客様は、お客様のアプリケーションにおいて、表示されたアウトプットの近くにリソースを表示しなければなりません。
2. お客様は、本サービスを利用する場合、第三者またはお客様のエンドユーザーに以下の行為をさせてはならず、また許可してはならないものとします:
a. 承認マイクロソフト アプリケーションを通じてお客様が本サービスと共に使用できる AI モデルの技術的またはプログラム的な制限を回避すること;
b. お客様独自の AI モデル、またはお客様もしくは第三者が提供する新規もしくは既存のサービスを含むがこれらに限定されない、AI モデルのトレーニング、評価もしくは改良のために、出力を使用すること、または出力を使用することを促進すること;
c. Web サイトによって当該アウトプットの使用が制限されている Web サイト (robots.txt によってお客様のクローラーがブロックされている場合を含みますが、これに限定されません) において、アウトプットを使用すること、またはその使用を促進すること;
d. マイクロソフトが提供していない広告を表示すること;
e. 出力、または出力に関連するデータもしくはコンテンツをコピー、保存、またはキャッシュすること;
f. 法令により要求される場合またはマイクロソフトが明示的に同意した場合を除き、出力に関連するリソースの帰属情報および URL を省略または変更することを含むがこれに限定されない、出力内容の変更。
g. 出力物の一部に含まれていないコンテンツを、そのコンテンツが出力物の一部であるとユーザーに信じさせるような方法で表示すること。
表示方法の実装はこちらを参考にするのが良さそうです。
参考
感想
使いどころ・使い方、難しい。Grounding with Bing Custom Searchで会社情報をお客様に案内するチャットボットに自社Webページの情報を与えるのに使うのがパッと思いつくユースケースでしょうか。ですが、パブリックプレビューなのでしばらくはPoCにとどまるでしょう。ですが、1トランザクションにつき約5円(0.035ドル)かかるので、toC向けでサブスクリプション利用のサービス等にしないと採算が合わないような気がします。
groundingが接地と翻訳されるのやめて欲しい。
Discussion