Partager via


Créer des agents Security Copilot avec une expérience de conversation interactive

La création d’un agent interactif dans Microsoft Security Copilot implique la configuration de l’agent pour prendre en charge les conversations dynamiques axées sur les tâches. Les utilisateurs finaux interagissent avec votre agent via la fonctionnalité Conversation avec l’agent . Pour activer cette fonctionnalité, ajoutez les attributs requis au manifeste de l’agent.

L’article fournit une procédure pas à pas sur la création d’un agent interactif capable d’enseigner aux utilisateurs comment utiliser Security Copilot à l’aide de la documentation publique sur Microsoft Docs page d’apprentissage.

Étapes de création d’un agent Security Copilot interactif

Pour générer votre manifeste d’agent, vous pouvez référencer les attributs requis pour l’expérience interactive de l’agent dans le manifeste. Pour plus d’informations, consultez Manifeste de l’agent.

YaML de l’agent interactif

Voici un exemple de manifeste d’agent SecurityCopilotDocsAgent interactif YAML.


Descriptor:
  Name: SecurityCopilotDocsAgent
  DisplayName: Security Copilot Docs Agent
  Description: >-
    Answers user questions about Microsoft Security Copilot by searching
    Microsoft Docs and returning relevant guidance.
  Icon: ''
AgentDefinitions:
  - Name: SecurityCopilotDocsAgent
    DisplayName: Security Copilot Docs Agent
    Description: >-
      Answers user questions about Microsoft Security Copilot by searching
      Microsoft Docs and returning relevant guidance.
    Publisher: Custom
    Product: SecurityCopilot
    RequiredSkillsets:
      - MCP.MSDocs
      - SecurityCopilotDocsAgent
    AgentSingleInstanceConstraint: None
    Triggers:
      - Name: Default
        DefaultPollPeriodSeconds: 0
        ProcessSkill: SecurityCopilotDocsAgent.SecurityCopilotDocsAgent
    PromptSkill: SecurityCopilotDocsAgent.SecurityCopilotDocsAgent  # Added for interactive agent experience
SkillGroups: 
  - Format: Agent
    Skills:
      - Name: SecurityCopilotDocsAgent
        DisplayName: Security Copilot Docs Agent
        Description: Uses Microsoft Docs to answer questions about Security Copilot usage.
        Interfaces:
        - InteractiveAgent   # Added for interactive agent experience
        Inputs:
          - Name: UserRequest     # Input to the prompt skill (must always be named UserRequest) 
            Description: The user's question about how to use Microsoft Security Copilot.
            DefaultValue: ''
            Required: true
        SuggestedPrompts:    # Starter prompts
        - Prompt: Show me areas in which Security Copilot can help me?
          Title: Security Copilot Overview
          Personas:
          - 3
          IsStarterAgent: true
        - Prompt: How do I build agents in Security Copilot?
          Title: Building Agents
          Personas:
          - 3
          IsStarterAgent: true
        - Prompt: How do I get details on a specific Defender incident?
          Title: Incident Knowledge
          Personas:
          - 3
          IsStarterAgent: true
        - Prompt: How do I execute a KQL query via Security Copilot?
          Title: KQL Query
          Personas:
          - 3
          IsStarterAgent: true
        - Prompt: Give me more details on the above   # Prompt suggestions
        - Prompt: Where do I get troubleshooting information
        - Prompt: My prompt is not giving the response I am seeking, how can I improve on it.
        - Prompt: What is a ProcessSkill in an Agent and show is it different from PromptSkill
        - Prompt: How do I import a custom plugin?
        - Prompt: Does Security Copilot support MCP?
        - Prompt: How do I build an API plugin?
        - Prompt: How do I build a promptbook?
        - Prompt: Can I run a Security Copilot prompt from LogicApp?
        - Prompt: Can I execute a Security Copilot agent from LogicApp?
        - Prompt: What is the purpose of a trigger in Agents?
        
        Settings:
          OrchestratorSkill: DefaultAgentOrchestrator
          Instructions: >
            # Mission You are an expert assistant for Microsoft Security
            Copilot. When a user asks a question about how to use Security
            Copilot, search Microsoft Docs for the most relevant and up-to-date
            guidance. Make sure to return data relevant to Microsoft Security Copilot specifically. 

            # Data Handling Use the AskMsDocs skill to search Microsoft
            documentation for Security Copilot and related topics. Summarize the
            most relevant information and provide clear, actionable answers.

            # Workflow 1. Receive the user's question as input. 2. Call the
            AskMsDocs skill with the user's question. 3. Review the returned
            documentation results. 4. Summarize the key guidance and steps for
            the user. 5. If the answer is not found, state that no relevant
            documentation was found.

            # Output Provide a concise, accurate answer with references to
            Microsoft Docs where possible.
        ChildSkills:
          - microsoft_docs_search

Les étapes de configuration du manifeste de l’agent et de génération d’un agent interactif sont les suivantes :

Étape 1 : Planifier votre agent interactif

Les agents interactifs sont utiles lorsque les agents et les utilisateurs peuvent avoir besoin de collaborer pour une expérience guidée afin de résoudre un problème. Articulez les objectifs et les instructions des agents interactifs, spécifiez les outils (compétences) disponibles et définissez comment gérer les demandes des utilisateurs.

Étape 2 : Ajouter une compétence d’invite

L’attribut PromptSkill définit l’expérience utilisateur en spécifiant des objectifs, des instructions et des fonctionnalités à utiliser pour répondre aux demandes des utilisateurs. Vous pouvez référencer différents types d’outils (compétences) : AGENT (recommandé), GPT, KQL et API. Pour plus d’informations sur la création des différents types d’outils, consultez Outils.

  1. Ajoutez l’attribut PromptSkill au manifeste de l’agent. Cela crée l’option Conversation avec l’agent .

  2. PromptSkill doit être au SkillsetName.SkillNameformat . L’exemple suivant montre un exemple de section du manifeste de l’agent pour l’attribut PromptSkill , où SkillsetName = SecurityCopilotDocsAgent, qui est le Descriptor.name et SkillName = SecurityCopilotDocsAgent, qui est défini dans la Format: Agent compétence.

     PromptSkill: SecurityCopilotDocsAgent.SecurityCopilotDocsAgent
    
  3. Dans la définition de l’agent, vous devez spécifier le nom de l’ensemble de compétences où AgentDefinition se trouve et les ensembles de compétences pour tout ChildSkills. Répertoriez-les tous dans le RequiredSkillsets champ.

  4. Incluez le Interfaces champ dans le descripteur de compétence Agent. Pour les agents interactifs, définissez l’interface sur InteractiveAgent.

  5. UserRequestest ajouté en tant qu’entrée à .PromptSkill

Étape 3 : Ajouter des invites

Requêtes de démarrage

Les invites de démarrage aident à définir le contexte et s’affichent au début de l’expérience interactive de l’agent. Ils aident les utilisateurs à comprendre ce que l’agent peut faire et à définir des attentes.

Pour configurer les invites de démarrage :

  1. L’attribut SuggestedPrompts est utilisé pour la déclaration avec l’indicateur IsStarterAgent .

  2. Définissez un Title et l’invite Personas est alignée sur.

L’exemple suivant montre un exemple de section du manifeste de l’agent pour l’invite de démarrage qui s’affiche uniquement dans l’expérience interactive de l’agent.

     SuggestedPrompts:
        - Prompt: Show me areas in which Security Copilot can help me?
          Title: Security Copilot Overview
          Personas:
          - 3
          IsStarterAgent: true

Cette invite s’affiche uniquement lorsque le type persona de ITAdmin est sélectionné.

Les ID de type persona sont les suivants :

ID Type de personnage
0 CISO
1 Analyste SCO
2 Analyste d’Intel des menaces
3 ITAdmin
4 Administration d’identité
5 Administration sécurité des données
6 Administration cloud

Dans la SecurityCopilotDocsAgent section agent interactif du manifeste de l’agent, la compétence Agent affiche quatre invites de démarrage affectées à différents personnages.

L’image suivante illustre les invites de démarrage que vous pouvez choisir pour commencer à interagir avec l’agent.

Image montrant la fonctionnalité d’invite de démarrage

Suggestions d’invite

Les suggestions d’invite sont une liste organisée d’invites de suivi après l’affichage de la sortie d’une invite. Les suggestions garantissent que les utilisateurs restent dans une expérience guidée.

Pour configurer les suggestions d’invite :

  1. Requêtes sont ajoutés sous une compétence avec l’attribut SuggestedPrompts .

    • IsStarterAgent et Personas doivent être omis pour les suggestions d’invite afin d’éviter qu’elles ne soient traitées comme des invites de démarrage.
  2. Toutes les invites sous l’attribut SuggestedPrompts génèrent et classent les invites en fonction du contexte de la session. Ces invites sont générées à l’aide du SuggestedPrompts comme modèle de départ.

  3. Les suggestions d’invite sont affichées dans le résultat sous forme d’invites potentielles pour poursuivre les conversations de conversation.

  4. Si vous sélectionnez l’une des suggestions d’invite, vous pouvez modifier l’invite avant de l’envoyer.

  5. La requête est exécutée et la réponse est retournée.

Remarque

L’orchestrateur ne case activée pas si un outil requis par les suggestions d’invite générées dynamiquement est activé. Si une invite s’exécute pour laquelle l’outil n’est pas activé, une erreur s’affiche. Vérifiez que tous les outils appropriés sont activés et configurés.

Le code YAML suivant montre un exemple de section du manifeste de l’agent, où contient SecurityCopilotDocsAgent 11 invites suggérées qui seront utilisées comme modèle pour générer les invites dynamiques suggérées.


        - Prompt: Give me more details on the above
        - Prompt: Where do I get troubleshooting information
        - Prompt: My prompt is not giving the response I am seeking, how can I improve on it.
        - Prompt: What is a ProcessSkill in an Agent and show is it different from PromptSkill
        - Prompt: How do I import a custom plugin?
        - Prompt: Does Security Copilot support MCP?
        - Prompt: How do I build an API plugin?
        - Prompt: How do I build a promptbook?
        - Prompt: Can I run a Security Copilot prompt from LogicApp?
        - Prompt: Can I execute a Security Copilot agent from LogicApp?
        - Prompt: What is the purpose of a trigger in Agents?

L’image suivante illustre les suggestions d’invite générées une fois qu’une invite a été traitée et que ses résultats ont été retournés.

Image montrant la fonctionnalité de suggestions d’invites

Étape 4 : Fournir des instructions

Instructions sont des instructions données à un agent pour définir ses objectifs, comment gérer les demandes et les flux de travail, les limitations et détailler son résultat.

Dans l’exemple, consultez le détail Instructions fourni pour l’agent.

Étape 5 : Définir les compétences enfants

Les compétences enfants sont des outils et des capacités qu’un agent peut appliquer pour permettre aux résultats d’être prévisibles et complets. Les outils (compétences) effectuent des tâches spécifiques et sont appelés par l’agent pour atteindre ses objectifs.

Dans l’exemple, est microsoft_docs_search un plug-in MCP.MSDocs MCP défini sous le RequiredSkillsets.


  ChildSkills:
        - microsoft_docs_search

Étape 6 : Charger le YAML

Après avoir configuré le manifeste YAML de l’agent avec les attributs requis, vous devez charger le FICHIER YAML afin de pouvoir utiliser la fonctionnalité Conversation avec l’agent.

Limitations connues

Voici les limitations connues pour l’implémentation d’agents interactifs :

  • Un agent interactif ne prend en charge qu’une seule entrée, qui doit être un UserRequest.

  • Les utilisateurs peuvent configurer la conversation interactive en sélectionnant Conversation avec l’agent et en s’authentifiant avec leur identité et leur consentement. Cela ne configure pas l’agent pour que d’autres utilisateurs puissent l’utiliser. Un utilisateur approprié doit configurer l’agent dans Active Agents pour s’assurer que d’autres utilisateurs peuvent utiliser cet agent.

  • La mémoire de l’agent n’est pas incluse dans le contexte de conversation.

Invites de test

  • Avant de définir une invite comme invite de démarrage, exécutez l’invite en tant que première invite dans une nouvelle session et assurez-vous qu’il n’y a pas d’erreur et que la sortie de l’invite est valide.

  • Toutes les invites ne conviennent pas pour être utilisées comme invites de démarrage. Par exemple, les invites qui nécessitent un contexte antérieur ne conviennent pas aux invites de démarrage, car aucun contexte n’est disponible pour que ces invites fonctionnent correctement.

Étapes suivantes