Edytowanie agenta Microsoft Copilot Studio w usłudze Microsoft Visual Studio Code

Podczas klonowania agenta Microsoft Copilot Studio na komputer lokalny można edytować jego składniki przy użyciu funkcji edytowania tekstu w usłudze Microsoft Visual Studio Code. Rozszerzenie Copilot Studio zapewnia obsługę funkcji IntelliSense, walidacji oraz języka YAML, co sprawia, że edytowanie staje się wydajne i bezbłędne.

Struktura pliku agenta

Zrozumienie struktury pliku jest kluczowe dla efektywnej edycji.

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

Edytuj konfigurację głównego agenta

Funkcje IntelliSense

Podczas pisania wyświetlane są sugestie, a wartości nieprawidłowości są podświetlane. Te sugestie zmieniają się w zależności od poziomu węzła, na którym się znajdujesz.

  • Użyj Ctrl+Space, aby uzyskać sugestie na podstawie poziomu węzła.
  • Użyj Ctrl+F do wyszukiwania nazw zmiennych i innych informacji w całym agencie, aby szybko zaktualizować dane

Zobacz problemy

Problemy z plikami można wyświetlić w okienku Problems w Visual Studio Code. Ponadto, gdy otwierasz plik, możesz zobaczyć czerwone podkreślenie wskazujące na problemy.

Zrzut ekranu z identyfikacją problemów z czerwonym podkreśleniem w edytorze.

Panel problemów

  1. Użyj Ctrl+Shift+M do otwarcia panelu Problemy (lub przejdź do Widok>Problemy).

  2. Zobacz wszystkie błędy i ostrzeżenia.

  3. Wybierz dowolny problem, aby przejść do lokalizacji.

Praca ze zmianami

Po wprowadzeniu i zapisaniu zmiany zostanie ona wyświetlona w innym kolorze w Visual Studio, dzięki czemu można je łatwo zidentyfikować.

 Zrzut ekranu przedstawiający zmiany widoczne w innym kolorze w Visual Studio Code.

Komponenty agenta edycji

Topics

Tematy definiują przepływ rozmów i dialogi. To rodzaj AdaptiveDialog.

Możesz użyć GitHub Copilot lub innych agentów, aby ułatwić tworzenie new składników lub, jeśli chcesz, napisz własne tematy.

Struktura pliku tematycznego

Oto przykład prostego tematu pozdrowienia:

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

Zaawansowane funkcje tematu

Możesz wykorzystać inne komponenty w tematach takich jak:

  • Podmioty:

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

      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
    
  • Warunki przy użyciu 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.
    
  • Inne węzły, na przykład węzły HTTP

  • Karty adaptacyjne

Zrzut ekranu funkcji zaawansowanych tematów w edytorze.

Tools

Narzędzia definiują działania, które może wykonać twój agent. Można je zobaczyć w obszarze Tools w interfejsie użytkownika agenta programu Copilot Studio.

Narzędzia mogą obejmować:

  • Polecenia
  • Przepływy pracy (przepływy Power Automate)
  • Narzędzia CUA
  • Łączniki niestandardowe
  • API REST
  • Złącza MCP

Narzędzia pojawiają się w rozszerzeniu w folderze /actions agenta, ale mogą też pojawić się w innych folderach z dodatkowymi metadanymi. Na przykład Workflows i Triggers mają własne foldery i JSON.

Wyzwalacze edycji

Wyzwalacze definiują, kiedy tematy lub działania się aktywują. Możesz ustawić je jako harmonogramy, zdarzenia lub typy warunkowe. Wyzwalacze zazwyczaj odnoszą się do określonego przepływu pracy.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Zarządzanie zdalnymi plikami wiedzy

Jeśli przekażesz dokumenty przy użyciu funkcji przekazywania w programie Copilot Studio, te dokumenty będą dostępne do pobrania, klikając nazwę w oknie Remote Knowledge Files. Dokumenty nie są pobierane automatycznie i muszą być wybrane do pobrania w oknie. Pojawia się powiadomienie, gdy pobieranie się udaje.

Jeśli chcesz przesłać nowe pliki, możesz umieścić je w folderze knowledge/files w definicji agenta. Gdy wprowadzasz te zmiany, są one przesyłane za pomocą funkcji przesyłania zawartości przez agenta.

Zrzut ekranu okna Zdalnych Plików Wiedzy pokazujący dostępne dokumenty.

Najlepsze praktyki

Konwencje nazewnictwa

Pliki:

  • Użyj kebab-case: create-ticket.tool.yaml
  • Bądź opisowy: product-pricing-faq.yaml nie faq.yaml
  • Użyj sufiksu typowego: .topic.yaml, .tool.yaml, .trigger.yaml

ID i zmienne:

  • Użyj camelCase: userOrderNumber, productDetails
  • Bądź opisowy: checkPaymentStatus nie check1
  • Unikaj skrótów: customerEmail nie custEmail

Comments

Aby wyjaśnić złożoną logikę, dodaj komentarze:

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

Dalsze kroki

Teraz, gdy rozumiesz, co to jest edycja: