Erstellen deklarativer Agents mithilfe von Microsoft 365 Agents Toolkit und TypeSpec

Ein deklarativer Agent bietet eine zielgerichtete Konversationserfahrung, die von Microsoft 365 Copilot unterstützt wird. Sie definieren ihren Zweck, ihre Anweisungen, ihr Wissen und ihre Handlungen. Dieser Leitfaden zeigt, wie Sie einen deklarativen Agent mithilfe von TypeSpec und Microsoft 365 Agents Toolkit erstellen.

Hinweis

Der in diesem Tutorial erstellte Agent richtet sich an lizenzierte Microsoft 365 Copilot Benutzer. Sie können auch Agents für Microsoft 365 Copilot Chat-Benutzer mit eingeschränkten Funktionen erstellen. Weitere Informationen finden Sie unter Microsoft 365 Copilot Entwicklerlizenzen.

Tipp

Die Work IQ Dev Tools (Vorschau) und das Microsoft 365 Agents Toolkit bieten verwandte Pro-Code-Workflows. Informationen zur Auswahl basierend auf Ihren Fähigkeiten, der Paketroute und der Zielerfahrung finden Sie unter Auswählen von Entwicklungswerkzeugen für Ihr Plug-in.

Hinweis

Deklarative Agents, die auf Microsoft 365 Copilot basieren, werden jetzt in Word und PowerPoint unterstützt.

Voraussetzungen

  • Ein Microsoft 365-Mandant, in den Sie benutzerdefinierte Apps hochladen können. Die Bereitstellung schlägt fehl, wenn der benutzerdefinierte App-Upload nicht aktiviert ist. Informationen zum Aktivieren des benutzerdefinierten App-Uploads finden Sie unter Microsoft 365 Agents Toolkit Anforderungen. Informationen zur Entwicklungsumgebung und zu Lizenzierungsoptionen finden Sie unter Copilot-Entwicklungsumgebung.

Für die in diesem Artikel beschriebenen Schritte benötigen Sie die folgenden Ressourcen:

Hinweis

Die Screenshots und Verweise auf die Benutzeroberfläche in diesem Artikel verwenden eine Releaseversion des Microsoft 365 Agents Toolkit. Vorabversionen können von der dargestellten Benutzeroberfläche abweichen.

Machen Sie sich mit den folgenden Standards und Richtlinien für deklarative Agents für Microsoft 365 Copilot vertraut:

Erstellen eines deklarativen Agents

Beginnen Sie mit der Erstellung eines einfachen deklarativen Agents.

  1. Öffnen Sie Visual Studio Code.

  2. Wählen Sie das Microsoft 365 Agents Toolkit > aus, um einen neuen Agent/eine neue App zu erstellen.

    Screenshot der Schaltfläche

  3. Wählen Sie Deklarativer Agent aus.

    Screenshot der Optionen für

  4. Wählen Sie "Mit TypeSpec für Microsoft 365 Copilot starten" aus, um einen einfachen deklarativen Agent zu erstellen.

  5. Wähle Standardordner, um den Projektstammordner am Standardspeicherort zu speichern.

  6. Geben Sie den Anwendungsnamen einMy Agent, und drücken Sie die Eingabetaste.

  7. Wählen Sie im neuen Visual Studio Code-Fenster, das daraufhin geöffnet wird, Microsoft 365 Agents Toolkit aus. Wählen Sie im Bereich "Lebenszyklus " die Option "Bereitstellen" aus.

    Screenshot der Option

Testen des Agents

  1. Wechseln Sie zur Copilot-Anwendung unter https://m365.cloud.microsoft/chat.

  2. Wählen Sie neben der Schaltfläche "Neuer Chat" das Symbol in der Unterhaltungsschublade aus.

  3. Wählen Sie den deklarativen Agenten Mein Agent aus.

    Screenshot des deklarativen Agents in Copilot

  4. Geben Sie eine Frage an Ihren deklarativen Agenten ein, um sie in Aktion zu sehen.

Hinzufügen von Anweisungen

Anweisungen ändern das Verhalten eines Agenten.

  1. Öffnen Sie die main.tsp Datei, und ersetzen Sie den @instructions Dekorator durch den folgenden Code.

    @instructions("""
      You are an expert at creating poems.
      Every time a user asks a question, you **must** turn the answer into a poem. The poem **must** not use the quote markdown and use regular text.
    """)
    

    Der Inhalt dieses Dekorators wird während der Bereitstellung in die instructions Eigenschaft des Manifests des Agents eingefügt. Weitere Informationen finden Sie unter Deklaratives Agent-Manifestobjekt.

  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent verwendet Ihre aktualisierten Anweisungen, nachdem Sie die Seite neu geladen haben.

Screenshot einer Antwort eines deklarativen Agents basierend auf aktualisierten Anweisungen

Gesprächsstarter hinzufügen

Gesprächsstarter sind Hinweise, die Copilot Benutzern anzeigt, um ihnen die ersten Schritte mit dem deklarativen Agent zu zeigen.

  1. Öffnen Sie die main.tsp Datei, und ersetzen Sie den kommentierten @conversationStarter Dekorator durch den folgenden Inhalt:

    @conversationStarter(#{
      title: "Getting started",
      text: "How can I get started with Agents Toolkit?"
    })
    
    @conversationStarter(#{
      title: "Getting Help",
      text: "How can I get help with Agents Toolkit?"
    })
    

    Weitere Informationen finden Sie unter Objekt für Gesprächsstarter.

  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Die aktualisierten Unterhaltungsstarter sind in Ihrem deklarativen Agent verfügbar, nachdem Sie die Seite aktualisiert haben.

Screenshot der Unterhaltungsstarter aus dem deklarativen Agent in Microsoft 365 Copilot

Hinzufügen von Webinhalten

Die Websuchfunktion ermöglicht es Agenten, den Suchindex in Bing zu verwenden, um auf Benutzeraufforderungen zu reagieren.

  1. Öffne die main.tsp Datei, und füge die WebSearch Funktion im MyAgent Namespace mit dem folgenden Inhalt hinzu.

    namespace MyAgent {
      op webSearch is AgentCapabilities.WebSearch<Sites = [
        {
          url: "https://learn.microsoft.com",
        },
      ]>;
    }
    

    Weitere Informationen finden Sie unter Websuchobjekt.

    Hinweis

    Wenn Sie das Sites Array nicht angeben, kann der Agent auf alle Webinhalte zugreifen.

  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent kann auf Webinhalte zugreifen, um seine Antworten zu generieren, nachdem Sie die Seite neu geladen haben.

Screenshot mit einer Antwort des deklarativen Agents, der Webinhalte enthält

Hinzufügen von OneDrive- und SharePoint-Inhalten

Die SharePoint-Funktion ermöglicht es dem Agenten, OneDrive- und SharePoint-Inhalte als Wissen zu verwenden.

  1. Öffnen Sie die main.tsp Datei, fügen Sie die OneDriveAndSharePoint Funktion im MyAgent Namespace mit dem folgenden Wert hinzu und ersetzen https://contoso.sharepoint.com/sites/ProductSupport Sie sie durch eine SharePoint-Website-URL in Ihrer Microsoft 365-organization.

    namespace MyAgent {
      // Omitted for brevity
      op od_sp is AgentCapabilities.OneDriveAndSharePoint<ItemsByUrl = [
        {
          url: "https://contoso.sharepoint.com/sites/ProductSupport"
        }
      ]>;
      // Omitted for brevity
    }
    

    Weitere Informationen finden Sie unter OneDrive- und SharePoint-Objekt.

    Hinweis

    • URLs sollten ein vollständiger Pfad zu SharePoint-Elementen (Website, Dokumentbibliothek, Ordner oder Datei) sein. Sie können die Option "Direktlink kopieren" in SharePoint verwenden, um den vollständigen Pfad von Dateien und Ordnern abzurufen. Klicken Sie mit der rechten Maustaste auf die Datei oder den Ordner, und wählen Sie "Details" aus. Navigieren Sie zu Pfad , und wählen Sie das Kopiersymbol aus.
    • Wenn Sie das ItemsByUrl Array (oder das alternative ItemsBySharePointIds Array) nicht angeben, kann der Agent auf alle OneDrive- und SharePoint-Inhalte in Ihrer Microsoft 365-organization zugreifen, auf die der angemeldete Benutzer zugreifen kann.
  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent hat Zugriff auf OneDrive- und SharePoint-Inhalte, um seine Antworten zu generieren, nachdem Sie die Seite neu geladen haben.

Screenshot mit einer Antwort des deklarativen Agents, der SharePoint- und OneDrive-Inhalte enthält

Hinzufügen von Teams-Nachrichten

Die Teams-Nachrichtenfunktion ermöglicht es dem Agenten, Teams-Kanäle, Teams und Besprechungschats als Wissen zu nutzen.

  1. Öffnen Sie die main.tsp Datei, fügen Sie die TeamsMessages Funktion im MyAgent Namespace mit dem folgenden Wert hinzu, wobei Sie sie durch einen Teams-Kanal oder eine Team-URL aus Ihrer Organization ersetzenhttps://teams.microsoft.com/l/team/....

    namespace MyAgent {
      // Omitted for brevity
      op teamsMessages is AgentCapabilities.TeamsMessages<TeamsMessagesByUrl = [
        {
          url: "https://teams.microsoft.com/l/team/...",
        }
      ]>;
      // Omitted for brevity
    }
    

    Weitere Informationen finden Sie unter Microsoft Teams-Nachrichtenobjekt.

    Hinweis

    • Die URL in der url Eigenschaft muss ein wohlgeformter Link zu einem Teams-Chat, -Team oder -Besprechungschat sein.
    • Wenn Sie das TeamsMessagesByUrl Array nicht angeben, kann der Agent auf alle Teams-Kanäle, Teams, Besprechungen, 1:1-Chats und Gruppenchats in Ihrer Microsoft 365-organization zugreifen, auf die der authentifizierte Benutzer zugreifen kann.
  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent kann auf Teams-Daten zugreifen, um seine Antworten zu generieren, nachdem Sie die Seite neu geladen haben.

Screenshot mit einer Antwort des deklarativen Agents, die Teams-Inhalte enthält

Hinzufügen von Personenwissen

Mit der Funktion "Kontakte" können Sie den Umfang Ihres Agents festlegen, um Fragen zu Personen in einer organization zu beantworten.

  1. Öffne die main.tsp Datei, und füge die People Funktion im MyAgent Namespace mit dem folgenden Inhalt hinzu.

    namespace MyAgent {
      // Omitted for brevity
      op people is AgentCapabilities.People;
      // Omitted for brevity
    }
    

    Weitere Informationen finden Sie unter People object.

  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent hat Zugriff auf das Wissen der Personen, nachdem Sie die Seite neu geladen haben.

Screenshot mit einer Antwort des deklarativen Agents, die Personenwissen enthält

E-Mail-Wissen hinzufügen

Mit der E-Mail-Funktion können Sie den Umfang Ihres Agents so festlegen, dass er E-Mails aus dem Postfach des Benutzers oder einem freigegebenen Postfach als Wissensquelle verwendet.

  1. Öffne die main.tsp Datei, und füge die Email Funktion im MyAgent Namespace mit dem folgenden Inhalt hinzu.

    namespace MyAgent {
      // Omitted for brevity
      op email is AgentCapabilities.Email<Folders = [
        {
          folder_id: "Inbox",
        }
      ]>;
      // Omitted for brevity
    }
    

    Weitere Informationen finden Sie unter E-Mail-Objekt.

    Hinweis

    • In diesem Beispiel wird auf den Benutzer des Postfachs des Agents zugegriffen. Um stattdessen auf ein freigegebenes Postfach zuzugreifen, fügen Sie die optionale shared_mailbox Eigenschaft hinzu, die für die E-Mail-Adresse des freigegebenen Postfachs festgelegt ist.
    • Das Folders Array beschränkt den Postfachzugriff auf bestimmte Ordner. Wenn Sie auf das gesamte Postfach zugreifen möchten, lassen Sie das folders Array weg.
  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent hat Zugriff auf E-Mail-Wissen, nachdem Sie die Seite neu geladen haben.

Screenshot mit einer Antwort des deklarativen Agents, die E-Mail-Wissen enthält

Bildgenerator hinzufügen

Die Bildgeneratorfunktion ermöglicht es Agenten, Bilder basierend auf Benutzeraufforderungen zu generieren.

  1. Öffne die main.tsp Datei, und füge die GraphicArt Funktion im MyAgent Namespace mit dem folgenden Inhalt hinzu.

    namespace MyAgent {
      // Omitted for brevity
      op graphicArt is AgentCapabilities.GraphicArt;
      // Omitted for brevity
    }
    

    Weitere Informationen finden Sie unter Grafikobjekt.

  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent kann Bilder generieren, nachdem Sie die Seite neu geladen haben.

Screenshot einer Antwort des deklarativen Agents, die generierte Grafiken enthält

Codeinterpreter hinzufügen

Die Codeinterpreterfunktion ist ein erweitertes Tool, das entwickelt wurde, um komplexe Aufgaben durch Python-Code zu lösen.

  1. Öffne die main.tsp Datei, und füge die CodeInterpreter Funktion im MyAgent Namespace mit dem folgenden Inhalt hinzu.

    namespace MyAgent {
      // Omitted for brevity
      op codeInterpreter is AgentCapabilities.CodeInterpreter;
      // Omitted for brevity
    }
    

    Weitere Informationen finden Sie unter Codeinterpreterobjekt.

  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent verfügt über die Codeinterpreterfunktion, nachdem Sie die Seite neu geladen haben.

Screenshot einer Antwort des deklarativen Agents, die ein generiertes Diagramm enthält

Screenshot des Python-Codes, der zum Generieren des angeforderten Graphen verwendet wird

Inhalt für Copilot-Connectors hinzufügen

Fügen Sie dem verfügbaren Wissen für den Agent Elemente, die von einem Copilot-Connector erfasst wurden, hinzu.

  1. Öffnen Sie die main.tsp Datei, und fügen Sie die GraphConnectors Funktion im MyAgent Namespace mit dem folgenden Wert hinzu, wobei Sie sie durch eine gültige Copilot-Connector-ID in Ihrer Microsoft 365-organization ersetzenpolicieslocal. Weitere Informationen zum Suchen von Copilot-Connector-IDs finden Sie unter Abrufen von Funktions-IDs für das deklarative Agentmanifest.

    namespace MyAgent {
      // Omitted for brevity
      op copilotConnectors is AgentCapabilities.GraphConnectors<Connections = [
        {
          connectionId: "policieslocal",
        }
      ]>;
      // Omitted for brevity
    }
    

    Weitere Informationen finden Sie unter Copilot-Connectors-Objekt.

    Hinweis

    Wenn Sie das Connections Array nicht angeben, ruft der Agent Inhalte von allen Copilot-Connectors in Ihrer Microsoft 365-organization ab, auf die der angemeldete Benutzer zugreifen kann.

  2. Wählen Sie im Bereich "Lebenszyklus" des Agents-Toolkits die Option "Bereitstellen" aus.

Der deklarative Agent kann auf Copilot-Connectorsinhalte zugreifen, um seine Antworten zu generieren, nachdem Sie die Seite neu geladen haben.

Screenshot einer Antwort des deklarativen Agents, die Copilot-Connectorinhalt enthält

Abgeschlossen

Sie haben den Leitfaden für deklarative Agents für Microsoft 365 Copilot abgeschlossen. Nachdem Sie nun mit der Verwendung von TypeSpec zum Erstellen eines deklarativen Agents vertraut sind, können Sie in den folgenden Artikeln mehr erfahren.

Nächste Schritte