Crie agentes do Security Copilot com uma experiência de chat interativa

Criar um agente interativo no Microsoft Security Copilot envolve configurar o agente para dar suporte a conversas dinâmicas e focadas em tarefas.

O artigo fornece um passo a passo sobre como criar um agente interativo capaz de ensinar os usuários a usar o Security Copilot usando a documentação pública na página de aprendizado do Microsoft Docs. Os usuários finais interagem com seu agente por meio do recurso de Chat com o agente. Para habilitar esse recurso, adicione os atributos necessários ao manifesto do agente.

Etapas para criar um agente interativo do Security Copilot

Para criar o manifesto do agente, você pode referenciar os atributos necessários para a experiência interativa do agente no manifesto. Para obter mais informações, consulte Manifesto do agente.

As etapas para configurar o manifesto do agente e criar um agente interativo são as seguintes:

Etapa 1: Exemplo de um agente interativo YAML

Veja a seguir um exemplo de um SecurityCopilotDocsAgent manifesto de agente interativo 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

Etapa 2: Planejar para seu agente interativo

Os agentes interativos são úteis quando agentes e usuários podem precisar colaborar para uma experiência guiada para resolver algo. Articule os objetivos e instruções dos agentes interativos, especifique as ferramentas (habilidades) disponíveis e defina como lidar com as solicitações do usuário.

Etapa 3: Adicionar uma habilidade de solicitação ao agente

O PromptSkill atributo define a experiência do usuário especificando metas, instruções e recursos a serem usados para atender às solicitações do usuário. Você pode fazer referência a diferentes tipos de ferramentas (habilidades): AGENT (recomendado), GPT, KQL e API. Para obter informações sobre como criar os diferentes tipos de ferramentas, consulte Ferramentas.

  1. Adicione o atributo ao manifesto PromptSkill do agente. Isso cria a opção Chat com o agente.

  2. O PromptSkill deve ser formatado como SkillsetName.SkillName. O diagrama a seguir mostra uma seção de amostra do manifesto do agente para o PromptSkill atributo, em SkillsetName que = SecurityCopilotDocsAgent, que é o Descriptor.name e SkillName = SecurityCopilotDocsAgent, que é definido na Format: Agent habilidade.

     PromptSkill: SecurityCopilotDocsAgent.SecurityCopilotDocsAgent
    
  3. Na definição do agente, você deve especificar o nome do conjunto de habilidades em que ele AgentDefinition está localizado e os conjuntos de habilidades para qualquer ChildSkillsarquivo . Liste-os todos no RequiredSkillsets campo.

  4. Inclua o Interfaces campo no descritor de habilidade do agente. Para agentes interativos, defina a interface como InteractiveAgent.

  5. UserRequest é adicionada como uma entrada para o PromptSkill.

Etapa 4: Adicionar prompts ao agente interativo

Solicitações iniciais

Os prompts iniciais ajudam a definir o contexto e aparecem no início da experiência do agente interativo. Eles ajudam os usuários a entender o que o agente pode fazer e definir expectativas.

Para configurar prompts iniciais:

  1. O SuggestedPrompts atributo é usado para a declaração com o IsStarterAgent sinalizador.

  2. Defina a Title e o Personas prompt é alinhado adiante.

Veja a seguir uma seção de amostra do manifesto do agente para o prompt inicial que é exibido somente na experiência do agente interativo. O prompt é exibido somente quando o tipo de ITAdmin Persona é selecionado.

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

As IDs de tipo Persona são as seguintes:

ID Tipo de persona
0 CISO
1 Analista de SOC
2 Analista de Inteligência contra Ameaças
3 Administrador de TI
4 Administração de Identidade
5 Administrador de Segurança de Dados da Administração
6 Administração de Nuvem

Na seção de SecurityCopilotDocsAgentagente interativo do manifesto do agente, a habilidade Agent mostra quatro prompts iniciais atribuídos a diferentes personas.

