Microsoft 365 Copilot Chat Agent Builder -ナレッジ設定の仕様と精度を上げるベストプラクティス-

Microsoft 365 Copilot Chatでエージェントが作成できるAgent Builderを使ったことがあるでしょうか。
企業内では、Microsoft 365 Copilotをそれなりに使い始めた方はAgent Builderでエージェントを活用し始める流れがあるかと思います。(その次は、精度とか色々求めてCopilot StudioをMicrosoft 365 Copilot ライセンスの範囲内で使うかと)

先日、Agent Builderのトレーニング講師を務めた際に、受講者の方から「聞いた内容が特定のソースからしか引っ張ってこないんです。他のファイルにもその内容はあるのに・・・」と。

個人的な感覚として、指示された内容と確率の高い回答をする形になるから、そのファイルが一番確率高い情報ソースなのではって思ってました。

でも、なんでだろうと調べたところ、色々とナレッジ参照の仕組みがあることが分かりました。Agent Builderで検索/参照型のエージェントを作成・利用するうえでは大事な仕様だと思うので、この記事では、ナレッジの仕組みについて紹介します。
また、よくナレッジに設定すると思われる、埋め込みファイルとSharePointのファイルについて触れていきます。


1. 結論

結論を最初に簡単にまとめます。

  • ノイズが混ざらないようにナレッジは指定してね。なるだけ余計な情報は含まないようにしてね。

  • 埋め込みファイルは20ファイルまで。冒頭750-1000ページ数くらいの文字を検索対象にするよ

  • SharePoint内の情報でもファイルを指定して。20ファイルまでは全文検索するよ。それ以上のファイルあると、関連が高い20ファイルについて答えるよ。合計ページ数を300ページ以内に抑えてね。

  • フォルダ・サイト単位でもノイズ混入するけど指定できるよ。1ファイル36000ページ(15-20ページ)に抑えてね

こんな仕様があるって、皆さんご存じだったでしょうか。
私は、知らず、サイト全体とかを普通に指定してました。まぁ、そりゃそうですよね。範囲が大きければその分余計な情報が増えますし、精度は落ちますよね。これからちゃんと絞るようにしたいと思います。

それでは、ここからは1つ1つ詳細を見ていきます。

2. 埋め込みファイル(ファイルアップロード)

ナレッジを埋め込みファイル(直接ファイルをアップロードする方法)にする場合で、知っておいていただきたい内容をまとめますね。

  • ファイルの保存先:SharePoint Embedded

  • 制限値:最大20ファイル(Excel:30MB,それ以外:512MB)

  • 検索範囲(インデックス):ファイル冒頭の750-1000ページ(180万文字)

  • アクセス権:エージェントを共有した場合、共有された側はファイル情報へのアクセスができる

  • その他:テキストファイルのみインデックス化。画像等はインデックス化されない。

  • 推奨案:
    1ファイルを大きくしすぎないこと
    Excelは1シートに収める事(複数シートにまたがる場合はファイルを分ける)

この内容で特筆すべき点は、特にないです。

750-1000ページのファイルなんて早々ないと思いますし。
公式の見解にはありませんが、750-1000ページ(180万文字)って言うのは、英語→日本語になると、だいたいエンコードの関係で制限値が低くなる気がするので、半分くらい(なんとなく500ページ,100万文字)に考えた方がよさそうと考えています。

あとは、余計な情報を含めないこと。
これは、例えば、社内規程エージェントを作成した場合に、規程に関するファイルのみをナレッジとして、関係ないファイルをナレッジとしないことと言うのを指します。

Excelは1シートしか読まないって言うのも大事ですね。結構盲点だと思うので、お気をつけください。

3. SharePointをナレッジに指定

SharePointをナレッジにする場合、ファイル指定、フォルダ指定、サイト指定など指定方法がいくつかあります。

サイト指定できるので、便利と思ってサイト全体を指定!みたいなことやっちゃいますよね。便利で簡単だし。私もやってました。
でもそれじゃダメみたいです。冒頭にも書いた通り、ノイズが混ざらないようになるだけ絞った方がいいんです。

そんな話を、それぞれ掘り下げて仕様を見ていきますね。

1. ファイルで指定

ドキュメントライブラリーに保存されているファイルを1つ1つ指定することを指します。仕様を見ると、この方法を推奨しているように思えます。

  • 制限値:最大100ファイル

  • 検索範囲(インデックス):対象が20ファイルまでは全文。20以上の場合は、関連性上位の20ファイルの全文を検索

  • 推奨案:
    20ファイル以下に抑える
    合計ページ数を300ページ以内に抑える

対象が20ファイルまでの指定をしている場合は、そのファイルの全文を検索対象とし、20以上の場合は、入力したプロンプトの内容に関連の高い20ファイルを全文を検索対象として、回答を生成する動きとなります。

また、回答の確実性を高める内容として、指示する対象のファイルの合計ページ数を300ページ以内に抑えることと推奨されています。
目安としては、1ファイル15ページ平均ってことになりますね。

2. フォルダ・サイトで指定

ナレッジはSharePointサイトやドキュメントライブラリのURLで指定することができます。
ファイルを指定するよりは、フォルダ・サイトで指定した方が手間がかからないのでこちらの方法を選択する方が多いかもしれませんが、情報の固まりで参照元を設定することになるため、情報のノイズが増え、回答の精度が落ちます。

フォルダ・サイトで指定する場合の細かな動きは公開されていませんが、ある程度はファイル指定する場合の動きに似てるのではないかと推測しています。

そのため、個人的には妥協案としては、フォルダで指定する方法です。そうすれば、1つ1つアイテムを指定するような手間もなくなります。
ただし、指定するフォルダの中身を整理する必要があります。様々なファイルを混在させるのではなく、例えば、規程参照のエージェントを作成するのであれば、ファイル内は規程に関する内容のみを保存。情報システムのFAQのエージェントであれば、情報システム関連の資料のみのフォルダにするなど。フォルダ内にはエージェントの目的に合う情報のみを保存するように整理する必要があります。

その点を注意いただき、フォルダ指定していただければと思います。
※ちなみに、フォルダ内にフォルダがあった場合は、サブフォルダ内のファイルも参照対象に含まれるようです。

4. まとめ

いかがでしたでしょうか。
Agent Builderで作成するエージェントの回答の精度を上げるためのこのような仕様があるなんて知りませんでした。なんでも思いつきで簡単な方法でエージェントを作成すべきでないなと反省です。

Agent Builderで作成するエージェントでの精度を上げるためのベストプラクティスのまとめです。
ぜひ推奨案を参考に、エージェントを作成してみてください。

Agent Builderで作成するエージェントのベストプラクティス

SharePointサイト内で作成するSharePointエージェントもファイル参照型のエージェントですが、簡単に調べてみたところ、同じような制限で動作するようです。こちらもどこかで調査したら、まとめて共有させていただきます。

以上、皆様のエージェント活動に参考になれば幸いです。
最後までお読みいただき、ありがとうございました。

参考文献


いいなと思ったら応援しよう!