エージェントを組み立てる—Copilot Studioで何ができて何ができないか|第4回

おはようございます。室長こと、吉島良平(Microsoft MVP for Business Applications | Microsoft Regional Director)です。
皆さん、いかがお過ごしでしょうか? スポーツが熱い季節が続いていますね。
サッカーは来年のワールドカップに向けて各国の代表争いが激しくなっています。日本代表も世界を驚かせる存在になってきましたし、欧州トップリーグで活躍する日本人選手の数も本当に増えました。少し前まで「日本人がプレミアリーグで?」と思っていたのが嘘のようです。
ラグビーも来年はワールドカップがあります。前回のフランス大会での日本代表の戦いを振り返ると悔しさもありますが、世界と互角に戦える力がついてきたことは間違いありません。来年のオーストラリア大会、どこまで行けるか今から楽しみです。個人的には準決勝まで行ってほしいですね。
メジャーリーグも日々ドラマがあります。大谷翔平選手はもはや説明不要ですが、彼の登場によって日本人のベースボールIQが格段に上がった気がします。投打の数字だけでなく、試合の中での判断・走塁・守備まで解説できるファンが増えましたよね。それだけ野球が深く見られるようになったということで、スポーツの普及という意味でも大きな貢献だと思います。
そしてアメリカンフットボール。先日の2026年NFLドラフトでは、ハワイ大学のキッカー・松澤寛政選手が日本人初のNFL指名を目指してグリーンルームで待ち続けました。残念ながら指名はならなかったものの、ドラフト外新人としてラスベガス・レイダーズと契約を果たしました。千葉出身でもともとサッカー選手だった彼が、YouTubeで独学でキック技術を磨き、単身渡米してNFLの扉をこじ開けた——そのストーリーは本当に胸が熱くなります。「トーキョー・トー(Tokyo Toe)」というニックネームも最高ですね。これからのご活躍を心から応援しています。
さて、こうしてスポーツを見ていていつも思うのは、「個の能力」と「チームの設計」のどちらが欠けても勝てないということです。松澤選手の足の能力がいくら高くても、チームの戦術の中でどう組み込まれるかが問われます。エージェントも全く同じで、優れたAIモデルがあっても、それを「どう組み立てるか」の設計がなければ業務で機能しません。
今日は第3回に続く第4回、「エージェントを組み立てる——Copilot Studioで何ができて何ができないか」をお届けします。最近、提案活動に関わる事が多かったので、纏めておいた備忘録を整理しておきたいと思います。
Series #04 — Agentic Engineering × Dynamics 365
エージェントを組み立てる
Copilot Studioで何ができて何ができないか——司令塔の設計思想を理解する
第4回
Dynamics 365
Copilot Studio
名寄せ
Azure
ここで重要なのは、「何ができるか」だけではありません。むしろ、「どこに制約があるのか」を理解することの方が、本質的です。
エージェントは万能ではありません。与えられたコンテキストの範囲でしか判断できず、また設計された範囲を超えて行動することもできません。
つまり、Copilot Studioは「エージェントを構築するツール」であると同時に、「どこまでをエージェントに任せるかを決める設計の場」でもあります。
何ができるかではなく、「どこまで任せるか」
ここに、設計者の責任が発生します。
第1回でエージェントの定義と自律性の段階を、第2回でHuman-in-the-Loopの設計原則を、第3回でエージェントが使うデータの設計を整理してきました。ここまでで「何をするエージェントを作るか」「どこに人間を置くか」「どのデータを使うか」が揃いました。次の問いは「では、実際にどうやって作るか」です。Dynamics 365のエージェントを組み立てる主役はCopilot Studioです。しかしCopilot Studioは「何でもできるツール」ではありません。できることとできないことを正確に理解した上で設計しないと、「作ってみたら思っていたものと違う」「本番で動かない」という事態に陥ります。今回はCopilot Studioの設計思想・できること・できないこと・名寄せの落とし穴・CRMとERP連携の実装パターンを具体的に見ていきます。
Design philosophy
Copilot Studioとは何か——設計思想を理解する
Copilot Studioは、MicrosoftがPower Virtual Agentsを進化させた形で2023年に登場したエージェント開発プラットフォームです。「プロコードなしでエージェントを作れる」というローコード/ノーコードの思想を持ちながら、必要に応じてAzure FunctionsやカスタムAPIとの連携でプロコードの世界にも接続できるという設計になっています。
重要なのは、Copilot Studioは「チャットボットを作るツール」から「業務エージェントを組み立てる指揮台」へと進化しているという点です。2026 wave 1以降のCopilot Studioは、単なる会話フローの設計ツールではなく、複数のエージェントを組み合わせてマルチエージェントアーキテクチャを構成する「オーケストレーター」としての役割を担っています。
スポーツで例えると
Copilot Studioは試合の流れを作る司令塔の役割を担います。野球で言えばキャッチャー、サッカーで言えばミッドフィルダー、ラグビーで言えばフライハーフ、アメリカンフットボールで言えばクォーターバックのように、フィールド全体を見渡しながら、個々の選手(エージェント)に役割を割り当て、プレイの流れを組み立てています。
ただしこの構造において司令塔は一つではありません。エージェント同士の動きをリアルタイムに統率し、実行を成立させる司令塔がCopilot Studioである一方で、最終的な意思決定を担う司令塔は依然として人間側にあります。つまり、Copilot Studioは「人間の指示を受けて動くツール」ではなく、人間の判断とエージェントの実行の間に立ち、全体を統率するもう一つの司令塔として機能しています。
Copilot Studioの設計は大きく3つのレイヤーで考えます。
知識(Knowledge)——エージェントは何を知っているか
エージェントが参照する情報源を定義します。SharePointのドキュメント・Webサイト・ナレッジベース・Dataverseのデータ・カスタムデータソースを「知識」として設定することで、エージェントはこれらを参照しながら回答・判断を行います。第3回で整理したFabricやDataverseのデータモデルの知識が、ここで活きてきます。
アクション(Actions)——エージェントは何ができるか
エージェントが実行できる操作を定義します。Power Automateフローの呼び出し・Dynamics 365のエンティティの読み書き・Azure Functionsの呼び出し・外部APIへのHTTPリクエストがこれにあたります。「知識」を参照して判断し、「アクション」を実行する。この組み合わせがエージェントの自律実行の核心です。
トピック(Topics)——エージェントはどう動くか
会話の流れ・分岐条件・エスカレーションのルールを定義します。「この条件が満たされたらこのアクションを実行する」「この状況になったら人間にエスカレーションする」という第2回で設計したHuman-in-the-Loopの介在ポイントが、ここで実装されます。
What Copilot Studio can do
Copilot Studioでできること
Copilot Studioが「できること」を正確に理解しておくことが、設計の失敗を防ぐ第一歩です。大きく5つに整理します。
①Dynamics 365との直接連携——CRMとERPからデータを取る具体例
Copilot StudioはDataverseと直接統合されており、Dynamics 365のCRMエンティティをノーコードで読み書きできます。2026 wave 1以降はERPのバーチャルテーブルへのアクセスも標準化されており、CRMとERPをまたいだデータアクセスがCopilot Studio上で設計できます。
CRMからデータを取る例:
ERPからデータを取る例(バーチャルテーブル経由):
①-補足:名寄せ——エージェント設計の隠れた最重要テーマ
CRMとERPからデータを取る話をしてきましたが、その前提として「取るデータが正しいか」という問いがあります。エージェントがどれだけ優れた判断ロジックを持っていても、名寄せが甘い状態では「同じ顧客が3つのレコードに分かれていて、エージェントが別々の顧客として処理する」という事態が起きます。これはラグビーで言えば、味方選手の位置情報が間違ったままノールックパスを出すようなものです。パスは正確でも、受け取る場所が違います。
名寄せとはシステム上に散在する重複・類似レコードを統合・整理し、「ひとつの実体に対してひとつのレコード」という状態を作ることです。エンタープライズ案件では、名寄せはシステム導入の成否を左右する最重要テーマのひとつです。
Customer Insights – Dataの名寄せ機能——Unify(統合)プロセス
Dynamics 365の製品群の中で、名寄せ機能が最も体系的かつ強力に設計されているのがCustomer Insights – Data(CDP)です。AIベースの予測マッチング機能を活用し、複数のデータソースからのデータを単一のマスターデータセットに統合します。
ステップ① Map
複数のデータソースを共通のデータモデルにマッピングします。「このフィールドが顧客の氏名」「このフィールドがメールアドレス」という定義をここで行います。
ステップ② Match
テーブル間で顧客レコードをマッチングするルールを定義します。完全一致だけでなくファジーマッチングにも対応しており、「株式会社」「(株)」の表記揺れも検出できます。
ステップ③ Merge
ソーステーブルのどの列を統合プロファイルに含めるか・除外するか・マージするかを決定します。統合実行時に一意のCustomerIdが割り当てられます。
Customer Insights – Dataの名寄せが他製品と根本的に違う点
CRM・BCのマージは「システム内のレコードを統合する」という操作です。一方Customer Insights – DataのUnifyは「複数のシステムのデータを横断的に統合した統一プロファイルを作る」という操作です。元のシステムのレコードはそのまま保持されたまま、Customer Insights – Data上に「統合プロファイル」という新しいレイヤーが生成されます。マッチングルールが誤っていた場合は、ルールを修正して再度Unifyを実行するだけで統合プロファイルが再生成されます。この「やり直しがきく」設計が、CRM・BCのマージ操作との大きな違いです。エンタープライズ案件での推奨アプローチは、まずCustomer Insights – DataのUnifyで「どのレコードが同一顧客か」を特定し、その結果を参照しながらCRM・ERPの各システムでのマージ操作を行うという順序です。
②Power Automateとの連携
Power Automateフローをアクションとして呼び出せます。承認フロー・メール送信・Teams通知・外部システムへのデータ連携といった処理をPower Automateで設計し、Copilot Studioのエージェントからトリガーする設計が可能です。第2回で設計したHuman-in-the-Loopの承認フローは、Power AutomateのApprovalコネクタとCopilot Studioの組み合わせで実装します。
③マルチエージェントオーケストレーション
2026 wave 1の最大の変化のひとつです。Copilot Studio上で複数のエージェントを「親エージェント(オーケストレーター)」と「子エージェント(スペシャリスト)」として構成できます。たとえばCRMの営業エージェントが親となり、在庫照会が必要になったときにERPの在庫エージェントを呼び出し、結果を受け取って見積を完成させるというような連携がCopilot Studio上で設計できます。QBがレシーバーに指示を出してパスを通すように、親エージェントが状況を判断し、最適なスペシャリストエージェントに仕事を振る設計です。
④カスタムコネクタ・HTTPアクション
標準コネクタでカバーできない外部システムとの連携は、カスタムコネクタまたはHTTPアクションで対応できます。E-CommerceプラットフォームのAPI・物流会社のトラッキングAPI・与信照会APIなどを、Copilot StudioのエージェントからHTTPリクエストで呼び出す設計が可能です。
⑤Azure AI Foundryとの統合——カスタムAIモデルをエージェントの判断に組み込む
Azure AI FoundryはCopilot Studioと統合されており、カスタムAIモデルをエージェントのアクションとして呼び出せます。具体的にはこういった活用が考えられます。
Azure AI FoundryとCopilot Studioの統合で重要なのは、モデルの改善はAzure AI Foundry側で行い、Copilot Studio側のエージェント設計は変えずに精度だけを上げていくという運用が可能になる点です。
What Copilot Studio cannot do
Copilot Studioでできないこと・苦手なこと
Copilot Studioの「できること」と同じくらい重要なのが「できないこと・苦手なこと」を正確に知ることです。ここを理解していないと、設計段階では問題なく見えても、実装・本番運用で壁にぶつかります。
複雑なビジネスロジックの実装
Copilot Studioはローコード/ノーコードが設計思想であるため、複雑な条件分岐・計算ロジック・データ変換を直接実装するのには向いていません。複雑なビジネスロジックはAzure FunctionsやPower Automateに切り出し、Copilot Studioはその呼び出しだけを担当する設計が正解です。
大量データのバッチ処理
Copilot Studioはリアルタイムの会話・アクション実行には向いていますが、大量データの一括処理には向いていません。「1万件の在庫レコードを一括チェックして発注候補リストを生成する」といったバッチ処理は、Azure Data FactoryのパイプラインやAzure Logic Appsのスケジュール実行に任せるのが適切です。Power Automateはイベント駆動の軽量フローには向いていますが、エンタープライズ規模の大量データのバッチ処理にはAzureのデータ基盤側で設計することが正解です。
長時間の非同期処理
Copilot Studioからアクションを呼び出す際にはタイムアウトの制約があります。長時間かかる処理はAzure Functionsの非同期実行パターンに切り出し、処理完了後にCopilot Studioのエージェントに結果を返す設計が必要です。
複雑なUI・帳票の生成
Copilot Studioが生成できるアウトプットは基本的にテキスト・カード・ボタンといった会話UIの範囲に限られます。PDFの見積書・Excelの発注リスト・複雑なレポートの生成はCopilot Studioの守備範囲外です。Power Automateと連携してWord・Excelテンプレートを使った帳票生成を行うか、Azure FunctionsでPDF生成ロジックを実装する設計が必要です。
精緻なエラーハンドリングと冪等性の保証
エージェントが自律実行する際、途中で失敗した場合の冪等性の保証はCopilot Studio単体で行うのは難しいです。Azure Functionsのリトライポリシー・Azure Service Busのメッセージキュー・Dataverseのトランザクション管理を組み合わせて設計する必要があります。
Dynamics 365のカスタマイズとの相性
Dynamics 365に深くカスタマイズが入っている環境では、Copilot Studioのエージェントがそのカスタマイズを認識できないケースがあります。特にプラグインがトリガーされる条件とエージェントのアクションが競合する場合、想定外の動作が起きることがあります。Dynamics 365の実装者としての深い理解がここで活きてきます。
Integration patterns
CRMとERP連携の実装パターン
Copilot Studioでエージェントを設計するとき、CRMとERPをまたぐ連携の実装パターンを理解しておくことが重要です。パターンは大きく3つあります。
パターン①:バーチャルテーブル経由のリアルタイム参照
ERPのデータをDataverse上の仮想テーブルとして公開し、Copilot StudioのエージェントがCRMのデータと同じ感覚でERPのデータにアクセスします。在庫照会・原価参照・与信残高チェック・修理伝票のステータス確認に適しています。バーチャルテーブルは「読み取り」には強いですが、「書き込み」には制約があるケースがある点に注意が必要です。
→ リアルタイムでERPデータを「読む」用途に最適
パターン②:Power Automate + Approvalコネクタによる承認フロー連携
Copilot StudioのエージェントがPower Automateフローを呼び出し、承認フロー・通知・ERPへのデータ書き込みを実行するパターンです。CRMエージェントが見積を自動生成→金額が閾値を超えているため承認フローをトリガー→承認者がTeamsで承認→承認完了後にERPの受注伝票を自動生成→完了をCRMエージェントに返す、という流れです。Human-in-the-Loopの実装に最も適したパターンです。
→ 人間の承認を挟んでERPに「書く」用途に最適
パターン③:Azure Functions経由のカスタム連携
標準のコネクタやバーチャルテーブルでは対応できない複雑な処理・タイムアウトを回避したい重い処理は、Azure Functionsに切り出すパターンです。Copilot StudioのエージェントがHTTPアクションでAzure Functionsのエンドポイントを呼び出し、Azure Functions側で複雑な処理を非同期で実行します。CRMプラグインの2分タイムアウト問題もこのパターンで解決します。
→ 複雑な処理・タイムアウト回避・外部システム連携に最適
野球で例えると
パターン①はキャッチャーが素早くサインを出してピッチャーに伝える瞬間の判断、パターン②は監督がベンチから選手交代を告げる正式な手続き、パターン③はビデオ判定室に映像を送って詳細な分析をしてもらう作業です。状況に応じて使い分けることが、実装の品質と保守性を決めます。
Summary
まとめ
今回はCopilot Studioの設計思想・できること・できないこと・名寄せと切り戻し・CRMとERP連携の実装パターンまで見てきました。改めて整理するとこうなります。
このシリーズの構成
Agentic Engineeringとは何か——「作る対象」から「統率する存在」へ
どこに人間を置くか——Human-in-the-Loopの設計原則
エージェントはデータをどう使うか——CRMとERPのデータモデル
エージェントを組み立てる——Copilot Studioで何ができて何ができないか ← 本記事
エージェントを信頼できるか——ログ・監査・コンプライアンスの設計
CRMとERPをまたぐエージェント——統合設計の全体像
これからのDynamics 365エンジニアに何が求められるか
次回は「エージェントを信頼できるか」をテーマに、ログ・監査・コンプライアンスの設計を掘り下げます。エージェントが自律的に動いた結果に対して、組織として「説明責任を果たせる」設計をどう作るかを考えていきます。
以上、今日も貫徹した、室長でした。
