Freigeben über


Bearbeite deinen Microsoft Copilot Studio Agenten in Microsoft Visual Studio Code

Wenn du den Microsoft Copilot Studio Agenten auf deinen lokalen Rechner klonst, kannst du seine Komponenten mit den Textbearbeitungsfunktionen von Microsoft Visual Studio Code bearbeiten. Die Copilot Studio-Erweiterung bietet IntelliSense, Validierung und YAML-Sprachunterstützung, um das Bearbeiten effizient und fehlerfrei zu machen.

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.
  • Nutze es Ctrl+F , um Variablennamen und andere Informationen über den gesamten Agenten zu suchen, um schnell zu aktualisieren

Ansichtsprobleme

Du kannst Probleme mit Dateien im Problems-Menü in 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.

Problemfenster

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

  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, erscheint sie in Visual Studio in einer anderen Farbe, sodass man sie leicht erkennen kann.

Screenshot von Änderungen, die in verschiedenen Farben im Visual Studio Code sichtbar sind.

Komponenten des Bearbeitungsagenten

Themen

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

Du kannst GitHub Copilot oder andere Agenten nutzen, um neue Komponenten zu bauen, oder, wenn du möchtest, 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 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-Effekten:

                - 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.

Tools

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

Zu den Werkzeugen können gehören:

  • Aufforderungen
  • Workflows (Power Automate-Flows)
  • 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 ü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. 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 Methoden

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: