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