Copilot Studioで構築されたエージェントは、他のオンラインサービスとの統合を通じて新たな機能を獲得します。 これらのサービスには、SharePointやDataverseのようなMicrosoftサービス、ServiceNow、Salesforce、Databricksなどのサードパーティサービス、カスタムAPIが含まれます。 Power PlatformはCopilot Studioで利用可能な豊富な内蔵コネクタのエコシステムを提供しているため、自分で組み立てる必要はありません。 また、ローコードやプロコードを使ったカスタム統合を作成するオプションもいくつかあります。 エージェントはモデルコンテキストプロトコル(MCP)を通じて外部ツールやデータと標準化されスケーラブルな方法でやり取りしたり、コンピュータ利用で仮想マシンからウェブやデスクトップアプリケーションを自動化したりすることで、APIがなくてもより広範な統合シナリオを可能にします。
統合を利用することで、エージェントは複数のシステムの機能にアクセスする便利なインターフェースとなります。 ユーザーはエージェントから離れることなく多くの異なる操作を行うことができます。 例えば、Copilot Studioで設計された単一のエージェントは以下に使えます:
- SharePointリストの項目を読み、作成し、更新してください。
- Office 365 Outlookを使ってメールを送信してください。
- ServiceNowで新しいサポートチケットを開いてください。
積分パターンの考慮事項
Copilot StudioはPower Platformコネクタ、HTTPリクエスト、エージェントフロー、ボットフレームワークスキルなどを通じた統合をサポートします。 正しい統合パターンの選択はプロジェクトの要件によって異なります。
Power Platform コネクタ
コネクターは エージェントが基盤となるサービスとやり取りできるようにします。 それらはローコードインターフェースを通じて露出される一連のアクションとトリガーです。 アクションとは、エージェントが指示する読み取り、書き込み、更新などの操作を指します。 トリガーは他のサービスでイベントが発生した際にエージェントに通知します。
既製コネクターとカスタムコネクターの使用:
- 完成品コネクター: MicrosoftはCopilot Studioですぐに使える大規模なソフトウェア・アズ・ア・サービス(SaaS)コネクタのエコシステムを提供しています。
- カスタムコネクター: 既存のコネクタがない場合は、自分でサービス用にコネクターを作ることができます。 REST APIのノーコードまたはローコードラッパーです。
パワープラットフォームコネクターは以下の要件を満たしています:
- Power Platformで構築するメーカーは、ノーコードやローコードコネクタに馴染みがあります。
- Power FXコードをサポートしており、変数、条件、パラメータなどが含まれます。
- 構文解析とエラー処理は組み込まれています。
- 完成型コネクターは構成だけで済み、開発期間は不要です。
- カスタムコネクターは一度作成すれば、多くのエージェント間で使用可能です。
- Copilot StudioとApplication Insights(Azure Monitorの機能)との連携で活動を監視できる機能。
- 一部のコネクタやカスタムコネクタは仮想ネットワークをサポートしています。
Power Platformコネクターを統合に使用する際は、以下の点を考慮してください。
- 数百件の結果を返すことで、エージェントのユーザーへの応答に大きな遅延が生じます。
- サードパーティコネクタは、サービスに接続する前にユーザーに認証情報の入力を促します。 ユーザーはガイダンスなしで接続の作り方を理解できないかもしれません。 ユーザーが接続に必要な情報を持っていない場合は、メーカー認証情報の使用を検討してください。
HTTP 要求
エージェントは HTTPリクエストを出すことで他のサービスと統合できます。 開発者はHTTPリクエストを行う際に毎回以下の値を指定しなければなりません。
- URI
- 方法(GET、POST、パッチなど)
- Headers
- Body
HTTPリクエストは以下の要件を満たします:
- サービスに接続し、プリビルドコネクタリストにない操作を行う能力。
- カスタムコネクターよりも開発にかかる時間が短いです。
HTTPリクエストを利用する際には、以下の要素を考慮してください。
- 多くのローコードやノーコードの開発者はHTTPリクエストの設定方法を理解できず、サポートに苦労するかもしれません。
- カスタムコネクタのように組織全体で再利用するために共有することはできません。
エージェント フロー
エージェントフローは、あらかじめ定められた一連の アクションを実行します 。 彼らはPower Platformコネクターに使われているローコードアクションを使用します。 エージェントは入力として値をエージェントフローに渡し、その出力を受け取ることができます。
エージェントフローは機能的にPower Automate のクラウドフロー に似ていますが、いくつかの重要な違いがあります。
- エージェントフローは高スループットと低遅延を可能にします。
- エージェントフローはPower Automateのフローよりも「 人間インザループ」アクションなど、より多くの機能を提供します。
- エージェントフローは使用量に応じてCopilotクレジットを消費します。 Power Automateのフローは通常、ユーザーごとのライセンスモデルまたはプロセスごとのモデルで動作します。
エージェントフローは以下の要件を満たします:
- ノーコードでもローコードでも。
- 決定論的なアクションの連鎖。
- 活動は別途監視可能です。
- フローアクション内のキーや秘密などの敏感な値を隠します。 認証のためにAzure Key Vaultから認証情報を取得します。
- 大量のデータとファイルサイズを扱います。
- 並行実行スレッドと並列実行スレッドを用いて、より良いパフォーマンスを実現します。
- 既存のPower Automateクラウドフローはエージェントフローに変換可能です。
エージェントフローを利用するエージェントを設計する際には、以下の点を考慮してください。
- パフォーマンスは、含まれるサービスやアクションのAPI制限によって制約されます。
- 開発者はエラー処理パターンを設計し、エージェントが例外処理方法を理解できるようにします。
- 流れによるエージェントへの応答にはサイズ制限があります。
- より長く実行されるロジックは、Respond To Agentアクションの後も実行を続けることができます。
Bot Framework スキル
スキルは、Botフレームワークを使って構築できる再利用可能な会話スキルの構成要素です。 プロコードを使ってスキルを実践しましょう。 Copilot Studioでスキル登録 して使う。 Copilotでスキルを登録した後、会話トピックのノードとしてトリガーできます。
ボットフレームワークのスキルは以下の要件を満たします:
- 同期の実行。
- プライベート エンドポイントのサポート。
- 既存のボットフレームワークのスキルはCopilot Studioで再利用可能です。
ボットフレームワークのスキルを使う際は、以下の要素を考慮してください。
- 継続的な開発とサポートのためにプロコードが必要です(例:C#)。
- Azure AI ボット サービスで実行されます。
- Azureでは追加コストが発生し、Azureサブスクリプションでカバーしなければなりません。
- アプリケーションライフサイクル管理(ALM)はPower Platformの外部にあります。
積分パターンに関するその他の考慮事項
各統合タイプに関する指針とともに、全体的な統合戦略として以下のポイントを検討してください。
- Copilot Studioの統合パターンは排他的ではなく、組み合わせることも可能です。
- 統合は接続先のエンドポイントの速度に依存します。
- 常にクエリを最適化して、できるだけ早く結果を返すようにして、良い会話体験を提供しましょう。
- エージェントフローやCopilot Studioがロジックの実行が遅い場合は、以下の選択肢を検討してください。
- Dataverse カスタム API
- Dataverseのローコードプラグイン
- Azure Functions
- 特定のシナリオでは、データ統合がメッセージを中継しながら修正される中間層で行われます。
エージェントへの統合追加
以下の方法でエージェントに統合を追加します:
ツール
- 統合をツールとして接続し、エージェントの機能を拡張します。
- オーケストレーターがタスクを実行するツールを選択するタイミングを自然言語で説明しましょう。
- エージェントがツールの入力値をどのように決定し、出力はどのような形にすべきかを定義してください。 生成AIは説明に基づいて動的に入力を埋めることもでき、値や式を手動で定義することもできます。
- 生成オーケストレーションによって作成された計画の一部として呼び出します。
トピック
- トピックノードを通じて積分を呼び出します。 トピックのシーケンス内で毎回同じ位置で実行されます。
- Power FXを使ってノードに入力を提供します。
エージェント
- 独自の命令セットを持つ子エージェントを作成し、親エージェントが利用可能な知識やツールへのアクセスを定義します。
- あるいは、Copilot Studio、Microsoft 365 SDK、Microsoft Foundry、Fabric、Agent-To-Agentなどの既存のエージェントに接続することも可能です。
クォータと制限
Copilot StudioおよびPower Platformの現在のサービス制限を確認してください:
- クォータと制限をCopilot Studioする
- Power Automateの制限
- Power Platform 要求の制限と割り当て
- Power Platformコネクタの制限は、各コネクタの個別ページに記載されています。
これらのサービスのAPI制限は別々に設定する必要があります:
- OpenAIの能力: 料金制限は文書化されていません。
- ボットフレームワークのスキル: 使用されている具体的なサービスについては Azureのドキュメント を確認してください。
統合計画の概要例
Copilot Studioとの統合を計画する際には、各サービスごとに以下の情報を把握してください:
- 接続システム: 接続しているサービスです。
- 呼び出し: Copilot Studioのボットコンポーネントでサービスを呼び出します。
- 通話先: 選択した統合タイプ。
- 予想日次取引量: 平均リクエスト数。
- 予想ピーク: 最も予想される1日のリクエスト数。
- 詳細: 統合に関するその他の情報。
複数の統合を持つエージェントの例を挙げます:
| 接続システム | 呼びかけ | 呼び方は | 予想日次取引量 | 予想ピーク | API呼び出し数/分 | 詳細 |
|---|---|---|---|---|---|---|
| ServiceNow | サービスデスクの知識庫トピック | Workflow | 5,000 | 1,000 | 600 | ユーザークエリは、標準コネクターを使ってServiceNowナレッジベースでクエリを実行するための入力として使われます。 生成アクションのカスタムデータのために、結果のJSON がCopilot Studioに返されます。 |
| Contoso公式ウェブサイト | 知識 | 生成型の回答 | 1,000 | 100 | N/A |
https://contoso.com/en-us/FAQ /en-us/ はユーザーのローカレ変数に基づいて動的に設定されます。 |
| 内部ディレクトリAPI | 会話 話題 開始 | Workflow | 15,000 | 5,000 | N/A | Azure Virtual Networkのコンテキストで動作するカスタムコネクタを使って内部APIに接続する方法。 |
| ウェザーAPI | 天気の話題 | HTTP | 500 | 100 | N/A | RESTベースのAPIへのリクエストをGETしてください。 |
| チーム | ミーティングブッキングのトピック | Tools | 1,500 | 300 | 100 | 会話の入力に基づいてTeamsの会議を作成しましょう。 |
| 樹液 | 24 時間ごと | Workflow | 20,000 | - | 2,500 | SAPからDataverseへの製品カタログの日次バッチ同期。 |
次のステップ
AIプロンプト、モデルコンテキストプロトコル、コンピュータ利用エージェントがエージェントの能力を拡張する方法を学びましょう。