Uw Microsoft Copilot Studio-agent bewerken in Microsoft Visual Studio Code

Wanneer u de Microsoft Copilot Studio-agent naar uw lokale computer kloont, kunt u de onderdelen ervan bewerken met behulp van de tekstbewerkingsfuncties van Microsoft Visual Studio Code. De Copilot Studio-extensie biedt intelliSense, validatie en YAML-taalondersteuning om het bewerken efficiënt en foutloos te maken.

Agentbestandstructuur

Het begrijpen van de bestandsstructuur is essentieel voor efficiënt bewerken.

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

Bewerk de configuratie van de hoofdagent

IntelliSense-functies

Terwijl je typt, worden suggesties weergegeven en ongeldige waarden gemarkeerd. Deze suggesties veranderen afhankelijk van het niveau van de node waar je bent.

  • Gebruik het Ctrl+Space om suggesties te krijgen op basis van het niveau van de node.
  • Gebruik Ctrl+F het om variabelenamen en andere informatie te zoeken bij je hele agent om snel bij te werken

Problemen bekijken

U kunt problemen met bestanden weergeven in het deelvenster Problems in Visual Studio Code. Ook zie je bij het openen van een bestand een rode onderstreep die problemen aangeeft.

Screenshot van het identificeren van problemen met rode onderstreep in de editor.

Probleempaneel

  1. Gebruik Ctrl+Shift+M om het Probleempaneel te openen (of ga naar Problemen bekijken>).

  2. Bekijk alle fouten en waarschuwingen.

  3. Selecteer een probleem om naar de locatie te springen.

Werken met veranderingen

Wanneer een wijziging wordt aangebracht en opgeslagen, wordt deze weergegeven in een andere kleur in Visual Studio, zodat u deze gemakkelijk kunt herkennen.

Scherm van wijzigingen die zichtbaar zijn in verschillende kleuren in Visual Studio Code.

Componenten van de bewerkingsagent

Topics

Onderwerpen bepalen de gespreksstromen en dialogen. Ze zijn een type AdaptiveDialog.

U kunt GitHub Copilot of andere agents gebruiken om nieuwe-onderdelen te bouwen of om desgewenst uw eigen onderwerpen te schrijven.

Onderwerpbestandsstructuur

Hier is een voorbeeld van een eenvoudig begroetingsonderwerp:

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

Geavanceerde onderwerpsfuncties

Je kunt andere componenten gebruiken in onderwerpen zoals:

  • Entiteiten:

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

      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
    
  • Voorwaarden met 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 knooppunten, bijvoorbeeld HTTP-knooppunten

  • Adaptieve kaarten (aanpasbare kaarten)

Screenshot van geavanceerde onderwerpenfuncties in de editor.

Gereedschappen

Tools definiëren acties die je agent kan uitvoeren. U kunt deze zien in het gebied Tools van de gebruikersinterface van Copilot Studio Agent.

Hulpmiddelen kunnen onder andere zijn:

  • Opdrachten
  • Werkstromen (Power Automate flows)
  • CUA-hulpmiddelen
  • Aangepaste connectoren
  • REST API's
  • MCP-connectoren

Hulpmiddelen verschijnen binnen de extensie onder de /actions map van een agent, maar kunnen ook in andere mappen met extra metadata voorkomen. Bijvoorbeeld, workflows en triggers hebben hun eigen mappen en JSON.

Bewerkingstriggers

Triggers bepalen wanneer onderwerpen of acties worden geactiveerd. Je kunt ze instellen als schema's, evenementen of voorwaardelijke types. Triggers verwijzen meestal naar een workflow.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Beheer externe kennisbestanden

Als u documenten uploadt met de uploadfunctie in Copilot Studio, zijn deze documenten beschikbaar om te downloaden door te klikken op de naam in het venster Remote Knowledge Files. De documenten worden niet automatisch gedownload en moeten in het venster worden geselecteerd om te downloaden. Je ziet een melding wanneer de download succesvol is.

Als je nieuwe bestanden wilt uploaden, kun je ze in de knowledge/files map in de agentdefinitie zetten. Wanneer je die wijzigingen toepast, worden ze geüpload via de functie voor het uploaden van agentinhoud.

Screenshot van het venster Remote Knowledge Files dat beschikbare documenten toont.

Aanbevolen procedures

Naamgevingsconventies

Bestanden:

  • Gebruik kebab-case: create-ticket.tool.yaml
  • Wees beschrijvend: product-pricing-faq.yaml niet faq.yaml
  • Gebruik het typeachtervoegsel: .topic.yaml, .tool.yaml, .trigger.yaml

IDs en variabelen:

  • Gebruik camelCase: userOrderNumber, productDetails
  • Wees beschrijvend: checkPaymentStatus niet check1
  • Vermijd afkortingen: customerEmail niet custEmail

Comments

Om complexe logica uit te leggen, voeg opmerkingen toe:

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

Volgende stappen

Nu je bewerkingen begrijpt: