AI チーム編成を刷新する:自律型エージェント構築術(中級 No.5)

トピック(生成AI:頭脳)× Power Automate(手足)× エージェントフロー(工場)の連携で実現する入出力自動化

AI を導入したのに、思ったほど業務が自動化されない——。 そんな悩みを抱える現場は少なくありません。

原因はシンプルです。 AI を「一人の優秀なスタッフ」として扱ってしまっているから。

本来、AI は単体で動かすものではなく、 役割の異なる“チーム”として編成することで真価を発揮します。

  • トピック(生成AI)=司令塔
  • Power Automate=ロボット(工場入口勤務)
  • エージェントフロー=ロボット(ライン勤務)

この3者が連携すると、 AI は「指示を理解し、外部からの入力を受け取り、必要な処理を実行し、結果を返す」 という 完全な自律型エージェントへと進化します。

今回の中級 No.5 では、 その象徴的な例として “メールを受け取ると、AI が自動で返信するエージェント” を構築します。

あなたが送った「メニュー」という件名のメールを、 AI が読み取り、判断し、ハンバーガーショップのメニューを本文に入れて返信する—— そんな “AI チームの連携プレー” を実際に作り上げていきます。

この回のポイントは、 「トリガー」という新しい概念が登場し、 AI が外部から呼び出される存在になること。

その結果、 変数(指示)の受け渡し・指示文の設計・公開とデバッグ が これまで以上に重要になります。

AI を“単体のツール”から“連携するチーム”へ。 あなたのエージェントは、ここから本当の自律性を手に入れます。

作成するエージェントの内容

今回は、ハンバーガーショップのメニューをメールで受け取れるようにするエージェントを作成します

まず、ユーザーは指定のメールアドレスに「件名」を「メニュー」としてメールを送付します

メールが到着したら、エージェントは本文にメニューが書かれたメールをユーザーに送付します

全体のフローは以下のような形になります(拡大できます)

特にユーザーのメールアドレスをPower Automate、トピック及びエージェントフロー間で受け渡すことが重要となります

今回のポイント

チーム再編成

これまで当ブログシリーズでは、会話が起点となってトピックがチームとして動いていました

今回は外部からのアクションを起点にエージェントが自律的に動きます

自律的な動きをするためには、新たなPower Automateというメンバーを引き入れたうえでチームを再編成する必要がります

① Power Automate(受付・目となって動くロボット)

  • メール受信という“外部イベント”を感知
  • データ(送信者・件名・本文)を拾い上げる
  • トピックへ“コードとして”渡す
  • 会話はしない
  • 判断もしない
  • ただひたすら外界の情報を正確に持ち帰るロボット

② トピック(司令塔:ただし会話ではなくコードを読む司令塔)

  • PA から渡されたデータを コードとして解釈
  • 文脈なし
  • 会話なし
  • 推論なし
  • 事前に仕込んだ指示文・ルールに従って判断する
  • 必要な変数を整形し、エージェントフローに指示を出す
  • ここで“司令塔としての役割が増す”

自律的に動いてもらうため、特に事前に指示文やルールを設定するのが重要になります

③ エージェントフロー(ライン勤務のロボット)

  • トピックからの指示を受けて実際の作業を行う
  • メール送信などの外部サービス操作を担当
  • 工場のラインで黙々と作業するロボット
  • 判断はしない
  • 指示された通りに動く

テスト・デバック(エラーの発生箇所の特定)

上記のように、 受付(PA) → 司令塔(トピック) → ライン(エージェントフロー) という 3者連携 で動くため、 どこか1つでも設定がズレると動きません。

しかも今回は 会話がないため、AI が勝手に補完してくれない

だからこそテスト・デバッグ・公開が最重要になります

単体テストが必要

  • Power Automate 単体で動くか
  • トピック単体で変数を受け取れるか
  • エージェントフロー単体でメール送信できるか

✔ 連携テストが必要

  • 3者が正しくデータを受け渡せているか
  • 変数名・型・内容が一致しているか

✔ デバッグの本質

  • エラーメッセージを鵜呑みにしない
  • どこで止まったのかを特定することが最重要
  • 活動タブ(詳細後述)が唯一の“真実のログ”になる

✔ 公開の重要性

  • 公開しないと Power Automate が呼び出せない
  • 公開前後で挙動が変わることがある
  • 公開は“本番環境への実際に動かせる状態にする”と同じ意味

AI チームが外部イベントで動くようになると、 単体テスト・連携テスト・デバッグ・公開(デプロイ) の重要性が一気に高まります。

この3者連携を正しく動かすための テスト方法・デバッグのコツ・公開時の注意点 は後ほど詳細に解説します。

それでは、ここから実際の作成方法を解説していきます

エージェントの概要を作成する

概要・指示

まずエージェントそのものを作成しましょう!

ここから会話ではなく自律的に動くエージェントにするために、上の画像の概要タブで指示を入れておくことが重要になります

まず最初に上の画像の「編集」から「説明」を入れておきましょう

説明は明確にシンプルな文章で入れましょう

文章をいれたら必ず保存しておきましょう(意外と忘れがちです

次に指示を設定します

# ゴール:メールを送信してくれたユーザーにメニューを送付する
# タスク:
1.メールが届いたら処理を「メール送信トピック」を起動する
2.メール送信トピックではメールの送信者のメールアドレスをトリガーから抽出し、「メール送信」エージェントフローを起動する

とにかくシンプルに指示を入れることを心がけましょう

事前に、トピック名やエージェントフロー名を決めておいて、指示内に入れておくとわかりやすい指示になります

トリガー(Power Automate)の設定

トリガー欄

ユーザーがメールをしたら、Copilot Studioを起動する仕組みを設定します

トリガーの設定欄は概要タブの下の方にあります

上の画像の右上に「トリガーの追加」(画面中央でも同様)のボタンがありますので、こちらをクリックしてください

トリガーの詳細設定

次に開いた画面では「新しいメールが届いたとき」をクリックします

次に開く画像では、トリガー名を変更することもできます

今回は名前はそのままにして画面右下の「次へ」をクリックします

上の画像の画面では、Copilot Studioを起動させる条件を指定できます

例えば、差出人やToなどです

今回は件名フィルターに「メニュー」と入れて、画面右下の「トリガーを作成する」をクリックします

これで、件名にメニューと入ったメールのみで、Copilot Studioをトリガーさせることができます

作成トリガーの確認

作成したトリガーの中身を確認しましょう!

上の画像のように3点リーダーから「Power Automateで編集」をクリックしましょう

そうすると、Copilot Studioと別のタブにて「Power Automate」が開きます

上の画像のように2つアクションがあります

メールが届いたら、Copilot Studioにメールの内容を送信する内容になっています

ここで、そもそも、どのメールアドレスで動くのかを確認してみましょう

「新しいメールが届いたとき・・・」アクションをクリックすると、中身が上の画像のように確認できます

ここで「接続参照を変更する」をクリックしましょう

使用しているアカウントのメールアドレスが表示されているはずです

これが、ユーザーが送付するメールアドレスになります

メールアドレスを確認したら、下の画像の「←戻る」ボタンを押しましょう

すると次の画面に遷移します

この画面ではトリガーの概要を確認できます

トリガーの単体テスト

このトリガーをテストしてみましょう

上の画像の「28日間の実行履歴」からはトリガーの実行履歴が確認できます

トリガーを作成したばかりなので、実行履歴がない状態です

ここから「メニュー」と件名を入れたメールを、先ほど確認したアドレスにメールを送付します

メールを送付したら、画面を更新(F5)して最新の実行履歴を表示しましょう

上の画像では「失敗」した実行履歴が表示されました

「失敗」とはでていますが、トリガーが起動したのは確認できたはずです

それでは、失敗の原因を調査してみましょう

上の画像の黄色い箇所をクリックします

単体テスト結果の詳細確認

次に開いた画面にて、テスト結果はアクション別に詳細に確認できます

エラーメッセージも英語ではありますが画面の一番上に出ています

先ほど作成したエージェントはまだ「公開」していません

つまり、外部(Power Automate)からはまだ認識できる状態になっていないので、どこに応答したらいいかわからないのです

ここでエージェントを公開したらいいのですが、その前に、このPower Automateが後で受け渡す「メールの送信先」を受け取れているかを確認しましょう

上のGIF動画のように「新しいメールが届いた・・・」アクションをクリックして中身を開きましょう

GIF動画の左に「入力」→「出力」という文字列が出てきているはずです

「出力」の中はまた「header」「body」とでてきているはずです

ここで「body」の中身を見ていくと、受信メールアドレスも含めて送信メールアドレスが確認できるはずです

これで、エージェントが送信メールアドレスを受け取れる状態なのを確認できました

それでは、エージェントのトピックを作成していきましょう

メール送信トピックの作成

入力変数の作成

それでは「メール送信」トピックを新規に作成します

このトピックでは、「先ほど作成したトリガー」から、送信者のメールアドレスを受け取る仕組みをまずは作成します

メール送信アドレスは入力変数を作成して格納しますので、まずは「詳細」をクリックしてください

詳細は2つありますが、左の詳細になります

メニューをメール送信します

自律的なエージェントとして行動させる為、上の画像のようにトピックの詳細にも「説明」を入力します

その後、入力(黄色い箇所)をクリックしましょう

入力タブでは「新しい変数を作成する」から変数を作成できます

変数名は今回は「mySender」としました

この入力変数の設定でも、説明をいれましょう!

説明の設定欄は下のほうにあります

トリガーから受け取ったメール送信者のメールアドレスを設定する

入力変数の説明欄を設定したら「保存」をクリックしてください

なお、

エージェントが公開しているなどの条件付きではありますが、入力変数を設定したトピックが自動的に起動します!

トピックの単体テスト(入力変数設定)

ここから「入力変数」がきちんと設定できるかどうかをテストしましょう

通常では、トリガーの章で行ったようにメールをもう一度送付します

Copilot Studioでは以下の画像の箇所で、前回トリガーを動かした内容を転用できます

上の画像のように「テスト」の下の三点リーダーから「トリガーのテスト」をクリックしてください

トリガーのテストをクリックすることで、「新しいメールが届いたとき・・・」をクリックできます

次に開いた画面では、過去のトリガーを起動した履歴を選択できます

実行履歴を選択して「テストを開始する」を実行すると、以下のGIF動画のように実行ログが表示されます

実行ログにて入力変数が設定ができているのがわかります

エージェントの公開

入力変数が設定できることがわかったので、次にトリガーとの連携テスト(結合テスト)を行います

ですので、今回はエージェントの右上の「公開」をクリックして公開を行っておきます

連携テスト(結合テスト)

公開が終了したら、トピックのタブから概要のタブに戻ります

トリガーの欄で「Power Automateで編集する」をクリックして、Power Automateの画面を開きます

このPower Automateの画面でも、前回の実行履歴を利用できます

画面上の「テスト」をクリックしてください

次に開いた画面では、「自動」「最近使用したトリガーで。」を選択します

そうすると、前回の失敗履歴を利用できます

それでは画面下の「テスト」ボタンをクリックしましょう!

今回はエージェントが公開されているので、うまく実行されています

ここで、トリガーはうまく実行されたけど、エージェントの方はどうなっているのか?と疑問を感じた方もいらっしゃると思います

エージェントの実行履歴はエージェントの「活動タブ」から確認できます

日付を確認して、該当の実行履歴を確認しましょう!

きちんと入力変数に送信アドレスも設定されています

これで全体画像のトピックに「メールアドレス」を受け渡すところまではできました

ここからは最後にエージェントフローを作成するところを作成します

エージェントフローの作成

今回作成するエージェントフローは、トピックから送信メールアドレスを変数で受け取り、メニューを送信します

まず大事なのはトピックから「変数」を受け取る仕組みを作ることです

変数の受渡しの作成

エージェントフローの作成を行う前に、1点注意点があります

全体図でてて来る順番で言うと、トピック内でエージェントフローを呼び出すカードを追加するのが先です

今回はあくまでエージェントフローを先に作成してから、トピック内でカードを追加しますのでその点をご注意ください

それでは話をもとに戻します

エージェントフロー作成画面に移動しましょう

上の画像の「新しいエージェントフロー」から「メール送信」エージェントフローを作成しましょう!

エージェントフローの場合は名称は最後につけますので、まずはエージェントフロー内のトリガーを作成します

上の画像のように「エージェント」の文字列で検索を行い、「エージェントがフローを呼び・・・」アクションを選択します

そうすると、下の画像の画面に遷移します

ここで+ボタンから、トピックから受け取る「メールアドレス」を設定する場所を設定します

「ユーザーによる入力の種類を選択する」では「テキスト」を選択します

次に上の画像にて、トピックから受け取る変数の「変数名」を設定します

これでトピックから変数を受け取る仕組みは完成です

次にメールを送信する仕組みを作成しましょう!

メール送信

トリガーの後にアクションを追加して、メールと検索しましょう!

上の画像の黄色い箇所:メールの送信・・・をクリックしましょう!

次に開いた画面では黄色い箇所:歯車マークをクリックしましょう

上の画像で「動的なコンテンツを使用する」を選択すると、トリガーで取得した変数を使いまわせるようになります

次に宛先欄をクリックすると、上の画像の右に「変数を選択」できるようにするためのマーク(黄色い箇所)が表示されます

ここで変数:mySenderを選択します

これでメール送信する時の宛先を設定できました

次は「件名」と「本文」を設定します

件名:

メニューを送信します

本文:

○ハンバーガー 
ガッツバーガー:500円
ハンバーガー チーズバーガー:600円
ハンバーガー たまごバーガー:650円
○ポテト

Mサイズ:300円
lサイズ:400円

○シェイク
バナナシェイク:220円
チョコレートシェイク:220円

これでメールを送信するアクションの作成は終了です

エージェントフローの公開

これでエージェントフローにて必要なアクションは設定できましたので、公開処理を行います

公開処理を行う時には必ず「エージェントフロー名」を付けてください

但し、いきなり「公開」ボタンを押すのではなく、下の画像の「下書きを保存する」ボタンから保存処理を行ってください

これでエージェントフロー名を付けることができます

名称を付けたらいよいよエージェントフローの公開です

公開が終了したら「メール送信」トピックに戻りましょう

エージェントフローに関しては、取り合えず単体テストは行いません

まずは連携テストを行ってからです

トピックからエージェントフローを呼び出す

ツールの追加

ここから作成したエージェントフローを呼び出す仕組みを、トピックに追加します

エージェントフローの呼び出しは、「ツールを追加する」カードから行います

上の画像で黄色の箇所をクリックすると、先ほど作成したエージェントフローを呼び出せます

これでトピック内にエージェントフローを呼び出すカードを追加できました

最後にエージェントフローに渡す「メールアドレス」を、三点リーダーから設定します

保存ボタンを押すことも忘れないようにしてください

接続設定

ここで設定ボタンから、エージェントフロー内で使用する「メールの送信・・・」アクションの接続設定を行います

これで無事にメールの送信アクションが動きます

連携テスト

ここはトリガーから一気に全体のテストを行いましょう

以下の内容のメールが届くようならテストは終了です

これまでのまとめ

ここまでで、外部イベントで動く自律型エージェントを構築するための チーム編成・トリガー設定・変数受け渡し・テスト を一通り見てきました。

情報量は多いですが、実際に手を動かしてみると 「受付(PA)→司令塔(トピック)→ライン(エージェントフロー)」 という3者連携の流れがシンプルに見えてくるはずです。

これで AI チームは、外部からのメールに反応して 自律的に動ける体制が整いました。

ここでこれまでのポイントを短く整理しておきます

  • 外部イベント(メール)で動く 自律型エージェント を構築するには、3者の役割分担が重要
  • Power Automate は外界の情報を拾う「受付・目となるロボット」
  • トピック は会話ではなく、渡された コード(変数)を読む司令塔 に役割が変わる
  • エージェントフロー は司令塔の指示通りに作業する「ライン勤務のロボット」
  • この3者が 正しく連携 して初めてメール返信エージェントが成立する
  • 変数(メールアドレスなど)の 受け渡し設計 が最重要ポイント
  • 会話がないため、AI が補完してくれず 指示文とルールの精度 が問われる
  • 単体テスト(PA/トピック/エージェントフロー)で個別の動作を確認する
  • 連携テスト で3者間のデータの流れが正しいかを検証する
  • エラーは鵜呑みにせず、どこで止まったかを特定するデバッグ力 が鍵
  • 公開しないと Power Automate が呼び出せないため、公開=本番稼働の最終ステップ

チェックポイント

実は、

今回の仕組みで一番重要なのは、うまく行かなかったときのデバック(原因調査)です

ここで、デバックのポイントを挙げておきます

  • Power Automate が正しいメールアドレスで動作しているか
  • 件名フィルター(メニュー)が正しく設定されているか
  • トリガーが実際に起動しているか(実行履歴で確認)
  • トピックが 公開済み になっているか
  • トピックの入力変数が Power Automate の出力と一致しているか
  • トピック内で変数名・型が正しく設定されているか
  • トピックの指示文が「会話前提」になっていないか
  • エージェントフローの入力変数がトピックの出力と一致しているか
  • エージェントフロー単体でメール送信が成功するか
  • 3者連携テストで変数が正しく渡っているか
  • エラーが出た場合、どこで止まったか を必ず確認する
  • 活動タブのログが反映されるまで数秒〜数十秒の遅延があることを理解しておく
  • 公開前後で挙動が変わるため、公開後にも必ず再テストする
  • 連続実行時はキャッシュや反映遅延が起きることがある
  • 「メールは届くのに履歴が遅い」などは正常動作の範囲であることを知っておく

とにかく以下のデバック画面は有効に使えるようにしましょう!

1.Power Automate(トリガー)実行履歴

2.Copilot Studioの活動タブ

3.エージェントフロー実行履歴

最終まとめ

  • 外部イベントで動くエージェントは、受付 → 司令塔 → ライン の3者連携がすべて。
  • そのため、変数の受け渡し・単体テスト・連携テスト・公開 が成功の鍵になる。
  • エラーは必ず「どこで止まったか」を見極め、活動タブを“真実のログ”として使う。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です