Microsoft 365 Copilot オーケストレーターの概要
Microsoft 365 Copilotは、仕事のための個人的なアシスタントです。 これは、書き込み、要約、調査など、さまざまな一般的なタスクに役立ちます。 Copilot には、これらのさまざまな種類のタスクに対応するさまざまなスキルがあります。 たとえば、Copilot では、会議のアクション アイテムを要約したり、ファイルへの編集を提案したり、organization内の特定のトピックに関するリソースや専門家を追跡したりできます。 各スキルには、特定のタスクに合わせて調整された独自のパラメーターと出力があります。
他の副操縦士と同様に、Microsoft 365 Copilotは一度にデータを使用してトレーニングされます。 新しい情報やリアルタイムの情報、特にorganizationやワークフローに固有のデータを取得して処理するには、エージェントにプラグインが必要です。 エージェント内のプラグインは、エンド ユーザー Microsoft 365 Copilotのスキルとユーティリティを拡張し、完全なレパートリーから適切なスキルを選択できるようにします。
しかし、エージェントは、ヘルプを求めるときに使用するスキルをどのように知っていますか? 要求をどのように解釈し、利用可能な最高のスキルと一致させますか? これは、Microsoft 365 Copilot オーケストレーターのジョブです。
この記事では、Copilot のスキル選択プロセスの背後にあるロジックと、Copilot がエージェントから適切なプラグインをユーザーに利益をもたらすあらゆる機会で確実に使用できるようにする方法について説明します。
重要
- API プラグインは現在、 宣言型エージェント内のアクションとしてのみサポートされています。 Microsoft 365 Copilotでは有効になっていません。 API プラグインを宣言型エージェントに追加する方法を示す例については、「 プラグインの追加」を参照してください。
- この機能は、すべてのMicrosoft 365 Copilotライセンステナントで既定で有効になっています。 管理者は、ユーザーとグループごとにこの機能を無効にし、個々のプラグインの使用を承認する方法と、有効にするプラグインを制御できます。 詳細については、「 統合アプリでのエージェントの管理」を参照してください。
Copilot オーケストレーター
ユーザーの自然言語入力と Copilot の自然言語出力の間で、Copilot オーケストレーターはバックグラウンドで動作し、ユーザーのタスクに適したプラグインから適切なスキルを選択して実行します。
オーケストレーション レイヤーは、基盤となる大きな言語モデル (LLM) と、顧客の作業方法に合わせて Copilot を拡張、強化、カスタマイズできるさまざまな方法の間のインターフェイスを表します。
次の図は、Microsoft 365 Copilot オーケストレーターが適切なプラグインを適切なスキルで適切なタイミングで選択する方法を示しています。選択できるオプションが複数ある場合でも、
自然言語入力: ユーザーがエージェントにクエリを送信します 。たとえば、"現在割り当てられているチケットは何ですか?
予備チェック: Copilot は、責任ある AI チェックやセキュリティ対策など、クエリに対していくつかのチェックを行い、リスクが発生しないようにします。 クエリがこれらのチェックのいずれかに失敗した場合、Copilot は対話を終了します。
推論: Copilot オーケストレーターは、ユーザーのプロンプトに応答するために実行する複数のアクションで構成されるプランを作成します。
コンテキストとツールの選択: オーケストレーターは、コンテキスト ストアからユーザーの会話コンテキストを取得し、Microsoft Graph からデータを統合してコンテキストを絞り込みます。 次に、この更新されたコンテキストに基づいて最初のクエリを調整し、LLM (大きな言語モデル) に転送して、次の手順をガイドします。
LLM は、Copilot の組み込み機能を使用して応答の生成に進む場合や、追加のデータが必要であると判断される場合があります。
詳細が必要な場合、オーケストレーターは、プラグインとその関数の説明に基づいて、エージェントの有効なプラグインからタスクに適したスキルを持つプラグイン (ツール) を検索します。
関数の一致とパラメーターの決定: オーケストレーターは、ユーザーの最初のクエリ、更新されたコンテキスト、選択したプラグインを組み込んだ新しいプロンプトを作成し、LLM に提示します。 LLM は入力を評価し、そのプラグイン内でタスクに対処するための最適なプラグインと関数を指定します。 次に、必要な情報を収集するために必要な関数の詳細とパラメーターをオーケストレーターに提供します。
ツールの開始: オーケストレーターは LLM からの応答を使用して API 要求を作成し、その要求をツール イニシエーターに送信します。これにより、Copilot のインフラストラクチャの外部にある要求された情報が安全に取得されます。 要求を実行し、結果をオーケストレーターに送信してさらに処理します。
結果分析と応答の定式化: オーケストレーターは、API 応答を進行中のコンテキストに統合し、LLM が最終的な応答を生成することが適切と判断されるまで、継続的な推論ループで LLM を参照します。
応答: オーケストレーターは、推論プロセス中に収集されたすべての情報をコンパイルし、LLM に送信して最終的な応答を作成します。 応答が責任ある AI ガイドラインに準拠していることを確認すると、応答がオーケストレーターに送信され、コンテキスト ストアにログが記録され、Copilot UI を介してユーザーに配信されます。
自然言語出力: 最後に、オーケストレーターはユーザーに応答を配信し、会話の状態を更新します。 Copilot は次のプロンプトの準備ができています。
Copilot のオーケストレーターがプラグインをユーザー クエリと一致させる方法
ユーザーがエージェントにクエリを送信すると、オーケストレーターはインストールされているプラグインからエージェントのスキル (関数) の完全なカタログを検索して、クエリに最も一致する最大 5 つのスキルを特定します。 オーケストレーターは、最初に正確な単語 (字句一致) で一致を試み、必要に応じて検索スコープを拡張して、説明的な意味 (セマンティック 一致) に対する一致を含め、特定の関数名から一般的なプラグインの説明まで、5 つの関数候補スロットがすべて入力されるまで動作します。 具体的には、Copilot プラグイン関数の選択に対応するメカニズムの階層を次の一覧に示します。
- 関数名に対する字句の一致。
- 関数の説明に対するセマンティック 一致。
- プラグイン名に対する構文の一致 (すべてのプラグイン関数を候補リストに追加します)。
- プラグイン名のセマンティック 一致 (すべてのプラグイン関数を候補リストに追加します)。
オーケストレーターは、5 つの関数候補スロットがすべて入力されるまで、このリストを通して動作します。
エージェントの検証ガイドラインを参照して、適切な説明を記述する方法の詳細を確認して、Copilot がエージェントに対する各ユーザー クエリに適したスキルを選択していることを確認してください。