🐕

【2025年11月】Microsoft Copilot Studio: エージェント設計・評価・拡張徹底ガイド

に公開

はじめに

みなさん、Microsoft 365 Copilotを使ってますか?
この領域の技術進歩が非常に速く、使っていると知らない間に新たな機能、設定が追加変更されていきます。
この記事では、2025年11月時点でのCopilot Studioの機能を整理し、利用シーンや実設定例を交えて解説します。
https://learn.microsoft.com/ja-jp/microsoft-copilot-studio/

そもそもCopilot Studioとは、AIエージェントを作成するためのツールです。事前に用意されている、Microsoft製品やサードパーティ製品とのプラグインなどと連携し、特定業務に特化したエージェントをノーコードで作成できるものです。

もう少し詳しくいうと、「エージェント」と「エージェントフロー」を作成できます。

  • エージェント
    • ユーザーからの指示を理解し、意図を見極めて最適な手段を選択し実行して、目的を達成します。
    • エージェントフローを呼び出すことも可能です。
    • 例: 営業支援エージェント、カスタマーサポートエージェントなど
  • エージェントフロー
    • 反復的であり、手順が決まっている場合に使います。
    • エージェントが呼び出す手続きを定義します。PowerAutomateに近いです。
    • 例えば、入力→検証→条件分岐→繰り返し→外部API/コネクタ呼び出し→整形して返すといった“決まった段取り”を定義します。

観点ごとに整理するとこんな感じです。

観点 エージェント エージェント フロー
本質 会話・意図理解・オーケストレーション 手続き・段取りの実行
入力 自然言語+組織データ(文脈を保持) 具体的パラメータ(エージェントが渡す)
出力 回答、意思決定、フロー起動 決まった処理結果(表、カード、ファイル更新等)
強み あいまいさへの対応、タスク選択 再現性・監査性・業務統制
失敗時 別ルートの提案/追加質問で解決 例外ハンドリング(再試行、ロールバック等)

この記事では、エージェントの作成にフォーカスして、以下のシナリオの一部をエージェントに実装しましょう!

シナリオ

ある「XXシステムのクラウド移行案件」を担当するエージェントを作成します。

以下のツールを使って業務を行うとします。

  • 日々のコミュニケーション:Teams、Outlook
  • 会議:Teams
  • 予定、メール:Outlook
  • タスク管理:Plannerボード
  • 課題/リスク管理:SharePointリスト
  • 成果物/議事録管理:SharePointドキュメント

エージェントに行ってほしいことは、

  • 議事録の蓄積
  • タスクの登録と更新
  • リスク・課題の登録と更新
  • ドキュメントの作成
    と仮定します。

🚀エージェントの作成

それでは、作成していきましょう!
https://copilotstudio.microsoft.com/ にアクセスし、メニューから「作成」→「新しいエージェント」をクリックします。
すると、この画面になります。左側がエージェントの設定画面、右側は作成中エージェントの振る舞い確認画面です。
左側の設定画面には「説明」「構成」のタブがあります。

  • 説明タブでは、AIとの対話を行いながらエージェントの指示を設定できます。
  • 構成タブでは、より細やかなエージェントの詳細設定を行います。

まずは「説明」でどのようなエージェントを作成したいか入力するとよいでしょう。AIが逆質問等をしてくれて、こちらのやりたいことを深堀り質問してくれたりします。するとエージェントの指示が自動生成されます。
その後、「構成」タブで詳細設定を行っていきましょう。

まずは説明タブで作りたいエージェントを教えてあげましょう。

名前が決まったら、エージェントに期待する振る舞いを、より詳しく教えてあげましょう。

ナレッジ設定なども聞かれますが、それらは「構成」タブで設定したほうがわかりやすいので、「説明」タブはここまでにしておきます。

次に「構成」タブに移ります。
こんな感じに設定していればOKです。先ほどの説明タブで設定した内容が自動で反映されています。

では、ここで「作成」をクリックしてエージェントとして保存しましょう。

モデルの選択

エージェントに使うモデルを選択します。2025年11月時点では、以下のモデルが利用可能です。
規定ではgpt-4.1が選択されていますが、よりエージェントが目的を達成するために能動的にナレッジやツールを使うこなし行動するためには、GPT-5 Chatモデルが良いでしょう。

ナレッジと設定

まずはエージェントのナレッジを設定してあげましょう。これらの設定により、XX案件がどのような状態なのか、どのような成果物があるのかをエージェントが把握できるようになります。いわゆる、コンテキストの提供です。

  • ナレッジ:SharePoint上の議事録を見れるようにしてあげる。
  • ナレッジ:SharePoint上の成果物ドキュメントを見れるようにしてあげる。

ナレッジ設定

概要ページの「ナレッジの追加」で、以下のようにSharePointのサイトを指定してあげます。

  • この画面の「説明」列が非常に重要です。エージェントは、この説明列の内容をもとに、このサイトにはどのような情報があるのかを把握します。適切に説明を書いてあげましょう。

Web検索

エージェントが、Web検索を行えるかどうかを設定できます。Web検索はBingSearchAPIが利用されています。
世の中の最新情報など、Webから情報を取得したい場合は有効にしましょう。

ツール

次に、エージェントが利用するツールを設定します。ツールとは、エージェントが目的を達成するために利用できる外部サービスやAPIのことです。人間に道具を渡してあげるイメージです。
CopilotStudioにおけるツールには、MCPやプロンプトもあります。これらによりかなり活用の幅が広がっています。後半で解説しているので参照ください。

今回のシナリオでは、以下のツールを利用します。

  • ツール:Plannerボードにタスクを作成・更新できるようにしてあげる。
  • ツール:SharePointリストに課題・リスクを作成・更新できるようにしてあげる。

以下の手順では、議事録を特定のSharePointドキュメントのフォルダに作成するツールを追加します。

SharePointを選びます。

「ファイルの作成」を選びます。

コネクタを選ぶと、接続(Connection)を設定するように。と言われますので、「新しい接続を作成」しましょう。

ツール名と説明を設定します。エージェントは、この説明をもとにツールの利用方法を理解しますので、エージェントがどういうときにこのツールを使うのかが判断できるように書きましょう

ツールを追加すると、ツールごとに以下の設定ができるようになります。
特に、「実行する前にエンド ユーザーに質問する」は重要なポイントです。エージェントがドキュメントなどに対して作成更新操作を行う場合は、ユーザに確認したうえで、ユーザが内容の承認をした後に実行するように設定できます。いわゆる、Human-in-the-loopにするきっかけになります。

ユーザに質問するときの表示方法として、「カード形式で表示する」か「テキスト形式で表示する」かを選択できます。カード形式のほうが、ユーザにとってわかりやすい場合が多いと思います。

このツールのInputパラメータを設定します。

  • Site Addressには、SharePointサイトのURLを指定します。
  • Folder Pathには、ドキュメントライブラリのパスを指定します。今回、SharePointドキュメントの「XXX案件」フォルダの「Minutes」フォルダを指定しました。
  • File Name と File Content は、エージェントが動的に設定します。

最後に完了時の応答です。実行後に何かしらのメッセージをユーザに返したい場合は、ここで設定します。
今回は、生成AIで応答を生成するように設定しました。

これら設定したらツールを保存します。このように、エージェント概要画面でツールが追加されていますね。

指示の更新

ツールが定義できたところで、エージェントの指示を最適化しましょう。議事録であれば以下のような指示を追加しましょう。

  • 議事録のファイル名フォーマット
  • 議事録の内容フォーマット
## 議事録作成のルール
- 議事録のファイル名フォーマットは「YYYYMMDD_会議名_議事録.docx」とすること。
- 議事録の内容フォーマットは以下の通りとすること
  - 会議名
  - 日付
  - 出席者
  - 議題
  - 議事内容(発言者ごとに整理)
  - 決定事項
  - アクションアイテム(担当者、期限付きで整理)

動作確認

さて、ここまでの設定で、エージェントの動作確認をしましょう。

このような会議のトランスクリプトをエージェントに渡して、議事録を作成してもらいましょう。
※もっとも、TeamsのCopilot機能使っておけよ!と思うかもしれませんが、、、テナント違いや関係会社がTeamsではなくZoomだった。みたいなこともありますからね。

仮想の会議トランスクリプト例
15:00:02[1]() Aさん(PM): 皆さん、接続確認できていますか?問題なければ始めます。
15:00:10[2]() Bさん(開発リーダー): はい、聞こえています。
15:00:12[3]() Cさん(クラウドアーキテクト): 大丈夫です。
15:00:14[4]() Eさん(セキュリティエンジニア): OKです。
15:00:16[5]() Fさん(ネットワークエンジニア): 問題ありません。

15:00:20[6]() Aさん: では、セキュリティ要件レビューを開始します。今日の議題は3つ、クラウド環境のセキュリティポリシー、認証・認可方式の統合、そしてデータ暗号化要件です。

15:00:35[7]() Eさん: まずクラウド側の基本ポリシーですが、AzureではMFA必須、IP制限、条件付きアクセスが標準です。社内VPNとの併用を検討する必要があります。

15:00:50[8]() Fさん: VPNは必須ですね。ただ、冗長構成をクラウド側で確保しないと、障害時に業務が止まります。ExpressRouteを使う案もありますが、コスト面で検討が必要です。

15:01:05[9]() Aさん: ExpressRouteは高いですよね。コスト試算は次回までにお願いします。

15:01:15[10]() Cさん: 認証については、オンプレADとAzure ADのハイブリッド構成で統合するのが現実的です。完全クラウド移行は時期尚早なので、段階的に進めましょう。

15:01:30[11]() Bさん: アプリ側の認証はどうします?現行はオンプレAD連携ですが、クラウド移行後はAzure ADに対応させる必要があります。既存コードの修正範囲を見積もります。

15:01:45[12]() Eさん: 暗号化要件については、移行時はAES256で暗号化必須、保存時はクラウド側の暗号化機能を利用します。キー管理はAzure Key Vaultで一元化します。

15:02:00[13]() Aさん: 了解。では、要件を整理します。MFA必須、VPN+冗長構成、認証はハイブリッド、暗号化はAES256+Key Vault。これでよいですか?

15:02:15[14]() Cさん: はい。ただし、認証統合テスト計画を早めに作成しないと、移行直前でトラブルになります。

15:02:25[15]() Fさん: ネットワーク帯域の見積もりも必要です。VPN+ExpressRouteのどちらを採用するか、次回までに案を出します。

15:02:40[16]() Eさん: セキュリティポリシー文書を11/09までにドラフトします。承認後、全体に展開します。

15:02:50[17]() Aさん: ありがとうございます。では決定事項をまとめます。

15:03:00[18]() Aさん: 決定事項は、認証方式はオンプレAD+Azure ADのハイブリッド構成、セキュリティポリシーはMFA必須、VPN併用、暗号化はAES256+Key Vault。ネットワークはVPN冗長構成、ExpressRoute検討。異論ありますか?

15:03:15[19]() 全員: 問題ありません。

15:03:20[20]() Aさん: アクションアイテムを確認します。Eさんはセキュリティポリシー文書ドラフト、期限11/09。Cさんは認証統合テスト計画、期限11/15。Fさんはネットワーク設計案、期限11/10。OKですか?

15:03:35[21]() Eさん: はい、対応します。
15:03:37[22]() Cさん: 問題ありません。
15:03:39[23]() Fさん: 了解です。

15:03:45[24]() Aさん: では本日のレビューは終了します。お疲れさまでした。

画面右側のチャット画面で、「議事録作成しておいてー」+トランスクリプトを入力して、実行してみましょう。

ナレッジの動作確認もしておきましょう。
こちらは、問題なく動いていますね。

サブエージェント

エージェントが、他のエージェントを呼び出すことも可能です。

例えば、研修を提案するエージェントがあったとして、ある案件のお客様やプロジェクト参画者への研修提案も行いたい場合に、研修提案エージェントをサブエージェントとして呼び出すことができます。

エージェントのタブから追加します。エージェントを一から作成するか、作成済みのエージェントを選択します。

エージェントが、どのようなときにサブエージェントを呼び出すかを判断するための、サブエージェントの説明を設定します。

  • 会話履歴を渡すかどうかも選択できます。サブエージェントが、親エージェントの会話履歴を参照して動作する必要がある場合は、チェックを入れましょう。

このように動作します。研修について聞いたので、サブエージェントの研修提案エージェントを呼び出していますね。

他のさまざまなツール

MCPサーバで提供される追加

もちろん、MCPサーバーに公開されているツールも利用可能です!!

ここに表示されるMCPサーバを追加してもいいですし、独自にMCPサーバを立てて、そのMCPサーバを指定してもOKです。

たとえば、Microsoft Learn MCPサーバの追加ならこのように設定します。
APIキーによる認証、OAuth2.0による認証もサポートされています。

MCPサーバを追加した場合の動作としては、まず最初にサーバからツールを取得して初期化が行われて、その後必要に応じてツールが呼び出されます。

ツールとしてのプロンプトの追加

Copilot Studioではカスタムプロンプトを「ツール」として登録し、タイミングでこのプロンプトを呼び出せます。エージェント全体で再利用したい汎用指示(要約・抽出・分類・整形など)はトピックノード内ではなくツール化しておくと保守性が高まります。
ちなみに、この機能はAI Builderという機能です。
https://learn.microsoft.com/ja-jp/ai-builder/byom-for-your-prompts

また、ここではAzureAIFoundryでデプロイしたモデルも利用可能です。ですので、名前が混乱しますが、実質はプロンプトだけではなく、カスタムモデル+プロンプトの形でツール化できます。
また、作成したプロンプトは、CopilotStudioだけではなく、PowerAutomateなどからも呼び出せるようになり、Microsoft365製品全体で再利用できるようになります。

このように、AzureAIFoundryでデプロイしたモデルを選択できます。
さらに、Claudeのモデルを選択することも可能ですが、Claudeのモデルを使う場合、データはAnthropic社に送信されることに注意してください。

参照ナレッジやパラメータを指定して、プロンプト内に引数としてツールのInputパラメータを指定できるので、動的にプロンプトを設定できます。

例えばですが、組織上位層エージェントとしてのプロンプトにしてみましょう。※あくまで例です。

動かしてみるとこんな感じです。まずは今までの議事録を基に月報を作ってもらい、その内容を仮想的に社長レビューします。

トピックの設定

さて、気を取り直して、エージェントのほかの設定についても見ていきましょう。
エージェントのトピック設定です。これは、ユーザから特定の指示が来た時に、エージェントの振る舞いをワークフローで定義する機能です。
デフォルトでこれらが設定されています。

例えば「最初からやり直す」であれば、以下のようなフローになっています。※再開という日本語が違和感ありますが、ここで言っている再開はやり直しのことですね。

  • ユーザから「やり直し」のような指示があった場合
  • 「会話を本当に再開しますか?」と確認し、「はい」と「いいえ」をユーザチャットに表示
  • ユーザが「はい」と答えた場合、会話をリセット
  • ユーザが「いいえ」と答えた場合、会話を継続

エージェントの評価

エージェントの動作評価を継続的に行うための機能です。CSV形式でテストデータを定義し、エージェントの応答を評価できます。
CSV形式の列は、Question,Expected response,Testing methodとなっています。

  • Question:ユーザからの入力
  • Expected response:期待される応答
  • Testing method:テスト方法です。以下のいずれかを指定します。
    • Exact match(完全一致):エージェントの応答が期待される応答と文字単位で完全に一致するかを確認します。数値、コード、固定語句など短く正確な回答の評価に適しています。
    • Partial match(部分一致):エージェントの応答に期待される応答の単語や語句の一部が含まれているかを確認します。回答を異なる方法で表現できるが、重要な用語やアイデアを含める必要がある場合に有効です。
    • Similarity(類似性):コサイン類似性メトリックを使用して、エージェントの応答が期待される応答の文言と意味にどの程度類似しているかを評価します。スコアは0~1の範囲で、合格スコアのしきい値を設定できます。回答を異なる方法で表現できるが、全体的な意味や意図を理解する必要がある場合に適しています。
    • General quality(一般的な品質):LLMを使用してエージェントの応答を総合的に評価します。関連性(質問への対処度)、Groundedness(提供されたコンテキストへの基づき度)、完全性(必要な情報の網羅度)、控え(質問に答えようとしたか)の4つの条件で評価され、すべての条件を満たす必要があります。正確な回答が期待できない場合に特に有効です。
    • Compare meaning(意味の比較):セマンティック類似性を使用して、エージェントの応答が期待される応答の意図された意味をどの程度反映しているかを評価します。正確な表現ではなく、単語の背後にあるアイデアと意味を比較します。合格スコアのしきい値を設定でき、回答を異なる方法で表現できるが全体的な意味が重要な場合に便利です。

例えば以下のようなCSVデータを用意します。

Question,Expected response,Testing method
Kickoff会議で決定した役割分担を教えて,PMはAさん、開発リーダーはBさん、クラウドアーキテクトはCさん、アプリエンジニアはDさん、セキュリティエンジニアはEさん、ネットワークエンジニアはFさん,General quality
Kickoff会議の目的は何ですか?,XXシステムをクラウド環境へ移行する目的:コスト最適化、可用性向上、セキュリティ強化,General quality
Kickoff会議で挙げられたリスクは何?,データ整合性不具合の可能性と認証方式不一致,General quality
インフラ評価会議で確認された外部APIの課題は?,外部API認証方式の調整が必要と確認された,General quality
インフラ評価会議で話されたネットワーク要件は?,VPN接続必須、クラウド側で冗長構成を確保,General quality
インフラ評価会議で確認されたサーバー構成は?,サーバー台数:12台(うち5台はオンプレ専用アプリ)、データベース:Oracle 19c、サイズ約2TB,General quality
セキュリティ要件レビューで決まった暗号化方式は?,移行時AES256必須、保存時クラウド暗号化+Key Vault,General quality
セキュリティ要件レビューでMFAは必須になった?,はい、MFA必須と決定された,General quality
セキュリティ要件レビューで認証方式はどう決まった?,オンプレADとAzure ADのハイブリッド構成で統合,General quality
Kickoff会議で確認された初期タスクは?,移行計画書ドラフト(期限:11/12)、現行システム構成棚卸し(期限:11/15),General quality
Kickoff会議で確認されたスケジュールは?,2025年11月~2026年3月完了予定,General quality
セキュリティ要件レビューでキー管理はどうする?,Azure Key Vaultで一元管理,General quality
インフラ評価会議でバッチ処理について何が話された?,夜間バッチ処理はクラウドスケジューラで代替可能か確認,General quality
Kickoff会議で確認されたプロジェクト目的は?,コスト最適化、可用性向上、セキュリティ強化,General quality
セキュリティ要件レビューでネットワーク冗長化について何が決まった?,VPN接続の冗長化をクラウド側で確保,General quality
インフラ評価会議でExpressRouteについて何が話された?,ExpressRouteを使う案もあるがコスト面で検討が必要,General quality
Kickoff会議で確認された次回会議は?,インフラ評価(11/06),General quality
セキュリティ要件レビューで次回までのアクションは?,セキュリティポリシー文書ドラフト(期限11/09)、認証統合テスト計画(期限11/15)、ネットワーク設計案(期限11/10),General quality
インフラ評価会議で次回までのアクションは?,ネットワーク設計案を11/10までに提示、認証方式統合案を11/12までに検討,General quality
Kickoff会議で確認された体制は?,PM:Aさん、開発リーダー:Bさん、クラウドアーキテクト:Cさん、アプリエンジニア:Dさん、セキュリティエンジニア:Eさん、ネットワークエンジニア:Fさん,General quality

このファイルを登録しましょう。
左上に、「テストデータの生成」とあるように、登録したテストデータをもとに追加テストデータを生成することも可能です。ただし、あくまで補助的な機能ですので、網羅的なテストをするためには、自分でテストデータを用意したほうがよいでしょう。

では、評価開始して結果を確認しましょう。
このように、エージェントのモデル変更、指示変更などを行った場合に、エージェントを利用するさまざまなシナリオでの応答品質を継続的に評価できます。

Teams や M365 Copilotからのエージェント利用

Copilot Studioで作成したエージェントは、TeamsやM365 Copilotから利用できますが、ただ「公開」しただけでは利用できません。
Copilot Studio の「チャネル」タブで、作成したエージェントをどこに公開するかを設定します。


まとめ

Copilot Studioにおけるエージェント作成の機能を一通り把握しました。
私が半年前に触ったときから、いつの間にか進化している!?という印象を持ちました。
ただし、SharePoint連携の部分などは、エージェンティックな振る舞いがまだまだ十分ではない印象も受けています。

また、機能の追加や改善が多く、サブエージェントとツールプロンプトなど、同じような概念の機能が複数存在していることも気になります。
11月はMicrosoftIgniteもありますし、今後も継続的に機能改善が行われていくと思いますので、追いかけていきたいと思います。

Discussion