Rediger Microsoft Copilot Studio-agenten din i Microsoft Visual Studio Code

Når du kloner Microsoft Copilot Studio-agenten til din lokale maskin, kan du redigere agentens komponenter ved hjelp av tekstredigeringsfunksjonene i Microsoft Visual Studio Code. Copilot Studio-utvidelsen tilbyr IntelliSense, validering og YAML-språkstøtte 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

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

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

Vis problemer

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

Skjermbilde som viser problemer markert med rød understrek i redigeringen.

Problemer-ruten

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

  2. Vis alle feil og advarsler.

  3. Velg et problem for å gå til plasseringen.

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

Skjermbilde av endringer som er synlige i forskjellige farger i Visual Studio Code.

Rediger agentkomponenter

Emner

Emner definerer samtaleflyter og dialoger. De er en type AdaptiveDialog.

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

Emnefilstruktur

Her er et eksempel på et enkelt hilsningsemne:

# 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 emnefunksjoner

Du kan bruke andre komponenter i emner som:

  • Enheter:

                - 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
    
  • Betingelser 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 emnefunksjoner i redigeringen.

Verktøy

Verktøy definerer hvilke handlinger agenten din kan utføre. Du kan se dem i Verktøy-området i Copilot Studio Agent-grensesnittet.

Verktøy kan inkludere:

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

Verktøy vises i utvidelsen under /actions-mappen til en agent, men de kan også finnes i andre mapper med ekstra metadata. Eksempel: Arbeidsflyter og utløsere har egne mapper og egen JSON.

Rediger utløsere

Utløsere definerer når emner eller handlinger aktiveres. Du kan angi dem som tidsplaner, hendelser eller betingede typer. Utløsere refererer vanligvis til en arbeidsflyt.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Administrer eksterne kunnskapsfiler

Hvis du laster opp dokumenter ved å bruke opplastingsfunksjonen i Copilot Studio, er disse dokumentene tilgjengelige for nedlasting ved å klikke på navnet i vinduet Eksterne kunnskapsfiler. Dokumentene lastes ikke ned automatisk og må velges for nedlasting i vinduet. Du får 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 utfører disse endringene, lastes de opp via funksjonen for opplasting av agentinnhold.

Skjermbilde av vinduet Eksterne kunnskapsfiler som viser tilgjengelige dokumenter.

Anbefalte fremgangsmåter

Navnekonvensjoner

Filer:

  • Bruk kebabsak: 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

Legg til kommentarer for å forklare kompleks logikk:

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: