Condividi tramite


Creare agenti Security Copilot con un'esperienza di chat interattiva

La creazione di un agente interattivo in Microsoft Security Copilot comporta la configurazione dell'agente per supportare conversazioni dinamiche incentrate sulle attività. Gli utenti finali interagiscono con l'agente tramite la funzionalità Chat con agente . Per abilitare questa funzionalità, aggiungere gli attributi necessari al manifesto dell'agente.

L'articolo offre una procedura dettagliata su come creare un agente interattivo in grado di insegnare agli utenti come usare Security Copilot usando la documentazione pubblica nella pagina di apprendimento Microsoft Docs.

Passaggi per creare un agente di Security Copilot interattivo

Per compilare il manifesto dell'agente, è possibile fare riferimento agli attributi necessari per l'esperienza dell'agente interattivo nel manifesto. Per altre informazioni, vedere Manifesto dell'agente.

YAML dell'agente interattivo

Di seguito è riportato un esempio di yaml del manifesto dell'agente SecurityCopilotDocsAgent interattivo.


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

I passaggi per configurare il manifesto dell'agente e compilare un agente interattivo sono i seguenti:

Passaggio 1: Pianificare l'agente interattivo

Gli agenti interattivi sono utili quando agenti e utenti potrebbero dover collaborare per un'esperienza guidata per risolvere un problema. Articolare gli obiettivi e le istruzioni degli agenti interattivi, specificare gli strumenti (competenze) disponibili e definire come gestire le richieste degli utenti.

Passaggio 2: Aggiungere la competenza di richiesta

L'attributo PromptSkill definisce l'esperienza utente specificando obiettivi, istruzioni e funzionalità da usare per gestire le richieste degli utenti. È possibile fare riferimento a diversi tipi di strumenti (competenze): AGENT (scelta consigliata), GPT, KQL e API. Per informazioni sulla creazione dei diversi tipi di strumento, vedere Strumenti.

  1. Aggiungere l'attributo PromptSkill al manifesto dell'agente. In questo modo viene creata l'opzione Chat con agente .

  2. PromptSkill deve essere formattato come SkillsetName.SkillName. Di seguito viene illustrata una sezione di esempio del manifesto dell'agente per l'attributo PromptSkill , dove SkillsetName = SecurityCopilotDocsAgent, che è Descriptor.name e SkillName = SecurityCopilotDocsAgent, definito nella Format: Agent competenza.

     PromptSkill: SecurityCopilotDocsAgent.SecurityCopilotDocsAgent
    
  3. Nella definizione dell'agente è necessario specificare il nome del set di competenze in cui si trova e AgentDefinition i set di competenze per qualsiasi ChildSkills. Elencarli tutti nel RequiredSkillsets campo .

  4. Includere il Interfaces campo nel descrittore di competenza dell'agente. Per gli agenti interattivi, impostare l'interfaccia su InteractiveAgent.

  5. UserRequest viene aggiunto come input all'oggetto PromptSkill.

Passaggio 3: Aggiungere richieste

Suggerimenti iniziali

I prompt di avvio consentono di impostare il contesto e vengono visualizzati all'inizio dell'esperienza dell'agente interattivo. Consentono agli utenti di comprendere cosa può fare l'agente e impostare le aspettative.

Per configurare le richieste di avvio:

  1. L'attributo SuggestedPrompts viene utilizzato per la dichiarazione con il IsStarterAgent flag .

  2. Definire un Title e il Personas prompt è allineato a .

Di seguito viene illustrata una sezione di esempio del manifesto dell'agente per la richiesta iniziale visualizzata solo all'interno dell'esperienza dell'agente interattivo.

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

Questa richiesta viene visualizzata solo quando è selezionato il tipo Persona di ITAdmin .

Gli ID tipo Persona sono i seguenti:

ID Tipo persona
0 CISO
1 Analista SCO
2 Threat Intel Analyst
3 ITAdmin
4 Amministrazione di identità
5 Amministrazione di sicurezza dei dati
6 Cloud Amministrazione

Dalla sezione dell'agenteSecurityCopilotDocsAgent interattivo del manifesto dell'agente, la competenza Agente mostra quattro prompt di avvio assegnati a persone diverse.

L'immagine seguente illustra le richieste iniziali che è possibile scegliere di iniziare a interagire con l'agente.

Immagine per mostrare la funzionalità dei prompt di avvio

Suggerimenti per la richiesta

I suggerimenti per le richieste sono un elenco curato di richieste di follow-on dopo la visualizzazione dell'output di un prompt. I suggerimenti garantiscono che gli utenti rimangano all'interno di un'esperienza guidata.

Per configurare i suggerimenti per la richiesta:

  1. Prompt vengono aggiunti con una competenza con l'attributo SuggestedPrompts .

    • IsStarterAgent e Personas deve essere omesso per i suggerimenti di richiesta per evitare che vengano trattati come prompt di avvio.
  2. Tutti i prompt sotto l'attributo SuggestedPrompts generano e classificano i prompt in base al contesto della sessione. Questi prompt vengono generati usando come SuggestedPrompts modello iniziale.

  3. I suggerimenti di richiesta vengono visualizzati nel risultato come potenziali richieste per continuare le conversazioni di chat.

  4. Se si seleziona uno dei suggerimenti per la richiesta, è possibile modificare il prompt prima dell'invio.

  5. La richiesta viene eseguita e viene restituita la risposta.

Nota

Orchestrator non verifica se è abilitato uno strumento richiesto dai suggerimenti di prompt generati dinamicamente. Se viene eseguito un prompt che non ha lo strumento abilitato, viene visualizzato un errore. Verificare che tutti gli strumenti pertinenti siano abilitati e configurati.

Il codice YAML seguente mostra una sezione di esempio del manifesto dell'agente, in cui contiene SecurityCopilotDocsAgent 11 prompt suggeriti che verranno usati come modello per generare i prompt suggeriti dinamici.


        - 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'immagine seguente illustra i suggerimenti generati dopo l'elaborazione di una richiesta e la restituzione dei risultati.

Immagine per mostrare la funzionalità di suggerimenti per le richieste

Passaggio 4: Fornire istruzioni

Instructions sono indicazioni fornite a un agente per definirne gli obiettivi, come gestire richieste e flussi di lavoro, limitazioni e dettagliarne il risultato.

Nell'esempio vedere i dettagli Instructions forniti per l'agente.

Passaggio 5: Impostare le competenze figlio

Le competenze figlio sono strumenti e funzionalità che un agente può applicare per consentire ai risultati di essere prevedibili e completi. Gli strumenti (competenze) eseguono attività specifiche e vengono chiamati dall'agente per soddisfare i propri obiettivi.

Nell'esempio è microsoft_docs_search un plug-in MCP.MSDocs MCP definito in RequiredSkillsets.


  ChildSkills:
        - microsoft_docs_search

Passaggio 6: Caricare YAML

Dopo aver configurato il manifesto YAML dell'agente con gli attributi necessari, è necessario caricare YAML in modo da poter usare la funzionalità Chat con agente.

Limitazioni note

Ecco le limitazioni note per l'implementazione di agenti interattivi:

  • Un agente interattivo supporta un solo input, che deve essere un UserRequestoggetto .

  • Gli utenti possono configurare la chat interattiva selezionando Chat con l'agente e eseguendo l'autenticazione con la propria identità e il consenso. In questo modo l'agente non viene configurato per l'uso da parte di altri utenti. Un utente appropriato deve configurare l'agente in Active Agents per assicurarsi che altri utenti possano usare questo agente.

  • La memoria dell'agente non è inclusa nel contesto di chat.

Richieste di test

  • Prima di definire un prompt come prompt iniziale, eseguire il prompt come primo prompt in una nuova sessione e assicurarsi che non ci siano errori e che l'output del prompt sia valido.

  • Non tutti i prompt sono adatti per essere usati come prompt di avvio. Ad esempio, i prompt che richiedono un contesto precedente non sono adatti per le richieste di avvio perché non è disponibile alcun contesto per il corretto funzionamento di questi prompt.

Passaggi successivi