Partager via


Modifier votre agent Microsoft Copilot Studio dans Microsoft Visual Studio Code

Lorsque vous clonez l'agent Microsoft Copilot Studio sur votre ordinateur local, vous pouvez modifier ses composants à l'aide des fonctionnalités de modification de texte de Microsoft Visual Studio Code. L’extension Copilot Studio fournit IntelliSense, la validation, et la prise en charge du langage YAML pour rendre la modification efficace et sans erreur.

Structure du fichier agent

Comprendre la structure des fichiers est essentiel pour un montage 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’agent principal

Fonctionnalités d’IntelliSense

Au fur et à mesure que vous écrivez, les suggestions s’affichent et les valeurs invalides sont mises en évidence. Ces suggestions varient selon le niveau de nœud où vous vous trouvez.

  • Utilisez-le Ctrl+Space pour obtenir des suggestions basées sur le niveau du nœud.
  • Utilisez Ctrl+F pour rechercher les noms de variables et d’autres informations sur l’ensemble de votre agent afin de mettre à jour rapidement

Afficher les problèmes

Vous pouvez afficher les problèmes liés aux fichiers dans le volet Problems dans Visual Studio Code. De plus, lorsque vous ouvrez un fichier, vous pouvez voir un soulignement rouge identifiant les problèmes.

Capture d’écran d’identification des problèmes avec un soulignement rouge dans l’éditeur.

Panneau des problèmes

  1. Utilisez-le Ctrl+Shift+M pour ouvrir la fenêtre Problèmes (ou allez dans Voir>les Problèmes).

  2. Consultez toutes les erreurs et avertissements.

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

Travailler avec les changements

Lorsqu’une modification est apportée et enregistrée, elle apparaît dans une couleur différente dans Visual Studio afin de pouvoir l’identifier facilement.

Screenshot des modifications visibles dans différentes couleurs dans Visual Studio Code.

Composants de l’agent d’édition

Sujets

Les sujets définissent les flux de conversation et les dialogues. Ce sont un type de AdaptiveDialog.

Vous pouvez utiliser GitHub Copilot ou d’autres agents pour créer des composants new ou, si vous le souhaitez, écrire vos propres rubriques.

Structure du fichier thématique

Voici un exemple de sujet 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}.

Fonctionnalités avancées du sujet

Vous pouvez utiliser d’autres éléments dans des sujets 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, par exemple, les nœuds HTTP

  • Cartes adaptatives

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

Tools

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

Les outils peuvent inclure :

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

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

Déclencheurs d’édition

Les déclencheurs déterminent quand les sujets ou actions s’activent. Vous pouvez les définir comme des plannings, 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 à distance

Si vous chargez des documents à l’aide de la fonctionnalité de chargement dans Copilot Studio, ces documents sont disponibles en cliquant sur le nom dans la fenêtre Remote Knowledge Files. 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 télécharger de nouveaux fichiers, vous pouvez les mettre dans le knowledge/files dossier de la définition de l’agent. Lorsque vous appliquez ces changements, ils sont téléchargés via la fonction de téléchargement de contenu de l’agent.

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

Meilleures pratiques

Conventions d’affectation de noms

Fichiers :

  • Utilisez une étui à kebab : create-ticket.tool.yaml
  • Soyez descriptif : product-pricing-faq.yaml non faq.yaml
  • Utilisez le suffixe de type : .topic.yaml, .tool.yaml, .trigger.yaml

IDs et variables :

  • Utilisez camelCase : userOrderNumber, productDetails
  • Soyez descriptif : checkPaymentStatus non check1
  • Évitez les abréviations : customerEmail not custEmail

Commentaires

Pour expliquer la 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 le montage :