A imagem a seguir ilustra os prompts iniciais que você pode escolher para começar a interagir com o agente.

Imagem para mostrar o recurso de prompts iniciais

Sugestões de prompt

As sugestões de prompt são uma lista selecionada de prompts de follow-on depois que a saída de um prompt é exibida. As sugestões garantem que os usuários permaneçam em uma experiência guiada.

Para configurar sugestões de prompt:

  1. Prompts são adicionados em uma habilidade com o SuggestedPrompts atributo.

    • IsStarterAgent e Personas devem ser omitidos para sugestões de prompt para evitar que sejam tratados como prompts iniciais.
  2. Todos os prompts sob o SuggestedPrompts atributo geram e classificam os prompts com base no contexto da sessão. Esses prompts são gerados usando o SuggestedPrompts como um modelo inicial.

  3. As sugestões de prompt são exibidas no resultado como possíveis prompts para continuar as conversas de chat.

  4. Se você selecionar qualquer uma das sugestões de prompt, poderá editar o prompt antes de enviar.

  5. A solicitação é executada e a resposta é retornada.

Observação

O Orchestrator não marca se a ferramenta exigida pelas sugestões de prompt geradas dinamicamente está habilitada. Se executar um prompt sem a ferramenta habilitada, um erro será exibido. Verifique se todas as ferramentas relevantes estão habilitadas e configuradas.

O YAML a seguir mostra uma seção de amostra do manifesto do agente, em que tem SecurityCopilotDocsAgent 11 prompts sugeridos que serão usados como modelo para gerar os prompts sugeridos dinâmicos.


        - 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?

A imagem a seguir ilustra as sugestões de prompt geradas depois que um prompt é processado e seus resultados retornados.

Imagem para mostrar o recurso de sugestões de prompts

Etapa 5: fornecer instruções ao agente

Instructions são instruções dadas a um agente para definir seus objetivos, como lidar com solicitações e fluxos de trabalho, limitações e detalhar seu resultado.

Na amostra de agente YAML, consulte os detalhes Instructions fornecidos para o agente.

Etapa 6: Configurar habilidades infantis para o agente interativo

As habilidades infantis são ferramentas e recursos que um agente pode aplicar para permitir que os resultados sejam previsíveis e abrangentes. As ferramentas (habilidades) executam tarefas específicas e são chamadas pelo agente para cumprir seus objetivos.

No exemplo, o microsoft_docs_search é um plug-in MCP.MSDocs MCP definido no RequiredSkillsets.


  ChildSkills:
        - microsoft_docs_search

Etapa 7: Carregar o arquivo YAML do agente

Depois de configurar o manifesto YAML do agente com os atributos necessários, você deve carregar o YAML para poder usar o recurso Chat com o agente.

Limitações conhecidas dos agentes interativos

Aqui estão as limitações conhecidas para a implementação de agentes interativos:

  • Um agente interativo dá suporte a apenas uma entrada, que deve ser um UserRequest.

  • Os usuários podem configurar o chat interativo selecionando Chat com o agente e autenticando com sua identidade e consentimento. Isso não configura o agente para outras pessoas usarem, um usuário apropriado precisaria configurar o agente em Agentes Ativos para garantir que outros possam usar esse agente.

  • A memória do agente não está incluída no contexto do chat.

Validar prompts iniciais

As sugestões de prompt inicial são as seguintes:

  • Antes de definir um prompt como um prompt inicial, execute-o como o primeiro prompt em uma nova sessão e verifique se não há erros e se a saída do prompt é válida.

  • Nem todos os prompts são adequados para serem usados como prompts iniciais. Por exemplo, prompts que exigem contexto anterior não são adequados para prompts iniciais, pois não há contexto disponível para que esses prompts funcionem corretamente.

Próximas etapas

Comece a conversar com seu agente interativo. Para obter mais informações, consulte Chat com agente.