Condividi tramite


Modificare l'agente di Microsoft Copilot Studio in Microsoft Visual Studio Code

Quando si clona l'agente Microsoft Copilot Studio nel computer locale, è possibile modificarne i componenti usando le funzionalità di modifica del testo di Microsoft Visual Studio Code. L'estensione Copilot Studio offre supporto per il linguaggio IntelliSense, convalida e YAML per rendere efficiente e senza errori la modifica.

Struttura del file agente

Comprendere la struttura dei file è fondamentale per un editing efficiente.

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

Modifica la configurazione dell'agente principale

Caratteristiche di IntelliSense

Mentre digiti, i suggerimenti vengono mostrati e i valori non validi vengono evidenziati. Questi suggerimenti cambiano a seconda del livello di nodo a cui ti trovi.

  • Usalo Ctrl+Space per ricevere suggerimenti basati sul livello del nodo.
  • Usa Ctrl+F per cercare nomi di variabili e altre informazioni all'interno dell'intero agente per aggiornare rapidamente.

Problemi di visualizzazione

È possibile visualizzare i problemi relativi ai file nel riquadro Problems in Visual Studio Code. Inoltre, quando apri un file, puoi vedere una sottolinea rossa che identifica i problemi.

Screenshot che identifica i problemi con sottolineatura rossa nell'editor.

Pannello dei problemi

  1. Usalo Ctrl+Shift+M per aprire il pannello Problemi (o vai su Visualizza>Problemi).

  2. Visualizza tutti gli errori e le avvertenze.

  3. Seleziona un problema per saltare alla posizione.

Lavorare con i cambiamenti

Quando viene apportata e salvata una modifica, viene visualizzata in un colore diverso in Visual Studio in modo da poterla identificare facilmente.

Screenshot delle modifiche visibili in colori diversi in Visual Studio Code.

Componenti dell'agente di modifica

Argomenti

Gli argomenti definiscono i flussi delle conversazioni e i dialoghi. Sono un tipo di AdaptiveDialog.

È possibile usare GitHub Copilot o altri agenti per creare componenti new oppure, se si desidera, scrivere argomenti personalizzati.

Struttura del file tematico

Ecco un esempio di argomento semplice per i saluti:

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

Caratteristiche avanzate di argomenti

Puoi utilizzare altri componenti in argomenti come:

  • Entità:

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

      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
    
  • Condizioni che utilizzano 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.
    
  • Altri nodi, ad esempio, nodi HTTP

  • Adaptive Cards

Screenshot delle funzionalità avanzate per gli argomenti nell'editor.

Tools

Gli strumenti definiscono le azioni che il tuo agente può svolgere. È possibile visualizzarli nell'area Tools dell'interfaccia utente dell'agente di Copilot Studio.

Gli strumenti possono includere:

  • Suggerimenti
  • Flussi di lavoro (flussi di Power Automate)
  • Strumenti CUA
  • Connettori personalizzati
  • Interfacce di Programmazione delle Applicazioni REST
  • Connettori MCP

Gli strumenti appaiono all'interno dell'estensione sotto la cartella di /actions un agente, ma possono anche apparire in altre cartelle con metadati extra. Ad esempio, i flussi di lavoro e i trigger hanno le proprie cartelle e JSON.

Attivatori di modifica

I trigger definiscono quando si attivano argomenti o azioni. Puoi impostarli come orari, eventi o tipi condizionali. I trigger tipicamente si riferiscono a un flusso di lavoro.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Gestire file di conoscenza remoti

Se si caricano documenti usando la funzionalità di caricamento in Copilot Studio, questi documenti sono disponibili per il download facendo clic sul nome nella finestra Remote Knowledge Files. I documenti non vengono scaricati automaticamente e devono essere selezionati per il download nella finestra. Vedi una notifica quando il download ha successo.

Se vuoi caricare nuovi file, puoi metterli nella knowledge/files cartella nella definizione dell'agente. Quando applichi queste modifiche, vengono caricate tramite la funzione di caricamento dei contenuti dell'agente.

Screenshot della finestra Remote Knowledge Files che mostra i documenti disponibili.

Procedure consigliate

Convenzioni di denominazione

File:

  • Usa il kebab-case: create-ticket.tool.yaml
  • Sii descrittivo: product-pricing-faq.yaml no faq.yaml
  • Usa il suffisso di tipo: .topic.yaml, .tool.yaml, .trigger.yaml

ID e variabili:

  • Usa camelCase: userOrderNumber, productDetails
  • Sii descrittivo: checkPaymentStatus no check1
  • Evita le abbreviazioni: customerEmail not custEmail

Comments

Per spiegare la logica complessa, aggiungi i commenti:

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

Passaggi successivi

Ora che hai capito il montaggio: