Поделиться через


Создание агентов Security Copilot с помощью интерактивного чата

Создание интерактивного агента в Microsoft Security Copilot включает настройку агента для поддержки динамических бесед, ориентированных на задачи. Конечные пользователи взаимодействуют с агентом с помощью функции Чат с агентом . Чтобы включить эту функцию, добавьте необходимые атрибуты в манифест агента.

В этой статье представлено пошаговое руководство по созданию интерактивного агента, который может научить пользователей использованию Security Copilot с помощью общедоступной документации на странице Документация Майкрософт learn.

Действия по созданию интерактивного агента Security Copilot

Чтобы создать манифест агента, можно ссылаться на атрибуты, необходимые для интерактивного взаимодействия с агентом в манифесте. Дополнительные сведения см. в разделе Манифест агента.

YamL для интерактивного агента

Ниже приведен пример манифеста интерактивного SecurityCopilotDocsAgent агента 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

Ниже описаны действия по настройке манифеста агента и созданию интерактивного агента.

Шаг 1. Планирование интерактивного агента

Интерактивные агенты полезны, когда агентам и пользователям может потребоваться совместная работа для интерактивного взаимодействия для решения проблем. Сформулируете цели и инструкции интерактивных агентов, укажите доступные инструменты (навыки) и определите, как обрабатывать запросы пользователей.

Шаг 2. Добавление навыка запроса

Атрибут PromptSkill определяет взаимодействие с пользователем путем указания целей, инструкций и возможностей, используемых для обработки запросов пользователей. Вы можете ссылаться на различные типы инструментов (навыки): AGENT (рекомендуется), GPT, KQL и API. Сведения о создании различных типов инструментов см. в разделе Инструменты.

  1. PromptSkill Добавьте атрибут в манифест агента. При этом будет создан параметр Чат с агентом .

  2. PromptSkill должен быть отформатирован как SkillsetName.SkillName. Ниже показан пример раздела манифеста агента для PromptSkill атрибута , где SkillsetName = SecurityCopilotDocsAgent, который является Descriptor.name и SkillName = SecurityCopilotDocsAgent, который определен в навыке Format: Agent .

     PromptSkill: SecurityCopilotDocsAgent.SecurityCopilotDocsAgent
    
  3. В определении агента необходимо указать имя набора навыков, в котором AgentDefinition находится , и наборы навыков для любого ChildSkills. Перечислите их все в RequiredSkillsets поле.

  4. Interfaces Включите поле в дескриптор навыка агента. Для интерактивных агентов задайте для интерфейса значение InteractiveAgent.

  5. UserRequest добавляется в качестве входных данных в PromptSkill.

Шаг 3. Добавление запросов

Начальные запросы

Начальные запросы помогают задать контекст и отображаться в начале взаимодействия с интерактивным агентом. Они помогают пользователям понять, что может сделать агент, и задать ожидания.

Чтобы настроить начальные запросы, выполните следующие действия:

  1. Атрибут SuggestedPrompts используется для объявления с флагом IsStarterAgent .

  2. Определите Personas и Title выравнивается запрос.

Ниже показан пример раздела манифеста агента для начального запроса, который отображается только в интерактивном интерфейсе агента.

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

Этот запрос отображается только при выборе типа ITAdmin Persona.

Идентификаторы типов persona:

ИД Тип persona
0 CISO
1 Аналитик SCO
2 Аналитик Intel по угрозам
3 ITAdmin
4 Администратор удостоверений
5 Администратор безопасности данных
6 Облачные Администратор

SecurityCopilotDocsAgent В разделе интерактивного агента манифеста агента навык агента показывает четыре начальных запроса, назначенных разным пользователям.

На следующем рисунке показаны начальные запросы, которые можно выбрать для начала взаимодействия с агентом.

Изображение, показываю функцию начальных запросов

Подсказки

Подсказки — это проверенный список последующих запросов после вывода запроса. Предложения гарантируют, что пользователи остаются в интерактивном интерфейсе.

Чтобы настроить подсказки, выполните следующие действия:

  1. Запросы добавляются в навык с атрибутом SuggestedPrompts .

    • IsStarterAgent и Personas должны быть опущены для подсказок, чтобы избежать их обработки как начальных запросов.
  2. Все запросы в атрибуте SuggestedPrompts создают и ранжируют запросы на основе контекста сеанса. Эти запросы создаются с помощью в SuggestedPrompts качестве начального шаблона.

  3. Подсказки отображаются в результате как потенциальные запросы на продолжение бесед в чате.

  4. Если выбрать какое-либо из предложений, вы можете изменить запрос перед отправкой.

  5. Запрос выполняется и возвращается ответ.

Примечание.

Оркестратор не проверка, если включен инструмент, необходимый для динамически создаваемых подсказок. При выполнении запроса, в котором не включено средство, отображается сообщение об ошибке. Убедитесь, что все соответствующие средства включены и настроены.

В следующем файле YAML показан пример раздела манифеста агента, в котором SecurityCopilotDocsAgent содержится 11 предложенных запросов, которые будут использоваться в качестве шаблона для создания динамических предлагаемых запросов.


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

На следующем рисунке показаны созданные подсказки после обработки запроса и возврата его результатов.

Изображение, показывающий функцию предложений с подсказками

Шаг 4. Предоставление инструкций

Instructions — это указания, предоставленные агенту для определения его целей, способов обработки запросов и рабочих процессов, ограничений и подробных сведений о результатах.

В этом примере см. подробные сведения Instructions , предоставленные для агента.

Шаг 5. Настройка навыков ребенка

Дочерние навыки — это средства и возможности, которые агент может применять для обеспечения предсказуемости и всестороннего анализа результатов. Инструменты (навыки) выполняют определенные задачи и вызываются агентом для выполнения своих целей.

В примере является подключаемым microsoft_docs_search модулем MCP.MSDocs MCP, определенным в RequiredSkillsets.


  ChildSkills:
        - microsoft_docs_search

Шаг 6. Отправка YAML

После настройки манифеста YAML агента с необходимыми атрибутами необходимо отправить YAML, чтобы можно было использовать функцию Чат с агентом.

Известные ограничения

Ниже приведены известные ограничения для реализации интерактивных агентов.

  • Интерактивный агент поддерживает только один вход, который должен быть .UserRequest

  • Пользователи могут настроить интерактивный чат, выбрав Чат с агентом и выполнив проверку подлинности с помощью своего удостоверения и согласия. При этом агент не настраивается для других пользователей. Соответствующий пользователь должен настроить агент в активных агентах , чтобы другие пользователи могли использовать этот агент.

  • Память агента не включается в контекст чата.

Запросы на тестирование

  • Перед определением запроса в качестве начального запроса запустите его в качестве первого запроса в новом сеансе и убедитесь, что ошибки отсутствуют, а выходные данные запроса допустимы.

  • Не все запросы подходят для использования в качестве начальных запросов. Например, запросы, требующие предварительного контекста, не подходят для начальных запросов, так как для правильной работы этих запросов нет контекста.

Дальнейшие действия