ワークフローにエージェントノードを追加する

注:

この記事の機能は、使用量に基づく請求にCopilot Creditsを用いるGitHub Copilotハーネスによって機能しています。 GitHub Copilotハーネスで動くエージェントの請求概要でCopilotクレジットについて詳しく学びましょう。

使用率に基づく請求は、エージェントの使用、構築、テスト、評価に適用されます。 これらの行動はCopilotクレジットを消費することがあります。

既存の公開エージェントを選ぶか、ワークフローデザイナーを離れずに ノード内で直接 新しいエージェントを構築することができます。 インラインエージェントは、ワークフローにAIを最速で取り入れる方法です。 ノードに指示を与え、必要に応じてツールと知識をアタッチします。これで完了です。

エージェントノードはフローをAIエージェントに渡し、AIエージェントは推論、ツール呼び出し、知識源から抽出して結果を返すことができる。 ステップが判断や多段階のオーケストレーション、フローの外からの情報を必要とするときに使ってください。

エージェント ノードを使用すると、次のことができます。

  • 既存のエージェントに連絡してください。
  • エージェントに、前の手順の動的コンテンツを含む自然言語の命令を与えます。
  • アクションを実行できるように、エージェントにツール (モデル コンテキスト プロトコル (MCP) サーバーとコネクタ) を装備します。
  • エージェントに知識を提供し (SharePoint サイト、パブリック Web サイト)、コンテンツから回答できるようにする。
  • フローの後半のステップでエージェントの応答を活用してください。

エージェント ノードを追加する

  1. Copilot Studioでワークフローに行き、既存のワークフローを開くか、新しいワークフローを作成してください。

    • 新しいワークフロー: トリガーを構成するためにデザイナーにアクセスします。
    • 既存のワークフロー: ワークフローを開き、[ ビルド ] タブに移動します。
  2. [追加] パネルの [エージェント ] アイコンを選択します。 エージェント ノードの構成パネルが開きます。

エージェント ノードの既存のエージェントを選択する

エージェント ノード エディターの [ エージェント] で、次の 2 つのオプションのいずれかを選択します。

  • 既存のエージェント: 一覧から発行済みエージェントを選択します。 エージェントは、既に構成されている手順、ツール、知識を使用して実行されます。
  • このワークフローの新しいエージェント: このワークフローをスコープとするインライン エージェントを構築します。 エージェントの指示、ツール、知識、出力形状はノード自体で構成され、ワークフローと共に移動されます。 このオプションは、エージェントのジョブがこの自動化に固有であり、他の場所で共有する必要がない場合に使用します。

この記事の次のセクションでは、新しいインライン エージェントの構成について説明します。 既存のエージェントを選択する場合は、「 エージェントにメッセージを送信する」に進みます。

エージェント ノードの新しいエージェントを構成する

このワークフローで [新しいエージェント] を選択すると、構成パネルが展開され、エージェントを適切に整形できます。

手順

インラインエージェントの場合、 Instructions フィールドはエージェントの職務記述と実行ごとのプロンプトの両方として機能します。 個別の [メッセージ] フィールドはありません。 エージェントが何をすべきかを平易な言葉で書き、過去のステップからの動的な内容を含めてこの実行のためのデータを提供します。

タスク、エージェントが期待できる入力、戻す応答の形式について具体的に指定します。 より明確な命令は、より信頼性の高い実行を意味します。

例えば、ワークフローのトリガーが 「新しいメールが届くとき」であれば、指示は「 Read the email below and decide whether it's a sales lead, a support request, or something else. Reply with a single word. 」の後にトリガーの 主題 変数と 本文 変数が続くかもしれません。

エージェントを駆動するモデルを選ぶには、指示欄内のモデルドロップダウンを使ってください。 多段階の推論や慎重な解釈を伴う場合は、より有能なモデルを選択してください。 タスクが単純で大量に実行される場合は、より高速なモデルを選択します。

作業 IQ

Work IQ をオンにすると、エージェントは、メール、Teams、予定表、OneDrive、SharePointコンテキストなど、実行中のユーザーの最近の作業アクティビティを使用して応答を得られます。 この文脈は、ワークフローが個人の代わりに行動し、個人的な文脈が答えをより良くするときに役立ちます。

