Redigere Microsoft Copilot Studio-agenten i Microsoft Visual Studio Code

Når du kloner Microsoft Copilot Studio agenten til den lokale maskinen, kan du redigere komponentene ved hjelp av tekstredigeringsfunksjonene i Microsoft Visual Studio Code. Utvidelsen Copilot Studio gir støtte for IntelliSense, validering og YAML-språk for å gjøre redigering effektiv og feilfri.

Agentfilstruktur

Å forstå filstrukturen er nøkkelen til effektiv redigering.

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

Rediger hovedagentkonfigurasjonen

IntelliSense-funksjoner

Mens du skriver, vises forslag og ugyldige verdier markeres. Disse forslagene endrer seg avhengig av nivået på noden du er på.

  • Bruk den Ctrl+Space for å få forslag basert på nivået på noden.
  • Bruk Ctrl+F den til å søke etter variabelnavn og annen informasjon på tvers av hele agenten din for å oppdatere raskt

Visningsproblemer

Du kan vise problemer med filer i Problems-ruten i Visual Studio Code. Når du åpner en fil, kan du også se en rød understrekning som identifiserer problemer.

Skjermbilde av å identifisere problemer med rød understreking i editoren.

Problempanel

  1. Bruk Ctrl+Shift+M den for å åpne Problemer-panelet (eller gå til Vis>Problemer).

  2. Se alle feil og advarsler.

  3. Velg et hvilket som helst problem for å hoppe til stedet.

Å jobbe med endringer

Når en endring gjøres og lagres, vises den i en annen farge i Visual Studio, slik at du enkelt kan identifisere den.

Bilde av endringer som er synlige i en annen farge i Visual Studio Code.

Redigeringsagentkomponenter

Emner

Temaer definerer samtaleflyt og dialoger. De er en type AdaptiveDialog.

Du kan bruke GitHub Copilot eller andre agenter til å bygge nye komponenter eller, hvis du vil, skrive dine egne emner.

Emnefilstruktur

Her er et eksempel på et enkelt hilsenstema.

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

Avanserte temafunksjoner

Du kan bruke andre komponenter i emner som:

  • Enhetene:

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

      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
    
  • Forhold ved bruk av 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.
    
  • Andre noder, for eksempel HTTP-noder

  • Dynamiske kort

Skjermbilde av avanserte emner i editoren.

Verktøy

Verktøyene definerer handlingene agenten din kan utføre. Du kan se dem i Tools-området i Copilot Studio Agent UI.

Verktøy kan inkludere:

  • Spørringer
  • Arbeidsflyter (Power Automate prosesser)
  • CUA-verktøy
  • Egendefinerte koblinger
  • REST-API-er
  • MCP-kontakter

Verktøy vises i utvidelsen under agentens /actions mappe, men kan også vises i andre mapper med ekstra metadata. For eksempel har arbeidsflyter og triggere egne mapper og JSON.

Rediger triggere

Triggere definerer når temaer eller handlinger aktiveres. Du kan sette dem som tidsplaner, hendelser eller betingede typer. Triggere refererer vanligvis til en arbeidsflyt.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Administrer eksterne kunnskapsfiler

Hvis du laster opp dokumenter ved hjelp av opplastingsfunksjonen i Copilot Studio, er disse dokumentene tilgjengelige for nedlasting ved å klikke på navnet i vinduet Remote Knowledge Files. Dokumentene lastes ikke ned automatisk og må velges for nedlasting i vinduet. Du ser en varsling når nedlastingen er vellykket.

Hvis du vil laste opp nye filer, kan du legge dem i knowledge/files mappen i agentdefinisjonen. Når du anvender disse endringene, lastes de opp via funksjonen for opplasting av agentinnhold.

Skjermbilde av vinduet Remote Knowledge Files som viser tilgjengelige dokumenter.

Anbefalte fremgangsmåter

Navnekonvensjoner

Filer:

  • Bruk kebab-case: create-ticket.tool.yaml
  • Vær beskrivende: product-pricing-faq.yaml ikke faq.yaml
  • Bruk typesuffikset: .topic.yaml, .tool.yaml, .trigger.yaml

ID-er og variabler:

  • Bruk camelCase: userOrderNumber, productDetails
  • Vær beskrivende: checkPaymentStatus ikke check1
  • Unngå forkortelser: customerEmail ikke custEmail

Kommentarer

For å forklare kompleks logikk, legg til kommentarer:

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

Neste trinn

Nå som du forstår redigering: