Copilot StudioのエージェントでHuman in the loopを実装する

Copilot Studioでエージェントを作成すると、メールの送信やテーブルへのデータ登録など、外部へのアクションを伴う動作をさせることが出来ます。

一方、想定外のアクションをエージェントが実行しないよう、人間が承認したうえで動作をさせたいケースもあるかと思います。そういった動作を実現するため、Copilot StudioではHuman in the loopの仕組みを実装できるようになっています。

今回は、Copilot Studioを利用してHuman in the loopを実装する方法を検証します。

おことわり

今回の実装には、記事執筆時の2026年1月時点ではプレビュー機能であるコネクタを利用しています。今後動作が変更される可能性があるため、注意が必要です。

Human in the loopとは

Human in the loopとは、AIワークフローの中に、人間の判断を組み込む設計思想のことを指します。これにより、AIが間違った動作を行うことを防ぎ、最終的な判断を人間が行えるようになります。

Human in the loopの例としては、以下のような動作が挙げられます。

  • AIが出力した内容のレビュー
  • 不足した情報の請求
  • アクション実行前の承認

Human in the loopコネクタ

Human in the loopを実現する方法として、Copilot StudioではHuman in the loopコネクタがプレビュー版で提供されています。Microsoft公式ドキュメントにはエージェントフローでのみ利用可能とありますが、Copilot Studioからも直接呼び出せることを確認しています。

今回は、Human in the loopコネクタで提供されているRequest for informationアクションを利用して実装を行います。

出典:ループ内で人間に情報を要求する (https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/flows-request-for-information)

Human in the loopの実装

ここからは、実際にCopilot Studioを利用してHuman in the loopの実装を行います。

今回実装する内容

今回は、以下の内容で実装を行います。

  • ユーザーがTeamsのチーム作成を要求したら、担当者にメールで確認する
  • 承認された場合のみ、チーム作成のアクションを実行する

ツールの追加

まず、エージェントのツールとして、Human in the loopコネクタのRequest for informationアクションと、Teamsコネクタのチームの作成アクションを追加します。

エージェントの作成

Copilot Studioのエージェントを作成し、エージェント名を任意の値で更新します。

Request for informationアクションの追加

エージェントにRequest for informationアクションを追加します。

  1. [ツール] - [ツールを追加する]をクリックします。

  2. [Human in the loop]で検索し、[Human in the loop]コネクタの中から[Request for information]をクリックします。

  3. もう一度、[Human in the loop]コネクタの中から[Request for information]をクリックします。

  4. 接続を作成し、[追加と構成]をクリックします。

  5. ツールが作成されました。作成されたツールの説明を日本語訳すると、"指定した入力内容で担当者にリクエストを送信します。担当者が応答すると、その回答を後続のワークフローで使用できます。"と記載されています。

  6. 入力を確認すると、担当者に送信する情報を設定可能であることが分かります。なお、現在は、Outlookにメールを送信する方法でのみ要求の送信が可能となっています。

  7. 今回は、決められた宛先にメールを送信するよう、[Assigned to (first to respond)]の入力に、カスタム値で固定のメールアドレスを設定します。メールアドレスは複数人分設定できますが、入力にも記載されている通り、最初に返信された人物からの応答が使用されます。

チームの作成アクションの追加

エージェントにチームの作成アクションを追加します。

  1. Request for informationアクションの追加と同様の手順で、Teamsコネクタのチームの作成アクションを追加します。

  2. ツールが作成されました。

指示文の記載

追加したツールが動作するよう、[概要] - [指示]にエージェントの指示文を記載します。チームの作成アクションを行う前に、Request for informationアクションで上司に承認を得るように指示しています。

動作の確認

それでは、エージェントの動作を確認します。

エージェントに対して以下のチャットを送信することでRequest for informationアクションが起動し、承認結果に応じて後続の処理が制御されることを期待します。

以下の通り、Teamsのチームを作成したいです。
チーム名:Tech Blog検証チーム
説明:Tech Blogの検証用途で利用するため

承認時の動作

申請を承認した際の動作を確認します。

  1. チャットにて、Teamsのチームを作成したい旨を送信しました。すると、Request for informationアクションが起動し、上司に対して承認依頼のメールが送信されました。

  2. Outlookを開くと、すぐにメールが届いていることを確認できました。特に指示は与えていないのですが、今回の要望から察して、2択での選択肢を自動で作成しています。

  3. [Yes]を選択し、[Submit]をクリックします。

  4. Copilot Studioに戻ると、後続のチームの作成アクションが自動で実行されています。また、申請が承認され、チーム作成が完了した旨のメッセージが送信されていました。

  5. Teamsを確認すると、依頼したチームが作成されています。

却下時の動作

申請を却下した際の動作を確認します。

  1. 先ほど同様、Teamsのチームを作成したい旨を送信します。

  2. [No]を選択し、[Submit]をクリックします。

  3. Copilot Studioに戻ると、後続の処理は実行されませんでした。また、申請が承認されず、チーム作成が出来なかった旨のメッセージが送信されていました。

おわりに

本記事では、Copilot StudioでHuman in the loopを実装する方法を検証しました。

AIによる自動化と人間の判断を組み合わせることで、より安全なエージェントを設計できます。今回の内容が、業務でのCopilot Studio活用を検討するうえでの一例として、参考になれば幸いです。

執筆担当者プロフィール
大嶋 柾也

大嶋 柾也(日本ビジネスシステムズ株式会社)

Data&AI事業本部 ソリューション部所属。最近はCopilot Studioの案件を中心に担当。

担当記事一覧