Copilo Studioについて勉強を始めたので、その内容をメモ。今回は作成したエージェントにPower Automateで作成したアクションを追加する。

アクション
アクション(元々はプラグインという名前だった)は、エージェントに「機能」を登録するもの。
- コネクタ/カスタムコネクタ
- Power Automate
- AI Builderのプロンプト
- スキル(Azure Bot Framework
※2024/12/26時点で「生成AIの利用」をONにするためにはエージェントの言語を「英語」にする必要あり。


構築


今回は「指定ユーザーのスケジュールを取得する」アクションを追加するので、トリガーの[入力を追加する]を押し、

このとき「生成AIの利用」をONにしたエージェントは引数の説明を読み取って、アクション呼び出し時に引数を自動で設定してくれるため、各引数の説明は丁寧に書く。
※今回はサンプルなのであっさり書いたけど、精度を高めたい場合はさらに説明を詳細に書くか、または工夫して引数を決めること。
- mail : 予定を取得するユーザーのメールアドレス
- start : スケジュールを取得する開始日時(yyyy-MM-dd)
- end : スケジュールを取得する開始日時(yyyy-MM-dd)

※このAPIについては本題ではないので詳しい説明は省略。指定したユーザーの指定した開始~終了までの予定を取ってきてくれる。


※本当は「その機能に対して必要最小限の情報を戻すべき」なんだけど、今回はサンプルなのでそのままCopilotに値を渡す。

※本番の開発であればこの時点でフローの単体テストを実施する。



※GPT系のモデルの「Tools(旧 Function calling)」と基本は同じ。

動作確認(接続の作成)





- エージェントへの指示が足りない(システムプロンプトがいまいち)
- エージェントへの応答(出力)の内容を絞っていない(APIの結果をそのまま返してる)
- エージェントへの応答(出力)の説明不足
などいろいろな原因が考えられるので、本番の開発ではこの辺をきちんと設計/設定して精度を高める。

今回はCopilotに対しユーザーを指定するとき「メールアドレス」をわざわざこちら側で入力したけど、せっかくAIを使っているので「ユーザー名(日本語名)」から予定を取得してほしい。


コメント