ツール

ツールを使用すると、エージェントはメッセージの送信、レコードのクエリ、検索の実行、API の呼び出しなどのアクションを 実行 できます。 ツールがない場合、エージェントは読み取りと推論のみを実行できます。 ツールを使用すると、動作することもできます。

ツールをアタッチするには:

  1. [ ツール ] セクションで、プラス記号 (+) を選択します。

  2. [ツールの追加] で、目的のツールを参照または検索します。

  3. ツールを選択して追加します。 1 つのエージェントに複数のツールを追加できます。

次の 2 種類のツールをアタッチできます。

  • モデル コンテキスト プロトコル (MCP) サーバー: キュレーションされた一連の機能を公開する事前構築済みサーバー。
  • コネクタ: Power Platform コネクタのアクション。

エージェントは、実行時に、呼び出す添付ツールの順序と引数を決定します。 工具をワイヤーで繋げる必要はありません。

知識

ナレッジはエージェントに読むものを与えます。 エージェントに質問すると、モデルが既に認識しているものだけに頼るのではなく、アタッチするソースでその回答を得ることができます。

ナレッジ ソースをアタッチするには:

  1. [ ナレッジ ] セクションで、プラス記号 (+) を選択します。

  2. [ ナレッジの追加] で、ソースの種類を選択します。

    • パブリック Web サイト: エージェントがそれらのサイトのコンテンツを引用できるように、1 つ以上のパブリック URL のインデックスを作成します。
    • SharePoint:SharePointのサイト、ライブラリ、または特定のドキュメントに接続し、エージェントが内部コンテンツから応答できるようにします。
  3. URLを入力してから保存してください。

正解がモデルが訓練されていない内容、例えば内部方針、製品仕様、顧客契約、ウェブサイトの最新の価格ページなどに依存する場合は知識を添付してください。

アウトプット

[ 出力 ] ドロップダウンを使用して、エージェントから返される内容の形状を制御します。 この図形は、ダウンストリーム ワークフロー ステップが結果を使用する方法を決定します。

出力の種類 受け取るもの いつ使用するか
テキスト応答 1 つの文字列。 下流のステップはエージェントの回答を挿入するだけです。
構造化された出力 名前付きフィールドを持つ定義済みのオブジェクト。 スキーマを記述せずに一貫性のあるフィールドが必要です。
カスタム構造化出力 定義した JSON スキーマに一致するオブジェクト。 ダウンストリーム ワークフローには、分岐、列への書き込み、または API への送信を行うために、厳密でマシンが読み取り可能なフィールドが必要です。

構造化された出力を選択すると、各フィールドは、ダウンストリーム アクションが直接参照できる独自の動的コンテンツ トークンになります。

エージェントにメッセージを送信する

既存のエージェントを選択すると、ノードに メッセージ フィールドが表示されます。 このフィールドを使ってエージェントに このランで 何をすべきか伝えてください。 エージェントの指示、ツール、知識は、発行済みのエージェントに既に設定されています。

[ メッセージ ] フィールドに、この実行のプロンプトを書き込みます。 動的コンテンツ ピッカーを使用して以前の手順からトークンを挿入し、エージェントがリアルタイム データに基づいて推論するようにします。 例えば、カレンダーイベントが作成されるとトリガーされるワークフローでは、メッセージの後に「Required attendees」変数がPrepare a brief forされることがあります。

注:

インラインエージェントは別途メッセージフィールドを使いません。 Instructionsフィールドは、1ランごとのプロンプトとしても機能します。 手順を参照 してください

不明な場合は、人的支援を依頼する

自信が持てない場合に人間の支援を要求するをオンにすると、エージェントが自分で行動するのに十分な自信がない時にエスカレートさせることができます。 エージェントは接続所有者に入力を電子メールで送信し、応答を待ってから続行します。

この設定は、財務取引の例外処理、エッジケースの承認、顧客エスカレーション時の判断判断など、遅くなるよりも間違える方がコストが高いリスクの高い意思決定に有効にしてください。

ワークフローでエージェントの応答を使用する

エージェント ノードが実行されると、ワークフローはエージェントがそのタスクを完了するまで待機します。 その後、エージェントの応答は動的コンテンツとして使用できるようになります。このコンテンツは、後続の手順で使用できます。

ダウンストリーム アクションでエージェントの応答を使用するには:

  1. 結果を使いたい次のアクションを選択します。

  2. 入力するフィールドで動的コンテンツ ピッカーを開きます。

  3. エージェント ステップから出力を選択します。

    • テキスト応答 出力:単一の エージェント応答 変数。
    • 構造化 または カスタム構造化 出力:定義したフィールドごとに変数を1つずつ割り当てます。

一般的なパターン:

  • メール本文、Teams メッセージ、またはドキュメントにテキスト応答を挿入します。
  • priority == "high"のような構造化されたフィールドでワークフローを分岐させましょう。
  • 構造化フィールドを Dataverse、Excel、またはSharePoint listに書き込みます。

エージェントノードのテストと評価

エージェントノードを設定した後は、ワークフローを公開する前に、期待通りに動作するかテストしてください。 テストは、エージェントの指示、ツール、知識源、入力、出力を、ワークフロー全体を実行しずに個別に検証できるようにします。

評価はテストランの結果を基に構築され、生成された応答の質を評価するのに役立ちます。 テストと評価が組み合わさることで、反復的な開発ワークフローが Configure → Test → Evaluate → Improve

エージェントノードのテスト

エージェントのサイドパネルにある テスト パネルを使ってエージェントノードを実行し、出力を検査してください。

  1. エージェントノードを選択してプロパティサイドパネルを開きます。

  2. [テスト] タブを選びます。

  3. 入力は手動で入力するか、以前のワークフロー実行から入力を使えます。

  4. [テストの実行] を選択します。

テスト実行は現在の構成を使ってエージェントを実行し、生成された出力を表示します。 テストはエージェントが正常に動作し、期待する応答を生み出していることを確認するのに役立ちます。 テスト結果を作成した後、評価を使ってその回答の質を評価し、期待や要件を満たしているかを判断してください。

エージェントノードを評価する

テスト実行が成功した後、 テスト手法を使って応答を評価します。

テストメソッドは、自然な言葉で良い応答がどのようなものであるべきか(およびそうでないもの)を記述できます。 評価時には、エージェントの出力がこれらの基準に照らされて評価され、意図した結果を達成したかどうかを判断します。 検査方法では、以下のような基準を評価できます:

  • 回答がユーザーの要求に応答しているかどうか。
  • 正しい道具が使われているかどうか。
  • 出力が期待されるフォーマットやスキーマに従うかどうか。
  • その反応がエージェントの意図された行動と一致しているかどうか。

評価を行う前に、テストランを完了し、少なくとも1つのテスト方法を作成する必要があります。 テストメソッドは手動で作成することも、 自動生成を選択することで自動生成できます。 AI生成のテスト方法は、エージェントの指示と設定されたツールに基づいており、評価をより迅速に開始するのに役立ちます。

複数のテスト方法がある場合は、各テスト方法の横にあるチェックボックスを使って、どの方法が評価実行に含まれるかを制御してください。 テスト方法を削除せずに一時的に除外するためのチェックボックスをクリアしてください。

テストメソッドを削除するには、評価ペイン右上の「評価を実行する」ボタンの横にあるアイコンを選択して、モーダル評価体験を開いてください。 そこから削除したいテストメソッドを選択して削除します。

検査結果を評価するには:

  1. エージェントノードのテストを実行してください。

  2. 評価を選択します。

  3. グレーダーを作成するか、既存のグレーダーを選択してください。

  4. 「ラン評価」を選択します。

各採点者に対して、評価結果は以下の通りです:

  • 合格不合格の結果です。
  • 結果を説明する証拠や理屈。
  • 結果が失敗した場合、評価基準が満たされなかった場合にAI生成の推奨が提供され、エージェントの改善を助けることもあります。

改善と再テスト

エージェント開発は反復的なプロセスです。 評価結果を使ってエージェントの以下のものを絞り込みます:

  • 手順
  • ツール
  • ナレッジ ソース
  • 出力形式

変更を加えた後は、改善点を検証するために再度テストと評価を実行してください。 このプロセスを繰り返すことで、エージェントの品質と信頼性を向上させることができます。公開や本番ワークフローでの使用前に。

既知の制限

