Freigeben über


Richtlinien zum Erstellen und Aktualisieren von Agents

Wichtig

  • Agents für Microsoft 365 Copilot befinden sich in der Vorschauphase und funktionieren nur in Microsoft 365 Copilot.
  • Nachrichtenerweiterungs-Agents befinden sich in der Vorschauphase.
  • Nachrichtenerweiterungs-Agents in Microsoft 365 Copilot befinden sich in der öffentlichen Vorschau für Microsoft Word und PowerPoint.
  • Stellen Sie sicher, dass Microsoft 365 Copilot für Ihre organization verfügbar ist. Sie haben zwei Möglichkeiten, eine Entwicklerumgebung für Microsoft 365 Copilot zu erhalten:
    • Ein Sandbox-Microsoft 365-Mandant mit Microsoft 365 Copilot (verfügbar in der eingeschränkten Vorschau über die TAP-Mitgliedschaft).
    • Eine Unternehmenskunden-Produktionsumgebung mit Microsoft 365 Copilot Lizenzen. Weitere Informationen zu Validierungsrichtlinien für Agents, um ihre Wahrscheinlichkeit zu erhöhen, im Team Store aufgeführt zu werden, finden Sie unter Validierungsrichtlinien für Agents.

Microsoft 365-Agents ermöglichen die Integration in verschiedene Microsoft 365-Produkte wie Teams und Outlook. Die Integration hilft Benutzern, Inhalte in externen Systemen zu suchen oder zu erstellen. Nachrichtenerweiterungs-Agents ermöglichen Microsoft 365 Copilot die Interaktion mit APIs anderer Software und Dienste über einen Bot. Mit Microsoft 365 Copilot haben Sie folgende Möglichkeiten:

  • Suchen Sie nach den neuesten Informationen oder Datensätzen. Beispielsweise das neueste Incidentticket oder die Umfrageergebnisse.
  • Zusammenfassen von Informationen basierend auf mehreren Datensätzen Fassen Sie beispielsweise alle Incidenttickets im Zusammenhang mit dem Projekt Northwind zusammen.

Es wird empfohlen, dass Sie Ihre vorhandenen Nachrichtenerweiterungen erstellen oder aktualisieren, um deren Nützlichkeit und Benutzerfreundlichkeit in Microsoft 365 Copilot zu maximieren. Nachrichtenerweiterungen müssen mindestens einen Suchbefehl unterstützen. Da Microsoft 365 Copilot sie als Fähigkeiten erkennt, kann sie Befehle im Namen des Benutzers ausführen.

Die Grafik zeigt die Benutzererfahrung zwischen Microsoft Teams und Microsoft 365 Copilot.

Definieren von App-, Befehls- und Parameterbeschreibungen

[Muss behoben werden]

Eine gute Beschreibung bietet eine klare und präzise Zusammenfassung der Features der App und ermöglicht es Microsoft 365 Copilot, Suchvorgänge effizient zu ermitteln und auszuführen. Wenn ein Benutzer den App-Namen zusammen mit einem Verb eingibt, z. B. "Contoso-Tickets suchen", muss der Nachrichtenerweiterungs-Agent von Microsoft 365 Copilot aufgerufen werden.

Screenshot eines Passszenarios mit einem Beispiel für eine Beispielaufforderung für den Nachrichtenerweiterungs-Agent in Microsoft 365 Copilot.

Screenshot: Fehlerszenario ohne Beispiel einer Beispielaufforderung für die Nachrichtenerweiterung als Agent in Microsoft 365 Copilot.

App-Beschreibung

Lange und kurze App-Beschreibungen müssen klar sein und den App-Bereich definieren. Um eine App als Agent in Microsoft 365 Copilot zu rendern, ändern Sie die App-Beschreibung so, dass sie den folgenden Agent-Anforderungen entspricht:

  • Eine lange Beschreibung muss die Funktionalität und Verwendung des Nachrichtenerweiterungs-Agents in Microsoft 365 Copilot klar erklären. Verwenden Sie beispielsweise contoso cloud in Microsoft 365 Copilot, um Ihre Aufgaben zu durchsuchen und zusammenzufassen.
  • Eine kurze Beschreibung muss die Funktionalität der App in einer natürlichen Sprache kurz beschreiben und kann den Namen der App enthalten.

Die folgenden Codeausschnitte zeigen die kurzen Beschreibungsbeispiele für jede Kategorie:

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.13/MicrosoftTeams.schema.json",
  "version": "1.0.0",
  "manifestVersion": "1.13",
  "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."
  },

Beschreibung des Suchbefehls

Die Befehlsbeschreibung ordnet die Benutzerabsicht und -äußerung dem Suchbefehl innerhalb eines Agents zu und muss basierend auf der Analyse der Benutzerabsicht und der Schlüsselwörter erstellt werden. Beschreibungen von Suchbefehlen müssen:

  • 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

[Gut zu beheben]

Die semanticDescription-Eigenschaft wird verwendet, um eine detaillierte Beschreibung eines Befehls für Microsoft 365 Copilot 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 Microsoft 365 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.

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.

Die folgenden Codeausschnitte zeigen die Beispiele für Befehle und semantische Beschreibungen für jede Kategorie:

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"
          ],

Wichtig

Stellen Sie zum Aktivieren des OAuth-Anmeldelinks im Agent sicher, dass Sie die initialRun -Eigenschaft für Suchbefehle im App-Manifest auf true festlegen.

Parameterbeschreibung

Jeder Nachrichtenerweiterungsbefehl verfügt über eine entsprechende parameters Eigenschaft, die bis zu fünf Parameter unterstützt. Der erste Parameter muss in der Suchleiste der Nachrichtenerweiterung angezeigt werden. Ein Parameter muss über eine gute Beschreibung verfügen, die eine Kombination aus zulässigen Parametern, Enumerationen, Akronymen und Ausgabeformat enthalten muss.

Die semanticDescription-Eigenschaft wird verwendet, um eine detaillierte Beschreibung eines Befehls für Microsoft 365 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 Microsoft 365 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.

Eine gute Parameterbeschreibung erläutert die Anforderungen des Systems in einer natürlichen Sprache mit Ausgabeformat. Im Folgenden finden Sie einige Beispiele für einfache und erweiterte Suchanforderungen für jede Kategorie:

  • 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 you need tasks for.",
        "semanticDescription": "Date or number of days for which you need tasks for. Output: Number",
        "inputType": "text"
    },
    {
        "name": "Priority",
        "title": "Priority",
        "description": "Priority of tasks.",
        "semanticDescription": "Priority of tasks. Acceptable values are high, medium, low, NA",
        "inputType": "text"
    }] 

Verbessern der Nachrichtenerweiterung zum Abrufen von Informationen durch zusammengesetzte Äußerungen

[Muss behoben werden]

Hinweis

Das Durchsuchen des Dialogfelds (in TeamsJS v1.x als Aufgabenmodul bezeichnet) wird in Microsoft 365 Copilot nicht unterstützt.

Für Microsoft 365 Copilot muss eine suchbasierte Nachrichtenerweiterung mehr als drei eindeutige Verbundäußerungen unterstützen, um genaue Informationen umfassend abzurufen. Um zusammengesetzte Äußerungen zu aktivieren, müssen Sie den Suchbereich erweitern, um drei oder mehr Parameter zu behandeln, indem Sie das App-Manifest (zuvor als Teams-App-Manifest bezeichnet) aktualisieren und Folgendes sicherstellen:

  • Aktualisieren Sie Ihren Webdienst, um die Suche basierend auf mehreren Parametern zu unterstützen. Weitere Informationen zum Reagieren auf Benutzeranforderungen finden Sie unter Antwort auf suchbefehl.

  • Microsoft 365 Copilot können eine leere Zeichenfolge oder einen NULL-Wert für Parameter übergeben, die nicht Teil der Benutzeräußerung sind. Aktualisieren Sie Ihren Webdienst, um die Parameter zu behandeln.

  • Eine Nachrichtenerweiterung unterstützt bis zu 10 Befehle (9 verwendbar), und jeder Befehl verfügt über eine entsprechende parameters Eigenschaft, die bis zu fünf Parameter unterstützt.


Der folgende Code ist ein Beispiel für mehrere Parameter, die im App-Manifest definiert sind:
"commands": [
                {
                    "id": "inventorySearch",
                    "context": [
                        "compose",
                        "commandBox"
                    ],
                    "description": "Search products by name, category, inventory status, supplier location, stock level",
                    "title": "Product inventory",
                    "type": "query",
                    "parameters": [
                        {
                            "name": "productName",
                            "title": "Product name",
                            "description": "Enter a product name here",
                            "inputType": "text"
                        },
                        {
                            "name": "categoryName",
                            "title": "Category name",
                            "description": "Enter the category of the product",
                            "inputType": "text"
                        },
                        {
                            "name": "inventoryStatus",
                            "title": "Inventory status",
                            "description": "Enter what status of the product inventory. Possible values are 'in stock', 'low stock', 'on order', or 'out of stock'",
                            "inputType": "text"
                        },
                        {
                            "name": "supplierCity",
                            "title": "Supplier city",
                            "description": "Enter the supplier city of product",
                            "inputType": "text"
                        },
                        {
                            "name": "stockQuery",
                            "title": "Stock level",
                            "description": "Enter a range of integers such as 0-42 or 100- (for >100 items). Only use if you need an exact numeric range.",
                            "inputType": "text"
                        }
                    ]
                },
                {
                    "id": "discountSearch",
                    "context": [
                        "compose",
                        "commandBox"
                    ],
                    "description": "Search for discounted products by category",
                    "title": "Discounts",
                    "type": "query",
                    "parameters": [
                        {
                            "name": "categoryName",
                            "title": "Category name",
                            "description": "Enter the category to find discounted products",
                            "inputType": "text"
                        }
                    ]
                },
                {
                    "id": "revenueSearch",
                    "context": [
                        "compose",
                        "commandBox"
                    ],
                    "description": "Find products based on their revenue/period",
                    "title": "Revenue",
                    "type": "query",
                    "parameters": [
                        {
                            "name": "revenueRange",
                            "title": "Revenue range",
                            "description": "Enter 'high' or 'low' or enter a range of integers such as 0-10000 or 5000- using this exact format",
                            "inputType": "text"
                        }
                    ]
                }
            ]

Screenshot: Beispiel für ein Pass-Szenario, bei dem die Northwind-App eine Antwort für meeresfrüchte und in stock-Parametern zurückgibt.

Die Suchparameter müssen über gute Beschreibungen mit zulässigen Parametern, Enumerationen, Akronymen und Ausgabeformat verfügen. Weitere Informationen und Beispiele finden Sie unter Parameterbeschreibung.

Definieren von Beispieleingabeaufforderungen

[Muss behoben werden]

Die samplePrompts -Eigenschaft führt Benutzer zur Verwendung der verschiedenen Agents in Microsoft 365 Copilot. Microsoft 365 Copilot verwendet die Beispieleingabeaufforderungen, um die Eingabeaufforderungen für den Benutzer anzuzeigen. Die Eingabeaufforderungen müssen an verschiedene Gebietsschemas angepasst und über verschiedene Befehle hinweg klar sein. Beispieleingabeaufforderungen sind für die First Run Experience (FRE) in Microsoft 365 Copilot verfügbar, wenn ein Benutzer einen Agent zum ersten Mal installiert oder aktiviert.

Screenshot: Beispieleingabeaufforderungen, die angezeigt werden, wenn der Nachrichtenerweiterungs-Agent in Microsoft 365 Copilot aktiviert ist

Hinweis

  • Wenn das App-Manifest die samplePrompts -Eigenschaft nicht angibt, werden die Eingabeaufforderungen nicht angezeigt.
  • Die samplePrompts -Eigenschaft ist für die App-Überprüfung während des App-Übermittlungsprozesses obligatorisch.
  • Wenn Sie mehrere Befehle für Ihre App definieren, werden dem Benutzer maximal drei Eingabeaufforderungen (eine von jedem der drei obersten Befehle) angezeigt. Die Eingabeaufforderungen werden rotiert, um dem Benutzer verschiedene Eingabeaufforderungen für verschiedene Befehle zur Verfügung zu stellen.

Der folgende Code ist ein Beispiel für die samplePrompts -Eigenschaft im App-Manifest:

"composeExtensions": [
 {
  "canUpdateConfiguration": true,
  "botId": "bxxxxxx5-xxxx-xxxx-xxxx-4xxxxxx16599",
  "commands": [
   {
    "id": "orders",
    "title": "Orders",
    "context": [
     "Commandbox",
     "Compose"
    ],
    "description": "Search for orders",
    "semanticDescription": "Search for orders",
    "samplePrompts": [
     {
      "text": "Search for all orders"
     },
     {
      "text": "Search for orders related to Contoso"
     },
     {
      "text": "Search for all pending orders"
     },
     {
      "text": "Search for all completed ordered for Fabrikam"
     }
    ]
   }
  ]
 }
]

Erstellen umfassender Antworten für adaptive Karten

[Muss behoben werden]

Nachrichtenerweiterungen reagieren auf eine Benutzereingabe mit einer adaptiven Karte. Eine adaptive Karte für einen Nachrichtenerweiterungs-Agent muss effektiv funktionieren, reich sein und die folgenden Anforderungen erfüllen:

  • Die Antwort für adaptive Karten muss Inhalte für adaptive Karten enthalten und eine Vorschau Karte Informationen als Teil derselben Vorlage enthalten. [Muss behoben werden]

    Screenshot: Beispiel einer Beispiel-App, die zeigt App Microsoft 365 Copilot Antwort vorschau und Inhalt in derselben Antwort enthält.


    Beispiel für eine Antwortvorlage für adaptive Karten
    {
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
        "type": "AdaptiveCard",
        "version": "1.5",
        "body": [
          {
            "type": "Container",
            "items": [
              {
                "type": "TextBlock",
                "text": "${companyName}",
                "size": "Medium",
                "wrap": true,
                "style": "heading"
              },
              {
                "type": "TextBlock",
                "text": "${stockExchange} ${stockSymbol}",
                "isSubtle": true,
                "spacing": "None",
                "wrap": true
              },
              {
                "type": "TextBlock",
                "text": "${formattedDate} ${formattedTime}",
                "wrap": true
              }
            ]
          },
          {
            "type": "Container",
            "spacing": "None",
            "items": [
              {
                "type": "ColumnSet",
                "columns": [
                  {
                    "type": "Column",
                    "width": "stretch",
                    "items": [
                      {
                        "type": "TextBlock",
                        "text": "${currentPrice} ",
                        "size": "ExtraLarge",
                        "wrap": true
                      },
                      {
                        "type": "TextBlock",
                        "text": "${priceChange} ${percentChange}",
                        "color": "${changeColor}",
                        "spacing": "None",
                        "wrap": true
                      }
                    ]
                  },
                  {
                    "type": "Column",
                    "width": "auto",
                    "items": [
                      {
                        "type": "FactSet",
                        "facts": [
                          {
                            "title": "Open",
                            "value": "${openPrice} "
                          },
                          {
                            "title": "High",
                            "value": "${highPrice} "
                          },
                          {
                            "title": "Low",
                            "value": "${lowPrice} "
                          }
                        ]
                      }
                    ]
                  }
                ]
              }
            ]
          }
        ],
        "previewCard": {
          "contentType": "application/vnd.microsoft.card.hero",
          "content": {
            "title": "${companyName}",
            "text": "${stockSymbol}"
          }
        }
      }
    

    Hinweis

    Aktionstypen imBack und messageBack werden in einem Datenobjekt nicht unterstützt.

    Folgende Aktionstypen werden empfohlen:

    • Action.OpenUrl: Öffnet eine angegebene URL aus dem Karte.
    • Action.ToggleVisibility: Zeigt ein oder mehrere Elemente im Karte an oder blendet es aus.
    • Action.Execute: Erfasst die Eingabefelder und sendet sie als Anforderung an Ihren Botdienst.
    • Action.Submit: Öffnet ein Dialogfeld oder eine Stageview mit Typaufruf im Datenobjekt.

    Die Grafik zeigt ein Beispiel für die Aktionsschaltflächen

  • Wenn ein Benutzer Informationen auf dem Karte über ein Dialogfeld, eine Stageview oder direkt aus dem Karte ändern kann, wird empfohlen, dass adaptive Karten universelle Aktionen und automatische Aktualisierungen unterstützen. [Empfohlen]

  • Adaptive Karten müssen eine URL als Teil der Metadaten enthalten, sodass Karten problemlos von einem Hub zu einem anderen kopiert werden können. [Empfohlen]

  • Abgesehen von Miniaturansichten muss jedes Bild in einer adaptiven Karte einen Alternativtext aufweisen. [Empfohlen]

Nachrichtenerweiterungs-Agents in Microsoft 365 Copilot-Apps

[Muss behoben werden]

Wichtig

Nachrichtenerweiterungs-Agents in Microsoft 365 Copilot-Apps befinden sich in der eingeschränkten privaten Vorschau für Word und PowerPoint. Weitere Details, die veröffentlicht werden sollen, nachdem eine öffentliche Vorschau angekündigt wurde.

Agents passen die Microsoft 365 Copilot Erfahrung an und erweitern sie, indem sie mehr Fähigkeiten und Wissen in Microsoft 365 Copilot für eine personalisierte Benutzererfahrung einbringen. Durch die Verwendung von Agents, bei denen es sich um eine Teilmenge von Agents handelt, können Benutzer zusätzliche Funktionen in Microsoft 365 Copilot integrieren, indem sie mit Anwendungen von Drittanbietern interagieren, unabhängig davon, ob sie Informationen innerhalb dieser Apps abrufen oder ändern. Für instance erleichtern Nachrichtenerweiterungs-Agents die Suche nach Daten in anderen Anwendungen, sodass Microsoft 365 Copilot sie auf Anforderung präsentieren können, wenn der Agent aktiviert wird.

Wenn Sie einen Agent für Microsoft 365 Copilot in Teams oder copilot.microsoft.com entwickelt haben, sind Sie sich bereits der Vorteile bewusst, die er benutzern innerhalb ihres Workflows bietet.

Codebeispiele

Beispielname Beschreibung TypeScript
Northwind-Bestandsnachrichtenerweiterung In diesem Beispiel wird veranschaulicht, wie Eine Teams-Nachrichtenerweiterung als Agent in Microsoft 365 Copilot verwendet wird. Anzeigen

Siehe auch