Bewerk uw Microsoft Copilot Studio-agent in Microsoft Visual Studio Code

Wanneer u de Microsoft Copilot Studio-agent naar uw lokale machine kloont, kunt u de onderdelen bewerken met de tekstbewerkingsfuncties van Microsoft Visual Studio Code. De Copilot Studio-extensie biedt IntelliSense, validatie en ondersteuning voor YAML-taal, zodat u efficiënt en foutloos kunt bewerken.

Agentbestandsstructuur

Een goed begrip van de bestandsstructuur is de sleutel tot 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

Hoofdagentconfiguratie bewerken

IntelliSense-functies

Terwijl u typt, worden suggesties weergegeven en ongeldige waarden gemarkeerd. Deze suggesties veranderen afhankelijk van het niveau van het knooppunt waar u bent.

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

Problemen weergeven

U kunt problemen met bestanden bekijken in het paneel Problemen in Visual Studio Code. Ook ziet u bij het openen van een bestand een rode onderstreep die problemen aangeeft.

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

Deelvenster voor problemen

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

  2. Bekijk alle fouten en waarschuwingen.

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

Werken met wijzigingen

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

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

Agentcomponenten bewerken

Onderwerpen

Onderwerpen definiëren gespreksstromen en dialogen. Ze zijn een type AdaptiveDialog.

U kunt GitHub Copilot of andere agenten gebruiken om nieuwe onderdelen te maken, of, als u wilt, 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 onderwerpfuncties

U kunt in onderwerpen andere onderdelen gebruiken, 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

Schermopname van functies voor geavanceerde onderwerpen in de editor.

Hulpmiddelen

Tools definiëren acties die uw agent kan uitvoeren. U kunt ze zien in de sectie Tools van de Copilot Studio Agent UI.

Tools kunnen onder andere zijn:

  • Prompts
  • Werkstromen (Power Automate-stromen)
  • CUA-hulpmiddelen
  • Aangepaste connectoren
  • REST-API's
  • MCP-connectors

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

Triggers bewerken

Triggers bepalen wanneer onderwerpen of acties worden geactiveerd. U kunt ze instellen als schema's, gebeurtenissen of voorwaardelijke types. Triggers verwijzen meestal naar een werkstroom.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Beheer externe kennisbestanden

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

Als u nieuwe bestanden wilt uploaden, kunt u ze in de knowledge/files map in de agentdefinitie zetten. Wanneer u die wijzigingen toepast, worden ze geüpload via de uploadfunctie voor agentinhoud.

Schermopname van het venster Externe kennisbestanden, waarop de beschikbare documenten te zien zijn.

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

ID's en variabelen:

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

Opmerkingen

Om complexe logica te verduidelijken, voegt u commentaar 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 u begrijpt hoe bewerken werkt: