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