Microsoft 365 Copilotは、仕事のための個人的なアシスタントです。 これは、書き込み、要約、調査など、さまざまな一般的なタスクに役立ちます。 Copilot には、これらのさまざまな種類のタスクに対応するさまざまなスキルがあります。 たとえば、Copilot では、会議のアクション アイテムを要約したり、ファイルへの編集を提案したり、organization内の特定のトピックに関するリソースや専門家を追跡したりできます。 各スキルには、特定のタスクに合わせて調整された独自のパラメーターと出力があります。
他の副操縦士と同様に、Microsoft 365 Copilotは一度にデータを使用してトレーニングされます。 新しい情報とリアルタイムの情報 (特にorganizationとワークフローに固有のデータ) を取得して処理するには、エージェントにアクションが必要です。 エージェント内のアクションにより、エンド ユーザー Microsoft 365 Copilotのスキルとユーティリティが拡張され、完全なレパートリーから適切なスキルを選択できるようになります。
しかし、エージェントは、ヘルプを求めるときに使用するスキルをどのように知っていますか? 要求をどのように解釈し、利用可能な最高のスキルと一致させますか? これは、Microsoft 365 Copilot オーケストレーターのジョブです。
この記事では、Copilot のスキル選択プロセスの背後にあるロジックと、Copilot がユーザーに利益をもたらすすべての機会にエージェントからの適切なアクションを確実に使用する方法について説明します。
重要
- API プラグインは、現在、宣言型エージェント内のアクションとしてのみサポートされます。 Microsoft 365 Copilot では有効になっていません。 宣言型エージェントに API プラグインを追加する方法を示す例については、カスタムアクションとして 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 は次のプロンプトの準備ができています。
重要
宣言型エージェントは、1 人のユーザー ターン内で 3 つ以上 の異なる API アクション がトリガーされると応答を停止する可能性があります。 このような場合、3 番目の API 呼び出しはバックエンドで正常に完了する可能性がありますが、オーケストレーターはユーザーに応答を返しません。
この動作を最小限に抑えるには、ワークフローを複数のユーザー ターンに分割するか、1 回のターンで呼び出すさまざまな API アクションの数を減らします。 この方法は、すべての API 応答が確実に処理されるようにするのに役立ちます。
Copilot のオーケストレーターがアクションをユーザー クエリに一致させる方法
ユーザーがエージェントにクエリを送信すると、オーケストレーターは、インストールされているアクションからエージェントのスキル (関数) の完全なカタログを検索して、クエリに最も一致する最大 5 つのスキルを特定します。 オーケストレーターは、最初に正確な単語 (字句一致) で照合を試み、必要に応じて検索範囲を拡張して、説明的な意味 (セマンティック 一致) に対する一致を含め、特定の関数名から一般的なアクションの説明まで、5 つの関数候補スロットがすべて入力されるまで処理します。 具体的には、Copilot アクション関数の選択に対応するメカニズムの階層を次の一覧に示します。
- 関数名に対する字句の一致。
- 関数の説明に対するセマンティック 一致。
- アクション名に対する字句一致 (すべてのアクション関数を候補リストに追加します)。
- アクション名のセマンティック 一致 (すべてのアクション関数を候補リストに追加します)。
オーケストレーターは、5 つの関数候補スロットがすべて入力されるまで、このリストを通して動作します。
エージェントの検証ガイドラインを参照して、適切な説明を記述する方法の詳細を確認して、Copilot がエージェントに対する各ユーザー クエリに適したスキルを選択していることを確認してください。