目次
やりたいこと
AgentBuilderの対話型エージェントにおけるPlaybookを活用したデータストア検索の調査
playbookでデータストアを複数接続できるのか?
- 試したこと
- playbookのInstructions設定内で2つデータストアを指定して回答に反映されるのかを検証
- 結果
- 2つのデータストアを参照した回答は問題なくできた。
データストアの接続数の限界を検証
- 試したこと
- playbookに接続するデータストアの量を10個に増やして回答の精度を確かめる。
- 結果
- playbookデータストアを接続する際に「次のすべてのデータストアで検索して」と指定すると、実際にはどれか一つのデータストアでしか検索されなかった。
- Instructions内で、データストアごとに条件を設定し、複数のデータストアを場合に応じて参照することは可能だった。
データストアごとに条件を設定して、
複数のデータストアを使う場合の回答の精度ついて調べる
- やりたいこと
- データストアごとに条件を設定して、
複数のデータストアを使う場合の精度はどのくらいのものなのかを検証する。
- データストアごとに条件を設定して、
- 試したこと
- ユーザーからの質問の語頭に含まれている文字に応じてデータストアを10個使い分けられるのかを検証。
- 結果
- Instructionsに下記の文章を組み込んだ結果、7割の確率で正しいデータストアが使用され回答された。
- ちなみに一つ一つに全く別の条件を設定しても正常に動作した
- ユーザーの希望の条件の物件を次のデータストアで検索し、検索した内容を纏めてチャットに出力してください
- また、ユーザーからの検索キーワードによって使用するデータストアを変更します
- 語頭にAが含まれている場合${TOOL:suumo500_0}
- 語頭にBが含まれている場合${TOOL:suumo500_1}
- 語頭にCが含まれている場合${TOOL:suumo500_2}
- 語頭にDが含まれている場合${TOOL:suumo500_3}
- 語頭にEが含まれている場合${TOOL:suumo500_4}
- 語頭にFが含まれている場合${TOOL:suumo500_5}
- 語頭にGが含まれている場合${TOOL:suumo500_6}
- 語頭にHが含まれている場合${TOOL:suumo500_7}
- 語頭にIが含まれている場合${TOOL:suumo500_8}
- 語頭にJが含まれている場合${TOOL:suumo500_9}
playbookの例の設定、examplesを使ってみる
- やりたいこと
- playbookのexamples設定について調べる
- 試したこと
- examplesの設定がどのようなものかを実際に触って確かめてみる。
- 3つの例を作成し、それぞれが動作にどのような影響を与えるのかを確認する。
- 結果
- examples の設定は、ユーザーとエージェントのやり取りを自分で作成し、例として設定するような形だった。
- 状況に応じた適切な対処を例に設定すると、一応はそれに沿って動作するが、例が少ない場合は予期せぬ動作をすることがあった。
実際に使ったexamplesの設定

まとめ
- Playbookでは複数のデータストアを指定できるが、「次のデータストア全てで検索して」などの一括検索はうまく機能しなかった。
- データストアごとに条件を設定することで、複数のデータストアを適切に使い分けられる。
- Examples設定を活用すると、エージェントの動作をある程度制御できるが、設定数が少ないと意図しない挙動が発生する事があった。