評価経験には現在の制限があります:

  • 評価はワークフローで作成された新規エージェントのみが利用可能です。
  • 評価のためにカスタムモデルを選択することはできません。
  • 評価を実行するには、少なくとも1回のテストランを完了し、少なくとも1つのテスト手法を設定しなければなりません。
  • 評価は最新のテスト結果と照合されます。 エージェントの指示、ツール、知識、設定を更新した場合は、再評価前に新しいテストを実行してください。
  • エージェントノードごとに最大5つのAI生成テストメソッドを生成できます。
  • エージェントノードあたり1日最大20回の評価を実行できます。

自動化のシナリオ

エージェント ノードは、長いワークフローの 1 つのステップ として最適です。 前の手順では入力を収集して正規化し、エージェントは推論を行い、以降の手順は複数のシステムにわたって結果に基づいて動作します。

受信したサポートチケットの優先順位を決定する

ワークフローは、Dataverse で新しいチケットが作成されたときにトリガーされます。 前のステップでは、チケット本文、添付ファイル、顧客の最近のケース履歴を取得します。 エージェントノードはすべてを読み取り、製品ナレッジベースに根ざし、 categoryprioritysuggested_ownerdraft_replyを含む構造化された出力を返します。 後のステップでは、 priority の分岐でオンコールエンジニアに障害を呼ぶか、チケットを割り当てて下書きの返信をレビューのために待機させます。

ポリシーに沿って経費報告書を確認する

ワークフローは、経費明細書が送信されたときにトリガーされます。 前のステップでは項目を読み込み、非USDの金額を変換してエージェントが単一の基準で計算します。 エージェントノードはポリシー SharePointサイトに根ざし、1行ごとのcompliantフラグとreasonを返します。 後のステップでは、自動承認して日記帳のエントリーをAPシステムに投稿するか、エージェントの理由を添付した承認アクションを開始し、財務レビュアーを待ちます。

会議のブリーフィングを準備する

ワークフローは毎朝実行され、Outlookから 1 日の会議が一覧表示され、各会議がループされます。 各会議ごとに、前のステップでDynamics 365からアカウントコンテキストを取得します。 エージェントノードはその後、 Work IQ を使って参加者との最近のメールやTeamsのスレッドをスキャンし、話題のポイント、未解決のリスク、推奨質問を返します。 次のステップで、出力をHTMLブリーフィングにフォーマットし、会議の30分前に電子メールで送信し、Teamsに適応型カードとして投稿します。

ドキュメントからデータを抽出する

ワークフローは文書のデータを複数の方法で利用できます。 よくあるシナリオは、Outlookのメール添付ファイルとSharePointファイルです。

メールの場合、「新しいメールが届くとき」Office 365 Outlookトリガーはメールが受信された時点でワークフローを開始します。 エージェントノードはトリガー出力を使ってメールの添付ファイルからデータを抽出できます。

新しいOutlookメールでトリガーされ、メール添付ファイルからデータを抽出するエージェントノードが設定されています。

SharePointでは、SharePointの「ファイル内容取得」ノードを使ってファイルを取得し、エージェントノードに渡すと、SharePointサイトに保存されたドキュメントからデータを抽出できます。 後のステップでは、抽出した情報を使って記録の更新、システムの入力、洞察の生成が可能になります。

ワークフローはSharePointのGet file contentノードとAgentノードを使ってSharePointファイルからデータを抽出します。

よく寄せられる質問

インライン エージェントを使用する必要がある場合と、既存のエージェントを使用する必要があるタイミング

エージェントのジョブが 1 つのワークフローに固有であり、指示、ツール、知識、出力など、すべてがワークフローと共に移動する必要がある場合は、 インライン エージェント を使用します。 インラインエージェントはセットアップが速く、構成が使用する手順のすぐ近くにあるため、理解しやすいです。

同じエージェントが複数のワークフローやサーフェスで共有されている場合や、別のチームが所有している場合、単に連絡したい場合など、 既存のエージェント を使いましょう。

インライン エージェントは、このワークフローの外部で再利用できますか?

No. インラインエージェントは、そのワークフローに対してスコープされています。 複数のワークフローで同じインライン エージェントを構築している場合は、発行されたエージェントに昇格させ、代わりに各ワークフローからそのエージェントを呼び出します。