Bearbeiten Sie Ihren Microsoft Copilot Studio-Agenten in Microsoft Visual Studio Code

Wenn Sie den Microsoft Copilot Studio Agent auf Ihren lokalen Computer klonen, können Sie dessen Komponenten mithilfe der Textbearbeitungsfeatures von Microsoft Visual Studio Code bearbeiten. Die Copilot Studio-Erweiterung bietet IntelliSense-, Validierungs- und YAML-Sprachunterstützung, um die Bearbeitung effizient und fehlerfrei zu gestalten.

Agenten-Dateistruktur

Das Verständnis der Dateistruktur ist der Schlüssel zum effizienten 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 Sie die Hauptagentenkonfiguration

IntelliSense-Funktionen

Während du tippst, werden Vorschläge angezeigt und ungültige Werte hervorgehoben. Diese Vorschläge ändern sich je nach Level des Knotens, auf dem du dich befindest.

  • Nutze es Ctrl+Space , um Vorschläge basierend auf dem Level des Knotens einzuholen.
  • Verwenden Sie Ctrl+F, um Variablennamen und andere Informationen innerhalb des gesamten Agenten zu durchsuchen und schnell zu aktualisieren.

Anzeigeprobleme

Sie können Probleme mit Dateien im bereich Problems im Visual Studio Code anzeigen. Außerdem sieht man, wenn man eine Datei öffnet, eine rote Unterstrichung für Probleme.

Screenshot der Identifizierung von Problemen mit roter Unterstreichung im Editor.

Problemübersicht

  1. Öffnen Sie Ctrl+Shift+M den Probleme Bereich (oder gehen Sie zu Ansicht>Probleme).

  2. Sehen Sie alle Fehler und Warnungen an.

  3. Wählen Sie ein beliebiges Problem aus, um zum Ort zu springen.

Arbeit mit Veränderungen

Wenn eine Änderung vorgenommen und gespeichert wird, wird sie in Visual Studio in einer anderen Farbe angezeigt, damit Sie sie leicht identifizieren können.

Screenshot der Änderungen, die in Visual Studio Code in einer anderen Farbe sichtbar sind.

Komponenten des Editieragenten

Thema

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

Sie können GitHub Copilot oder andere Werkzeuge verwenden, um neue-Komponenten zu erstellen, oder, wenn Sie möchten, eigene Beiträge 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 Themenfunktionen

Sie können andere Komponenten in Themen wie folgende verwenden:

  • 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, zum Beispiel HTTP-Knoten,

  • Adaptive Karten

Screenshot der erweiterten Themenfunktionen im Editor.

Extras

Tools definieren die Maßnahmen, die Ihr Agent ausführen kann. Sie können sie im Bereich Tools der benutzeroberfläche des Copilot Studio-Agents sehen.

Zu den Werkzeugen können gehören:

  • Aufforderungen
  • Workflows (Power Automate Flüsse)
  • CUA-Werkzeuge
  • Benutzerdefinierte Konnektoren
  • REST-APIs
  • MCP-Stecker

Werkzeuge erscheinen innerhalb der Erweiterung unter dem /actions Ordner eines Agenten, können aber auch in anderen Ordnern mit zusätzlichen Metadaten erscheinen. Zum Beispiel haben Workflows und Trigger eigene Ordner und JSON.

Triggers bearbeiten

Auslöser bestimmen, wann Themen oder Handlungen aktiviert werden. Du kannst sie als Zeitpläne, Ereignisse oder bedingte Typen festlegen. Trigger beziehen sich typischerweise auf einen Workflow.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Verwaltung von entfernten Wissensdateien

Wenn Sie Dokumente mithilfe des Uploadfeatures in Copilot Studio hochladen, stehen diese Dokumente zum Herunterladen zur Verfügung, indem Sie im Fenster Remote Knowledge Files auf den Namen klicken. Die Dokumente werden nicht automatisch heruntergeladen und müssen im Fenster zum Download ausgewählt werden. Du siehst eine Benachrichtigung, wenn der Download erfolgreich ist.

Wenn du neue Dateien hochladen möchtest, kannst du sie in den knowledge/files Ordner in der Agenten-Definition legen. Wenn du diese Änderungen anwendest, werden sie über die Agenten-Inhalts-Upload-Funktion hochgeladen.

Screenshot des Remote Knowledge Files-Fensters, das verfügbare Dokumente zeigt.

Bewährte Vorgehensweisen

Benennungskonventionen

Akten:

  • Verwenden Sie Kebab-Case: create-ticket.tool.yaml
  • Sei beschreibend: 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
  • Sei beschreibend: checkPaymentStatus nicht check1
  • Vermeide Abkürzungen: customerEmail nicht custEmail

Kommentare

Um komplexe Logik zu erklären, fügen Sie Anmerkungen 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 du das Bearbeiten verstehst: