Compartilhar via


Criar agentes Security Copilot com uma experiência de chat interativa

Criar um agente interativo no Microsoft Security Copilot envolve configurar o agente para suportar conversações dinâmicas e focadas em tarefas. Os utilizadores finais interagem com o seu agente através da funcionalidade Conversar com o agente . Para ativar esta funcionalidade, adicione os atributos necessários ao manifesto do agente.

O artigo fornece instruções sobre como criar um agente interativo capaz de ensinar os utilizadores a utilizar Security Copilot através da documentação pública no Microsoft Docs página de aprendizagem.

Passos para criar um agente de Security Copilot interativo

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

YAML do Agente Interativo

Segue-se 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

Os passos para configurar o manifesto do agente e criar um agente interativo são os seguintes:

Passo 1: planear o seu agente interativo

Os agentes interativos são úteis quando os agentes e os utilizadores podem precisar de colaborar para uma experiência orientada para resolver algo. Articular os objetivos e instruções dos agentes interativos, especificar as ferramentas (competências) disponíveis e definir como processar pedidos de utilizador.

Passo 2: Adicionar competência de pedido

O PromptSkill atributo define a experiência do utilizador ao especificar objetivos, instruções e capacidades a utilizar para responder a pedidos de utilizador. Pode referenciar diferentes tipos de ferramentas (competências): AGENTE (recomendado), GPT, KQL e API. Para obter informações sobre como criar os diferentes tipos de ferramentas, consulte Ferramentas.

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

  2. O PromptSkill deve ser formatado como SkillsetName.SkillName. Segue-se uma secção de exemplo do manifesto do agente para o PromptSkill atributo , em SkillsetName que = SecurityCopilotDocsAgent, que é o Descriptor.name e SkillName = SecurityCopilotDocsAgent, que é definido na Format: Agent competência.

     PromptSkill: SecurityCopilotDocsAgent.SecurityCopilotDocsAgent
    
  3. Na definição do agente, tem de especificar o nome do conjunto de competências onde o AgentDefinition está localizado e os conjuntos de competências para qualquer ChildSkills. Liste-os todos no RequiredSkillsets campo.

  4. Inclua o Interfaces campo no descritor de competências do Agente. Para agentes interativos, defina a interface como InteractiveAgent.

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

Passo 3: Adicionar pedidos

Solicitações iniciais

Os pedidos de introdução ajudam a definir o contexto e a aparecer no início da experiência do agente interativo. Ajudam os utilizadores a compreender o que o agente pode fazer e a definir expectativas.

Para configurar pedidos de arranque:

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

  2. Defina um Title e o Personas pedido está alinhado.

Segue-se uma secção de exemplo do manifesto do agente para a linha de comandos inicial que é apresentada apenas dentro da experiência do agente interativo.

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

Este pedido só é apresentado quando o tipo persona de ITAdmin está selecionado.

Os IDs de Tipo de Pessoa Pessoais são os seguintes:

ID Tipo de Pessoa Pessoal
0 CISO
1 Analista de SCO
2 Analista intel de ameaças
3 ItAdmin
4 Administração de identidade
5 Administração de Segurança de Dados
6 Cloud Administração

SecurityCopilotDocsAgent Na secção do agente interativo do manifesto do agente, a competência agente mostra quatro pedidos de arranque atribuídos a diferentes personas.

A imagem seguinte ilustra os pedidos de arranque que pode optar por começar a interagir com o agente.

Imagem para mostrar a funcionalidade de pedidos de arranque

Sugestões de pedidos

As sugestões de pedidos são uma lista organizada de pedidos de seguimento após a apresentação da saída de um pedido. As sugestões garantem que os utilizadores se mantêm numa experiência orientada.

Para configurar sugestões de pedidos:

  1. Prompts são adicionadas sob uma competência com o SuggestedPrompts atributo .

    • IsStarterAgent e Personas tem de ser omitido para sugestões de pedidos para evitar que sejam tratadas como pedidos de arranque.
  2. Todos os pedidos sob o SuggestedPrompts atributo , geram e classificam os pedidos com base no contexto da sessão. Estes pedidos são gerados com o SuggestedPrompts como um modelo inicial.

  3. As sugestões de pedidos são apresentadas no resultado como potenciais pedidos para continuar as conversações de chat.

  4. Se selecionar alguma das sugestões de pedido, pode editar o pedido antes de submeter.

  5. O pedido é executado e a resposta é devolvida.

Observação

O Orchestrator não marcar se uma ferramenta exigida pelas sugestões de pedido geradas dinamicamente estiver ativada. Se um pedido for executado que não tenha a ferramenta ativada, é apresentado um erro. Certifique-se de que todas as ferramentas relevantes estão ativadas e configuradas.

O YAML seguinte mostra uma secção de exemplo do manifesto do agente, onde o SecurityCopilotDocsAgent tem 11 pedidos sugeridos que serão utilizados como modelo para gerar os pedidos dinâmicos sugeridos.


        - 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 seguinte ilustra as sugestões de pedidos gerados depois de um pedido ter sido processado e os resultados devolvidos.

Imagem para mostrar a funcionalidade de sugestões de pedidos

Passo 4: fornecer instruções

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

No exemplo, veja os detalhes Instructions fornecidos para o agente.

Passo 5: Definir competências subordinados

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

A partir do exemplo, o microsoft_docs_search é um plug-in MCP.MSDocs MCP definido em RequiredSkillsets.


  ChildSkills:
        - microsoft_docs_search

Passo 6: Carregar o YAML

Depois de configurar o manifesto YAML do Agente com os atributos necessários, tem de carregar o YAML para poder utilizar a funcionalidade Conversar com o agente.

Limitações conhecidas

Eis as limitações conhecidas para implementar agentes interativos:

  • Um agente interativo suporta apenas uma entrada, que tem de ser um UserRequest.

  • Os utilizadores podem configurar o chat interativo ao selecionar Conversar com o agente e autenticar com a respetiva identidade e consentimento. Isto não configura o agente para que outras pessoas utilizem, um utilizador adequado teria de Configurar o agente nos Agentes Ativos para garantir que outras pessoas podem utilizar este agente.

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

Pedidos de teste

  • Antes de definir um pedido como um pedido de arranque, execute o pedido como o primeiro pedido numa nova sessão e certifique-se de que não existem erros e que o resultado do pedido é válido.

  • Nem todos os pedidos são adequados para serem utilizados como pedidos de arranque. Por exemplo, os pedidos que requerem contexto prévio não são adequados para pedidos iniciais, uma vez que não existe nenhum contexto disponível para que estes pedidos funcionem corretamente.

Próximas etapas