Modifier votre assistant Microsoft Copilot Studio dans Microsoft Visual Studio Code

Lorsque vous clonez l’assistant Microsoft Copilot Studio sur votre machine locale, vous pouvez modifier ses composants en utilisant les fonctionnalités d’édition de texte de Microsoft Visual Studio Code. L’extension Copilot Studio offre IntelliSense, la validation et la prise en charge du langage YAML pour rendre l’édition efficace et sans erreur.

Structure des fichiers de l’assistant

Comprendre la structure des fichiers est essentiel pour une édition efficace.

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

Modifier la configuration de l’assistant principal

Fonctionnalités IntelliSense

Au fur et à mesure que vous tapez, les suggestions s’affichent et les valeurs non valides sont mises en évidence. Ces suggestions changent en fonction du niveau de nœud où vous vous trouvez.

  • Utilisez Ctrl+Space pour obtenir des suggestions en fonction du niveau du nœud.
  • Utilisez Ctrl+F pour rechercher des noms de variables et d’autres informations dans tout votre assistant afin de mettre à jour rapidement

Afficher les problèmes

Vous pouvez voir les problèmes de fichiers dans le volet Problèmes de Visual Studio Code. De plus, lorsque vous ouvrez un fichier, vous pouvez voir un soulignement rouge indiquant les problèmes.

Capture d’écran montrant des problèmes identifiés par un soulignement rouge dans l’éditeur.

Volet problèmes

  1. Utilisez Ctrl+Shift+M pour ouvrir le volet Problèmes (ou allez dans Afficher>Problèmes).

  2. Affichez toutes les erreurs et tous les avertissements.

  3. Sélectionnez n’importe quel problème pour accéder à l’emplacement.

Utilisation des modifications

Lorsqu’une modification est effectuée et enregistrée, elle apparaît dans une couleur différente dans Visual Studio, ce qui permet de l’identifier facilement.

Capture d’écran montrant que les modifications sont visibles dans une couleur différente dans Visual Studio Code.

Modifiez les composants de l’assistant

Rubriques

Les rubriques définissent les flux de conversation et les dialogues. Il s’agit d’un type de AdaptiveDialog.

Vous pouvez utiliser GitHub Copilot ou d’autres assistants pour faciliter la création de nouveaux composants, ou, si vous le souhaitez, pour écrire vos propres rubriques.

Structure des fichiers de rubrique

Voici un exemple de rubrique de salutation simple :

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

Fonctions de rubrique avancées

Vous pouvez utiliser d’autres composants dans les rubriques tels que :

  • Entités :

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

      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
    
  • Conditions utilisant 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.
    
  • D’autres nœuds, p. ex., les nœuds HTTP

  • Cartes adaptatives

Capture d’écran des fonctionnalités des rubriques avancées dans l’éditeur.

Outils

Les outils définissent les actions que votre assistant peut effectuer. Vous pouvez les voir dans la zone Outils de l’interface utilisateur de l’assistant Copilot Studio.

Les outils peuvent inclure :

  • Requêtes
  • Flux de travail (flux Power Automate)
  • Outils CUA
  • Connecteurs personnalisés
  • API REST
  • Connecteurs MCP

Les outils apparaissent dans l’extension sous le dossier /actions d’un assistant, mais peuvent aussi apparaître dans d’autres dossiers avec des métadonnées supplémentaires. Par exemple, les flux de travail et les déclencheurs ont leurs propres dossiers et fichiers JSON.

Modifier les déclencheurs

Les déclencheurs déterminent quand les rubriques ou actions s’activent. Vous pouvez les définir comme des planifications, des événements ou des types conditionnels. Les déclencheurs font généralement référence à un flux de travail.

kind: ExternalTriggerConfiguration
externalTriggerSource:
  kind: WorkflowExternalTrigger

Gérer les fichiers de connaissances distants

Si vous chargez des documents à l’aide de la fonction de chargement dans Copilot Studio, ces documents sont disponibles au téléchargement en cliquant sur leur nom dans la fenêtre Fichiers de connaissances distants. Les documents ne sont pas téléchargés automatiquement et doivent être sélectionnés pour téléchargement dans la fenêtre. Vous voyez une notification lorsque le téléchargement est réussi.

Si vous souhaitez charger de nouveaux fichiers, vous pouvez les placer dans le dossier knowledge/files de la définition de l’assistant. Lorsque vous appliquez ces modifications, elles sont chargées via la fonctionnalité de chargement du contenu de l’assistant.

Capture d’écran de la fenêtre Fichiers de connaissances distants montrant les documents disponibles.

Bonnes pratiques

Conventions de dénomination

Fichiers :

  • Utilisez le Kebab Case : create-ticket.tool.yaml
  • Soyez descriptif : product-pricing-faq.yaml et non faq.yaml
  • Utilisez le suffixe du type : .topic.yaml, .tool.yaml, .trigger.yaml

ID et variables :

  • Utilisez une casse mixte (camelCase) : userOrderNumber, productDetails
  • Soyez descriptif : checkPaymentStatus et non check1
  • Évitez les abréviations : customerEmail et non custEmail

Commentaires

Pour expliquer une logique complexe, ajoutez des commentaires :

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

Étapes suivantes

Maintenant que vous comprenez l’édition :