Freigeben über


Wie Copilot für Microsoft 365 entscheidet, welches Plug-In verwendet werden soll

Microsoft Copilot für Microsoft 365 ist Ihr persönlicher Assistent für die Arbeit. Es hilft bei verschiedenen allgemeinen Aufgaben wie Schreiben, Zusammenfassen, Recherchieren und mehr. Copilot verfügt über unterschiedliche Fähigkeiten , die diesen verschiedenen Aufgabentypen entsprechen. Copilot kann beispielsweise Aktionselemente aus einer Besprechung zusammenfassen, Änderungen an einer Datei vorschlagen oder Ressourcen und Experten zu einem bestimmten Thema in Ihrer Organisation aufspüren. Jeder Skill verfügt über eigene Parameter und Ausgaben, die auf die jeweilige Aufgabe zugeschnitten sind.

Wie jeder Copilot wird auch Copilot für Microsoft 365 zu einem bestimmten Zeitpunkt mit Daten trainiert. Um neue Informationen und Echtzeitinformationen abzurufen und zu verarbeiten, insbesondere datenspezifisch für Ihre Organisation und Workflows, benötigt Copilot Plug-Ins. Plug-Ins erweitern die Fähigkeiten und das Hilfsprogramm von Copilot für Microsoft 365 für Endbenutzer und ermöglichen es ihm, den richtigen Skill aus seinem Repertoire auszuwählen.

Aber woher weiß Copilot, welche Qualifikation verwendet werden soll, wenn Sie um Hilfe bitten? Wie interpretiert sie Ihre Anforderung und stimmt sie mit dem besten verfügbaren Skill überein? Dies ist die Aufgabe des Copilot für Microsoft 365-Orchestrators.

In diesem Artikel wird die Logik hinter dem Skillauswahlprozess von Copilot erläutert und wie Sie sicherstellen können, dass Copilot Ihr Plug-In bei jeder Gelegenheit zum Nutzen Ihrer Benutzer einsetzt.

Wichtig

  • Plug-Ins für Microsoft Copilot für Microsoft 365 befinden sich in der öffentlichen Vorschau und funktionieren nur im Copilot-Chat in Microsoft Teams.
  • Die Funktion ist standardmäßig in allen Microsoft 365 Copilot-lizenzierten Mandanten aktiviert. Administratoren können diese Funktionalität auf Benutzer- und Gruppenbasis deaktivieren und steuern, wie einzelne Plug-Ins für die Verwendung genehmigt werden und welche Plug-Ins aktiviert sind. Weitere Informationen finden Sie unter Verwalten von Plug-Ins für Copilot in integrierten Apps.

Der Copilot-Orchestrator

Zwischen der Eingabe der natürlichen Sprache des Endbenutzers zur Ausgabe von Copilot in natürlicher Sprache arbeitet der Microsoft Copilot-Orchestrator im Hintergrund daran, die richtigen Skills aus den richtigen Plug-Ins für die angegebene Aufgabe des Endbenutzers auszuwählen und auszuführen.

Die Orchestrierungsebene stellt die Schnittstelle zwischen grundlegenden LLMs und den vielen Möglichkeiten dar, wie Sie Copilot erweitern, anreichern und anpassen können, um die Arbeitsweise Ihrer Kunden anzupassen.

Diagramm des Microsoft Copilot-Technologiestapels. Von unten nach oben: Microsoft Cloud, KI-Infrastruktur, Ihre Daten, Foundation-Modelle, KI-Orchestrierung, Microsoft Copilots | Ihre Copiloten, Teams KI-Bibliothek, Graph-Connectors, Plug-In-Erweiterbarkeit

Das folgende Diagramm veranschaulicht, wie der Copilot für Microsoft 365-Orchestrator das richtige Plug-In mit der richtigen Qualifikation zum richtigen Zeitpunkt auswählt, auch wenn mehrere Optionen zur Auswahl stehen.

Visuelle Darstellung der sequenziellen Schritte im Text, der auf diese Abbildung folgt.

  1. Eingabe in natürlicher Sprache

Der Benutzer sendet eine Abfrage an Copilot, z. B. "Welche Tickets sind mir gerade zugewiesen?"

  1. Vorläufige Überprüfungen

Copilot führt mehrere Überprüfungen der Abfrage durch, einschließlich verantwortungsvoller KI-Überprüfungen und Sicherheitsmaßnahmen, um sicherzustellen, dass sie keine Risiken darstellt. Wenn bei der Abfrage eine dieser Überprüfungen fehlschlägt, beendet Copilot die Interaktion.

  1. Begründung

Der Copilot-Orchestrator formuliert einen Plan, der aus mehreren Aktionen besteht, die er ausführen wird, um auf die Aufforderung des Benutzers zu reagieren.

3a. Kontext- und Toolauswahl:

Der Orchestrator ruft den Konversationskontext des Benutzers aus dem Kontextspeicher ab und integriert Daten aus Microsoft Graph, um den Kontext zu verfeinern. Anschließend wird die anfängliche Abfrage basierend auf diesem aktualisierten Kontext angepasst und an das LLM (large language model) weitergeleitet, um die nächsten Schritte zu leiten. Der LLM kann mit dem Generieren einer Antwort fortfahren, indem er die integrierten Funktionen von Copilot verwendet, oder es kann feststellen, dass zusätzliche Daten erforderlich sind. Wenn weitere Informationen benötigt werden, sucht der Orchestrator anhand der Plug-Ins-Beschreibungen und funktionsbeschreibungen nach den Plug-Ins(Tools) mit der richtigen Qualifikation für die Aufgabe aus den aktivierten Plug-Ins des Benutzers.

3b. Funktionsabgleich und Parameterermittlung:

Der Orchestrator formuliert eine neue Eingabeaufforderung, die die anfängliche Abfrage des Benutzers, den aktualisierten Kontext und die ausgewählten Plug-Ins enthält, und stellt sie dem LLM vor. Der LLM wertet die Eingabe aus und gibt das optimale Plug-In und die funktion innerhalb dieses Plug-Ins an, um die Aufgabe zu beheben. Anschließend werden dem Orchestrator die erforderlichen Funktionsdetails und Parameter bereitgestellt, die zum Sammeln der erforderlichen Informationen erforderlich sind.

3c. Toolausführung:

Der Orchestrator verwendet die Antwort des LLM, um eine API-Anforderung zu erstellen und die Anforderung an den Toolexecutor zu senden, der die angeforderten Informationen sicher abruft, die sich außerhalb der Copilot-Infrastruktur befinden. Es führt die Anforderung aus und sendet die Ergebnisse zur weiteren Verarbeitung zurück an den Orchestrator.

3d. Ergebnisanalyse und Antwortformulierung:

Der Orchestrator integriert die API-Antwort in den laufenden Kontext und konsultiert den LLM in einer kontinuierlichen Argumentationsschleife, bis der LLM es für angemessen hält, eine endgültige Antwort zu generieren.

  1. Antwortend

Der Orchestrator kompiliert alle Informationen, die während des Argumentationsprozesses gesammelt wurden, und übermittelt sie an den LLM, um eine endgültige Antwort zu erstellen. Nachdem sichergestellt wurde, dass die Antwort den Richtlinien für verantwortungsvolle KI entspricht, sendet sie die Antwort zurück an den Orchestrator, der sie im Kontextspeicher protokolliert und über die Copilot-Benutzeroberfläche an den Benutzer übermittelt.

  1. Ausgabe in natürlicher Sprache

Schließlich übermittelt der Orchestrator die Antwort an den Benutzer und aktualisiert den Konversationszustand. Copilot ist bereit für die nächste Aufforderung.

Wenn Sie sich die Aufforderung eines Benutzers zu Copilot wie ein Bauprojekt vorstellen, dann ist der Copilot Orchestrator der Generalunternehmer, der die Arbeit der spezialisierten Subunternehmer koordiniert und organisiert, Ihre Plugins. Ähnlich wie ein Generalunternehmer ist der Orchestrator dafür verantwortlich, sicherzustellen, dass das Projekt gemäß den Spezifikationen abgeschlossen wird, die durch die Eingabe des Benutzers impliziert werden (mit anderen Worten, dass die Antwort von Copilot die Absicht des Benutzers in seiner Anforderung erfüllt).

Es liegt jedoch in der Verantwortung jedes Plug-Ins, Copilot eine genaue Beschreibung seiner Fähigkeiten zur Verfügung zu stellen und seine Fähigkeiten effektiv auszuführen. Dies vermittelt ein Gefühl des Vertrauens in Ihre Benutzer und stellt sicher, dass Copilot Ihr Plug-In jedes Mal aufruft, wenn seine Fähigkeiten benötigt werden. Im nächsten Abschnitt finden Sie weitere Informationen dazu, wie Sie Ihr Plug-In und Ihre OpenAPI-Dokumente optimieren, damit der Orchestrator sie suchen und verwenden kann.

Plug-In-Optimierung

Copilot für Microsoft 365 kann auf einzigartige Weise die richtigen Fähigkeiten aus den vielen in seinem Repertoire auswählen. Aber wie können Sie sicherstellen, dass Copilot Ihr Plug-In wählt, um die richtige Qualifikation bereitzustellen?

Die Antwort liegt darin, wie Sie Ihr Plug-In, seine Fähigkeiten und die Parameter für die Skillausführung beschreiben. Das Angeben präziser und präziser Beschreibungen in Ihrem Plug-In-Manifest ist wichtig, um sicherzustellen, dass der Copilot-Orchestrator weiß, wann und wie Ihr Plug-In aufgerufen werden soll.

Abgleichsmechanismen

Wenn ein Benutzer eine Abfrage an Copilot sendet, durchsucht der Orchestrator seinen vollständigen Katalog von Skills (Funktionen) aus installierten Plug-Ins, um bis zu fünf Skills zu identifizieren, die am besten mit der Abfrage übereinstimmen. Der Orchestrator versucht zunächst, genaue Wörter abzugleichen (lexikalische Übereinstimmung) und erweitert seinen Suchbereich nach Bedarf, um Übereinstimmungen mit beschreibenden Bedeutungen (semantische Übereinstimmung) einzuschließen. Dabei wird von bestimmten Funktionsnamen bis hin zu allgemeinen Plug-In-Beschreibungen gearbeitet, bis alle fünf Funktionskandidaten-Slots gefüllt sind. Hier ist insbesondere die Hierarchie der Abgleichsmechanismen für die Auswahl der Copilot-Plug-In-Funktionen:

  1. Lexikalische Übereinstimmung für Funktionsname.
  2. Semantische Übereinstimmung für funktionsbeschreibung.
  3. Lexikalische Übereinstimmung mit Plug-In-Namen (fügt alle Plug-In-Funktionen zur Kandidatenliste hinzu). Dieser Schritt befindet sich derzeit in der privaten Vorschau.
  4. Semantische Übereinstimmung für Den Plug-In-Namen (fügt alle Plug-In-Funktionen zur Kandidatenliste hinzu).

Der Orchestrator durchläuft die obige Liste, bis alle fünf Funktionskandidatenplätze gefüllt sind.

Die folgenden Abschnitte enthalten Anleitungen und Beispiele für die Erstellung von Namen und Beschreibungen für Plug-Ins, Skills (Funktionen) und Parameter.

Plug-In-Beschreibungen

Plug-In-Beschreibungen sollten die Benutzeraktionen, die Eingabetypen und die Ausgabetypen enthalten, für die Ihr Plug-In vorgesehen ist.

Lange und kurze App-Beschreibungen im App-Manifest müssen den Bereich Ihrer App eindeutig definieren. Um eine App als Plug-In in Copilot zu rendern, muss die App-Beschreibung an die folgenden Plug-In-Anforderungen angepasst werden:

  • Die lange App-Beschreibung muss klar erklären, wie Benutzer ein Nachrichtenerweiterungs-Plug-In in Copilot verwenden können und welche Funktionen sie erwarten können. Verwenden Sie beispielsweise contoso cloud in Copilot, um Ihre Aufgaben zu durchsuchen und zusammenzufassen.
  • Eine kurze Beschreibung muss die Funktionalität der App kurz in einer natürlichen Sprache beschreiben und kann den Namen der App enthalten.

Die folgende Tabelle enthält die kurzen Beschreibungsbeispiele für verschiedene Plug-In-Szenarien:

Beschreibung: Erstellen, Suchen, Anzeigen von Tickets, Fehlern und Projekten.

Beispiel für eine App-Beschreibung:

