Bearbeiten Sie Ihren Microsoft Copilot Studio Agent in Microsoft Visual Studio Code

Wenn Sie den Microsoft Copilot Studio-Agent auf Ihren lokalen Rechner klonen, können Sie dessen Komponenten mithilfe der Textbearbeitungsfunktionen von Microsoft Visual Studio Code bearbeiten. Die Copilot Studio-Erweiterung bietet IntelliSense, Validierung und YAML-Sprachunterstützung, um effizientes und fehlerfreies Bearbeiten zu ermöglichen.

Agent-Dateistruktur

Ein gutes Verständnis der Dateistruktur ist entscheidend für effizientes Bearbeiten.

my-agent/
├── actions                   # Connectors
│   ├── DevOpsAction.mcs.yml  
│   └── GetItems.mcs.yml      
├── knowledge/files                # Knowledge sources
│   ├── source1.yaml
│   └── source2.yaml
├── topics/                   # Conversation topics
│   ├── greeting.mcs.yaml
│   ├── help.mcs.yaml
│   └── escalate.mcs.yaml
├── workflows/                    # Agent tools and actions
│   └── GetDevOpsItems
│       ├── metadata.yaml
│       └── workflow.json
│   └── GetMeetings
│       ├── metadata.yaml
│       └── workflow.json
├── trigger/                 # Event triggers
│   └── welcometrigger.mcs.yaml
├── agent.mcs.yaml                # Main agent definition
├── icon.png                      # Icon used for the agent, visible in test panel and in supported channels
├── settings.mcs.yml              # Configuration settings for the agent
└── connectioreferences.mcs.yml   # Connection References used by Connectors and other actions

Bearbeiten der Haupt-Agent-Konfiguration

IntelliSense-Features

Während Sie tippen, werden Vorschläge angezeigt und ungültige Werte hervorgehoben. Diese Vorschläge ändern sich abhängig von der Ebene des Knotens, auf der Sie sich befinden.

  • Nutzen Sie Ctrl+Space, um Vorschläge basierend auf dem Level des Knotens einzuholen.
  • Nutzen Sie Ctrl+F, um Variablennamen und andere Informationen über den gesamten Agent zu suchen, um schnell zu aktualisieren

Probleme anzeigen

Sie können Probleme mit Dateien im Probleme-Bereich in Visual Studio Code anzeigen. Außerdem sieht man, wenn man eine Datei öffnet, eine rote Unterstreichung für Probleme.

Screenshot, der Probleme durch rote Unterstreichung im Editor zeigt.

Problemübersicht

  1. Öffnen Sie mit Ctrl+Shift+M den Bereich Probleme (oder wählen Sie Ansicht>Probleme).

  2. Alle Fehler und Warnungen anzeigen

  3. Wählen Sie ein Problem aus, um zur Stelle zu springen.

Arbeiten mit Änderungen

Wenn eine Änderung vorgenommen und gespeichert wird, erscheint sie in Visual Studio in einer anderen Farbe, sodass man sie leicht erkennen kann.

Screenshot von Änderungen, die in Visual Studio Code in einer anderen Farbe angezeigt werden

Agent-Komponenten bearbeiten

Themen

Themen definieren Gesprächsabläufe und Dialoge. Sie sind eine Art von AdaptiveDialog.

Sie können GitHub Copilot oder andere Agents nutzen, um neue Komponenten zu erstellen, oder, wenn Sie möchten, eigene Themen schreiben.

Themendateistruktur

Hier ist ein Beispiel für ein einfaches Begrüßungsthema:

# This is the name of the topic that will appear in the 'topics' list in Copilot Studio

kind: AdaptiveDialog
beginDialog:
  kind: OnConversationStart
  id: main
  actions:
    - kind: SendActivity
      id: sendMessage_M0LuhV
      activity:
        text:
          - Hello, I'm {System.Bot.Name}. How can I help?
        speak:
          - Hello and thank you for calling {System.Bot.Name}.

Erweiterte Themen-Funktionen

Sie können weitere Komponenten in Themen verwenden, wie beispielsweise die folgenden:

  • Entitäten:

                - kind: Question
                  id: question_1
                  alwaysPrompt: true
                  variable: init:Topic.Continue
                  prompt: Can I help with anything else?
                  entity: BooleanPrebuiltEntity
    
  • Variablen:

      actions:
        - kind: Question
          id: 41d42054-d4cb-4e90-b922-2b16b37fe379
          conversationOutcome: ResolvedImplied
          alwaysPrompt: true
          variable: init:Topic.SurveyResponse
          prompt: Did that answer your question?
          entity: BooleanPrebuiltEntity
    
  • Bedingungen mit Power Fx:

                - kind: ConditionGroup
                  id: condition-1
                  conditions:
                    - id: condition-1-item-0
                      condition: =Topic.Continue = true
                      actions:
                        - kind: SendActivity
                          id: sendMessage_4eOE6h
                          activity: Go ahead. I'm listening.
    
  • Andere Knoten, z. B. HTTP-Knoten

  • Adaptive Karten

Screenshot der fortgeschrittenen Themenfunktionen im Editor.

Tools

Tools definieren die Aktionen, die Ihr Agent ausführen kann. Sie können sie im Tools-Bereich der Benutzeroberfläche des Copilot Studio Agents finden.

Tools können enthalten:

  • Prompts
  • Workflows (Power Automate-Flows)
  • CUA-Tools
  • Benutzerdefinierte Konnektoren
  • REST-APIs
  • MCP-Konnektoren

Werkzeuge befinden sich innerhalb der Erweiterung im „/actions“-Ordner eines Agents, können aber auch in anderen Ordnern mit zusätzlichen Metadaten vorkommen. So haben zum Beispiel Workflows und Trigger jeweils eigene Ordner und JSON.

Trigger bearbeiten

Trigger definieren, wann Themen oder Aktionen ausgelöst werden. Sie können als Zeitpläne, Ereignisse oder bedingungsbasierte Typen festgelegt werden. Trigger beziehen sich typischerweise auf einen Workflow.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Entfernte Wissensdateien verwalten

Wenn Sie Dokumente über die Upload-Funktion in Copilot Studio hochladen, können diese Dokumente durch Klicken auf den Namen im Remote Knowledge Files-Fenster heruntergeladen werden. Die Dokumente werden nicht automatisch heruntergeladen und müssen im Fenster zum Download ausgewählt werden. Sie erhalten eine Benachrichtigung, wenn der Download erfolgreich ist.

Wenn Sie neue Dateien hochladen möchten, können Sie diese im knowledge/files-Ordner in der Agent-Definition ablegen. Wenn Sie diese Änderungen übernehmen, werden sie über die „Upload-Funktion für Agent-Inhalte“ hochgeladen.

Screenshot des Fensters „Remote Knowledge Files“, in dem verfügbare Dokumente angezeigt werden.

Bewährte Methoden

Namenskonventionen

Dateien:

  • Verwenden Sie Kebab-Case: create-ticket.tool.yaml
  • Beschreiben Sie: product-pricing-faq.yaml nicht faq.yaml
  • Verwenden Sie das Typsuffix: .topic.yaml, .tool.yaml, .trigger.yaml

IDs und Variablen:

  • Verwenden Sie camelCase: userOrderNumber, productDetails
  • Beschreiben Sie: checkPaymentStatus nicht check1
  • Vermeiden Sie Abkürzungen: customerEmail nicht custEmail

Anmerkungen

Um komplexe Logik zu erklären, fügen Sie Kommentare hinzu:

nodes:
  # Check if user is within business hours and eligible for live support
  # Business hours: 9 AM - 5 PM EST, Monday-Friday
  # Eligibility: Premium tier customers only
  - id: check-live-support-availability
    type: condition

Nächste Schritte,

Jetzt, wo Sie das Bearbeiten verstehen: