ツールは、エージェントが外部システムと対話できるようにする構成要素です。 ツールはエージェントの機能を拡張し、ユーザーの要求や自律的なトリガーに応じてさまざまなアクションを実行できるようにします。 各ツールは、エージェントが実行できる特定の機能を表します。 たとえば、次のようなツールをエージェントに装備できます。
- Office 365 Outlook コネクタを使用して電子メールを送信する
- 現在の気象条件と予測を確認する
- Dataverse からのデータの読み取りと書き込み
- Teams へのメッセージの読み取りと投稿
ツールを追加するためのメカニズム
カスタム エージェントの機能を拡張するには、1 つ以上の ツールを追加します。 エージェントは、 生成オーケストレーションを使用して、ツールを使用してユーザーに自動的に応答できます。 トピック内からツールを明示的に呼び出すこともできます。
生成オーケストレーション (既定でアクティブ) では、エージェントは、ユーザーに応答するために、最も適切なツールまたはトピックを自動的に選択したり、ナレッジ全体を検索したりできます。 このオーケストレーション モードでは、より動的でインテリジェントな会話エクスペリエンスが作成されます。
クラシック モード (生成オーケストレーションがオフ) では、エージェントはトピックのみを使用してユーザーに応答できます。 ただし、トピック内からツールを明示的に呼び出すエージェントを設計することもできます。
エージェントにツールを追加するには、いくつかのメカニズムを使用できます。
- 事前構築済みコネクタ: Microsoft サービスと Microsoft 以外のサービスの両方から、何千もの一般的な API へのプリセット接続の選択から選択します。
- カスタム コネクタ: Power Platform コネクタを使用してカスタム ツール オプションを有効にするカスタム サービスまたはシステムへの接続を定義します。
- エージェント フロー: 実行する 1 つ以上のアクションを含むエージェント フローを定義します。
- プロンプト: あなたが提供する知識を参照することができる単一ターンのモデルベース プロンプト。
- REST API 接続: REST API への接続を定義し、ツールとして追加する 1 つ以上の API エンドポイントとメソッドを選択します。
- モデル コンテキスト プロトコル (MCP) ツール: MCP サーバーに接続してツールにアクセスします。
- コンピューターの使用 (プレビュー) エージェント: エージェントが、Web サイトやデスクトップ アプリのグラフィカル ユーザー インターフェイスを持つシステムと対話したり、ボタンを選択したり、メニューを選択したり、画面上のフィールドにテキストを入力したりできます。
この記事とドキュメントのこのセクションのツールについて説明する場合は、このグループのメカニズムの 1 つを意味します。 これらのツールの種類は、エージェントに追加し、同様の方法で構成できます。
ツールのような動作をエージェントに追加するために使用できるメカニズムは他に 2 つあります。
- スキル: 関連するツールの集まりを表すコンテナ。
- クライアント ツール: クライアントがアクションを実行して応答を返すように、クライアントにイベント アクティビティを送信します。
スキルとクライアント ツールの詳細については、「 関連コンテンツ 」セクションのリンクを参照してください。
エージェント レベルで新しいツールを作成して追加する
Copilot Studio 内で新しいツールを直接作成すると、開発プロセスが効率化され、エージェントとの適切な統合が保証されます。 エージェントに追加されたツールは、エージェントの会話全体で自動オーケストレーションに使用できます。
左側のナビゲーションペインで エージェント を選択し、リストからエージェントを選択して、エージェントを開きます。
エージェントの [ツール] ページに移動します。
[ ツールの追加] を選択します。
[ ツールの追加 ] ウィンドウで、[ 新しいツール] を選択します。
表示される一覧から、追加するツールの種類を選択します。
- プロンプト: AI を利用したテキスト生成および分析ツールを作成する
- エージェント フロー: 条件付きロジックを使用してマルチステップ プロセスを構築する
- コンピューターの使用: レガシ システムの GUI オートメーションを有効にする
- カスタム コネクタ: 独自の API とサービスに接続する
- REST API: Web サービスとの直接統合
選択したツールの種類に固有の構成手順を実行します。 たとえば、[ プロンプト] を選択した場合は、次の手順を実行する必要があります。
- プロンプト テンプレートと手順を定義する
- 入力パラメーターを指定する
- ナレッジ ソースを構成する
- 応答の形式と制約を設定する
プレビュー パネルを使用してツール構成をテストし、期待どおりに動作することを確認します。
[保存] を選択して新しいツールを作成します。
[ エージェントに追加] を 選択して、ツールをエージェントに追加します。 エージェントの [ツール ] ページに新しいツールが表示されます。
ツール構成を表示して変更する
ツールの構成はいつでも表示および編集できます。エージェントの [ツール] ページに移動し、ツールの一覧からツールを選択します。
ツールの詳細ページが開き、ツールの構成が表示されます。 詳細は、次の 3 つのセクションに表示されます。
- 詳細
- 入力
- 完了 (MCP コネクタ用ツール)
詳細
[ 詳細] セクションでは、ツールに関する基本的な詳細を構成できます。
ここでは、次の情報を表示および更新できます。
名前: ツールの名前。 この名前は、エージェントのツールの一覧に表示されます。 ツールの機能を明確に示す名前を選択します。
説明: ツールの説明。 生成オーケストレーションは、この説明に依存して、エージェントがツールを使用するタイミングを決定します。 ツールの動作や使用するタイミングなど、明確で具体的な説明を記述します。
追加の詳細:
- ツールを使用するタイミングをエージェントが動的に決定できるようにする: このオプションを選択すると、エージェントは生成オーケストレーションを使用して、ツールを使用するタイミングを決定できます。 このオプションが選択されていない場合、エージェントは、トピックから明示的に呼び出された場合にのみツールを使用します。 (既定では、このオプションは、生成オーケストレーションが有効になっている場合に選択されます)。
- 実行する前にエンド ユーザーに質問する: エンド ユーザー チャット エクスペリエンスで、ツールを実行する前にエージェントに確認を求めます。 既定では、このオプションは [いいえ ] に設定されています。
- 認証: ツールにユーザーまたは作成者の資格情報を使用するかどうかを選択します。 既定では、ユーザー認証が適用されます。
- 説明: 必要に応じて、ツールの実行時にユーザーに表示されるツールの説明を追加できます。 この説明では、認証を求められている内容をユーザーに知らせます。
入力
ここでは、ツールの入力を表示および構成できます。 入力は、ツールに必要な入力を入力するためにユーザーから情報を収集するために使用されます。 情報は、入力ごとに 1 行のテーブルとして表示されます。
既定では、各入力の入力の手法列の値はAI による動的入力に設定されています。 エージェント は、使用可能なコンテキスト (ユーザーのメッセージなど) から値を抽出しようとします。 適切な値が見つからない場合は、ユーザーに値を尋ねる質問が生成されます。 [ カスタマイズ ] を選択すると、入力の収集と入力に関するよりきめ細かなカスタマイズにアクセスできます。
- 表示名と説明: ユーザーへの入力の表示方法。
- 識別: テキストの文字列として、または定義済みのエンティティにマップするなど、ユーザーの応答がどのように解釈されるか。
- 再試行ロジック: エージェントがユーザーのステートメントでエンティティを識別しない場合は、もう一度質問できます。
- 入力の検証: エンティティ型の既定値を超えて、ユーザーの入力に対して追加の検証動作を構成します。
また、エージェントが入力を抽出するのではなく、明示的な値で入力をオーバーライドすることもできます。 オーバーライドを設定するには、 Fill using を Custom 値に設定し、値を入力するか、変数を選択するか、Power Fx 数式を使用します。 入力がオーバーライドされた場合、エージェントはユーザーに値を要求しません。
完了
ここでは、ツールの実行が完了したときに実行する内容を選択できます。
エージェントのクエリとツールの結果に基づいて、ユーザーのコンテキスト応答をエージェントで自動的に生成させることができます。
または、ツールが返す特定の書式設定された応答を作成することもできます。 変数ピッカーを使用して、ツールから出力変数への参照を挿入できます。 Power Fx 数式を使用して応答の書式を設定することもできます。
[ 実行後] で、ツールの実行後にツールがユーザーに応答する方法について、いくつかの異なるオプションのいずれかを選択します。
- 応答しない (既定値):エージェントはツールの出力を応答に組み込みます
- 生成 AI を使用して応答を記述する: AI がツールの出力を使用してコンテキストに応じた応答を作成できるようにする
- 特定の応答を送信する: 変数の挿入を使用してテンプレート化された応答を作成する
- アダプティブ カードを送信する: ボタンとアクションを使用して、豊富な対話型応答を作成する
また、エージェントやその他のツールで使用できるようにする出力変数を構成することもできます。
ツールの選択と入力コレクション
Copilot Studio でツールを定義する場合は、その目的を説明する情報も提供します。 この情報により、エージェントは、ツールを使用するタイミングを特定したり、生成 AI を使用して質問を生成したりできます。 これらの質問は、ツールを実行するために必要な入力を入力するための情報を収集するために使用されます。 その結果、必要なすべての入力 (フロー内の入力など) を収集するために質問ノードを手動で作成する必要はありません。 入力収集は実行時に処理されます。
エージェントは、いくつかの要因を使用してツールの選択を決定します。
- ツールの名前と説明
- 現在の会話コンテキスト
- メッセージから派生したユーザー 意図
- 使用可能な入力と出力
- 会話での以前のツールの使用状況
既定では、生成モードを使用する場合、ツールは情報をエージェントに返し、エージェントがユーザーのクエリに対するコンテキスト応答を生成できるようにします。 または、メッセージを生成するか、明示的なメッセージを作成して、常にすぐに応答するようにツールに指示することもできます。
チップ
ツールから生成された質問を使用する場合は、会話の一部が AI によって生成されることをユーザーに通知します。
たとえば、 会話の開始 システム トピックに追加のメッセージを追加します。 このトピックにより、新しい会話が開始されたときにユーザーに表示されるメッセージが決まります。
トピック内から既存のツールを呼び出す
トピック内からツールを明示的に呼び出すことができます。 ユース ケースによっては、より多くのノードを使用する、より広範なトピックの一部としてツールを使用できます。 または、天気の例のように、トピックにノードを追加するだけでかまいません。
トピック内からツールを呼び出すには:
Copilot Studio で、編集するエージェント用のトピック ページ に移動します。
新しいトピックを作成し、気象を取得と名付けます。
以下のトリガー フレーズを追加します:
- 雨が降るでしょう
- 今日の予測
- 気象を取得
- 天気はどうですか
[ ノードの追加] (+) を選択し、[ ツールの追加] を選択します。 使用可能なツールからツールを選択します。 さまざまな種類のツールを示す 3 つのタブがあります。
- 基本的なツール
- コネクタ
- 道具
これで、アクション ノードがトピックに追加されました。
保存 を選びます。
ツール (MCP コネクタのみ)
[ ツール] で、MCP コネクタで使用できるツールの名前と説明を表示できます。 ツールは、ツールごとに 1 行ずつテーブルに表示されます。 ツールごとに、次の情報が表示されます。
- ツール名とバージョン
- 入力パラメーターと出力パラメーター
- 推定実行時間
- 使用状況の統計情報
ツールの認証に関する考慮事項
一部のツールでは、動的プロンプトや Dataverse API を呼び出す他のツールなど、正しく動作するために認証が必要です。 適切な認証構成により、セキュリティが確保され、スムーズなユーザー エクスペリエンスが維持されます。
ツールは、ユーザー コンテキストでエージェントのランタイムで常に実行され、認証が有効になっていない限り実行できません。 次の 2 種類の認証方法がサポートされています:
- ユーザー認証: エージェントは、ユーザーの資格情報を使用してサービスで認証します。 この方法により、ユーザーは表示が許可されているデータにのみアクセスできます。
- Copilot 作成者認証: エージェントは、その作成者の資格情報を使用してサービスで認証します。 この認証モードは、共有リソースに対して、またはユーザーが個別にアクセスする必要がない場合に使用します。
ツールをテストする
生成オーケストレーションでは、オーケストレーターは、ユーザー クエリに関連すると判断されたときにツールを選択します。
または、 トピック内から既存のツールを呼び出すことができます。