{
  "$schema": "https://developer.microsoft.com/en-us/json-schemas/teams/v1.16/MicrosoftTeams.schema.json",
  "version": "1.0.0",
  "manifestVersion": "1.16",
  "id": "2bxxxxc5-5xxx-4xxx-aXXX-94xxxx8919e5",
  "name": {
    "short": "Tasks",
    "full": "Contoso Tasks"
  },
  "description": {
    "short": "Create, search, view tickets, bugs, and projects",
    "full": "Contoso Tasks makes it easy to stay organized. Create, assign, and track tasks individually or collaboratively with your team, and see everything come together in one place."
  },

Qualifikationsbeschreibungen

Skillbeschreibungen werden verwendet, um die Eingabeaufforderung des Benutzers in eine Absicht zu interpretieren und diese dann dem relevantesten Skill zuzuordnen, der für Copilot verfügbar ist. Geben Sie an, welche Aktion der Skill verarbeitet, sowie das erwartete Format der Eingabe und Beschreibung der Ausgabe.

Derzeit ist die Unterstützung des Teams-Nachrichtenerweiterungs-Plug-Ins auf Suchbefehle beschränkt, wobei die Unterstützung für Aktionsbefehle in Kürze verfügbar ist.

Beschreibungen von Suchqualifikationen sollten:

  • Konzentrieren Sie sich darauf, was und wie der Befehl sucht (detaillierte Liste) in natürlicher Sprache.
  • Schließen Sie ggf. Verben und Synonyme ein.
  • Konzentrieren Sie sich auf Schlüsselwörter, die wahrscheinlich in der Suchfunktion Ihrer nativen Apps verwendet werden.

Semantische Beschreibung

Die semanticDescription-Eigenschaft wird verwendet, um eine detaillierte Beschreibung eines Befehls für Copilot für Microsoft 365 bereitzustellen. Die semantische Beschreibung für Befehle unterstützt bis zu 5.000 Zeichen und wird nicht auf der Benutzeroberfläche angezeigt. Wenn die semanticDescription Eigenschaft leer bleibt, verwendet Copilot für Microsoft 365 die Informationen im description Feld. Beim Schreiben eines semanticDescriptionmüssen Sie Informationen zu den erwarteten Werten, Grenzwerten und Bereichen für den Befehl angeben.

Die semanticDescription -Eigenschaft ist kein Pflichtfeld. Wenn Sie jedoch im App-Manifest hinzufügen semanticDescription , gelten die vorhandenen Validierungsprüfungen für Kurz-, Parameter- und Befehlsbeschreibungen auch für semantische Beschreibungen.

In der folgenden Tabelle sind Beispiele für Befehle und semantische Beschreibungen für verschiedene Plug-In-Szenarien aufgeführt:

Beschreibung: Suchen Sie nach Aufgaben mit hoher Priorität im Zusammenhang mit Northwind, die morgen fällig sind.

Beispiel für eine Befehlsbeschreibung:

"commands": [
        {
          "id": "Search",
          "type": "query",
          "title": "Tasks",
          "description": "Search for high priority tasks related to Northwind that are due tomorrow",
          "semanticDescription": "Search for issues, epics, stories, tasks, sub tasks, bugs + additional details.",
          "initialRun": true,
          "fetchTask": false,
          "context": [
            "commandBox",
            "compose",
            "message"
          ],

Parameterbeschreibungen

Eine gute Parameterbeschreibung erläutert, was der Parameter ist, nicht die Funktionsweise des Parameters und das erwartete Format.

Wenn Sie direkt im Microsoft Teams-Chat und outlook-E-Mail-Verfassen verwendet werden, können Sie eine Nachrichtenerweiterung verwenden, um jeweils einen Parameter abzufragen. Bei Verwendung als Plug-In unterstützen Suchbefehle für Nachrichtenerweiterungen bis zu fünf Parameter (ein Parameter muss in der Suchleiste der Nachrichtenerweiterung sichtbar sein). Ein Parameter muss über eine gute Beschreibung verfügen, die die erwartete Eingabe beschreiben sollte, einschließlich Format oder Typ.

Die semanticDescription-Eigenschaft wird verwendet, um eine detaillierte Beschreibung eines Befehls für Microsoft Copilot bereitzustellen. Die semantische Beschreibung für Parameter unterstützt bis zu 2.000 Zeichen und wird nicht auf der Benutzeroberfläche angezeigt. Wenn die semanticDescription Eigenschaft leer bleibt, verwendet Copilot die Informationen im description Feld. Beim Schreiben eines semanticDescriptionmüssen Sie Informationen zu den erwarteten Werten, Grenzwerten und Bereichen für den Befehl angeben.

Im Folgenden finden Sie einige Beispiele für einfache und erweiterte Suchanforderungen für verschiedene Plug-In-Szenarien:

Einfache Suche: Suchen Sie nach Aufgaben im Zusammenhang mit Northwind.
Erweiterte Suche: Suchen Sie nach Aufgaben mit hoher Priorität im Zusammenhang mit Northwind, die morgen fällig sind.

Beispiel für eine Parameterbeschreibung:

"parameters": [
    {
        "name": "Name",
        "title": "Project or Task Name",
        "description": "Project name or task name as keyword",
        "inputType": "text"
    },
    {
        "name": "Time",
        "title": "Time",
        "description": "Date or number of days for which to find tasks. Output: Number",
        "semanticDescription": "Date or number of days for which you need tasks for. Output: Number",
        "inputType": "text"
    },
    {
        "name": "Priority",
        "title": "Priority",
        "description": "Priority of tasks. Acceptable values: high, medium, low, NA ",
        "semanticDescription": "Priority of tasks. Acceptable values are high, medium, low, NA",
        "inputType": "text"
    }]

Nächster Schritt

Lernen Sie bewährte Methoden zum Optimieren der Plug-In-Auffindbarkeit und -nützlichkeit in Copilot für Microsoft 365 kennen.