Рекомендации по проверке для агентов

Важно!

  • Эти рекомендации применимы для независимых поставщиков программного обеспечения (ISV), которые хотят опубликовать свой агент в магазине.
  • Агенты расширений сообщений в Microsoft 365 Copilot доступны в общедоступной предварительной версии для Microsoft Word и Microsoft PowerPoint.
  • Поддержка клиентских приложений Excel и OneNote станет доступна в ближайшее время.
  • Убедитесь, что Microsoft 365 Copilot доступны для вашей организации. Вы можете получить среду разработчика для Microsoft 365 Copilot двумя способами:
    • Клиент песочницы Microsoft 365 с Microsoft 365 Copilot (доступна в ограниченной предварительной версии через членство в TAP).
    • Корпоративная клиентская рабочая среда с Microsoft 365 Copilot лицензиями.

Этот раздел соответствует политике коммерческой платформы Майкрософт no 1140.9.

Приложения должны соответствовать ответственным проверкам ИИ.

Ценностное предложение

Агенты должны быть разработаны для завершения корпоративных рабочих процессов и должны предоставлять разнообразную ценность, помимо того, что предлагает Copilot, одним из следующих [должно быть исправлено]:

  • Выполнение рабочих процессов, которые не могут быть легко достигнуты с помощью Copilot. Например, агент управления билетами Contoso , который позволяет пользователям создавать билеты непосредственно на платформе Contoso.
  • Значительно сокращает время выполнения рабочих процессов по сравнению с Copilot. Например, агент публикации в социальных сетях Contoso , который помогает пользователям создавать публикации с согласованной структурой, фирменной символикой и повышением эффективности.
  • Использование специализированной оркестрации или точно настроенных моделей для рабочих процессов, относящихся к предметной области. Например, агент Contoso Pharma , точно настроенный на данные фармы, чтобы помочь идентифицировать химические вещества, относящиеся к предметной области.

Описание

Хорошее описание содержит четкую и краткую сводку функций агента. Это повышает осведомленность пользователей и позволяет Microsoft 365 Copilot эффективно обнаруживать и выполнять операции поиска.

Необходимо соблюдать следующие рекомендации для агентов:

  • Применимы рекомендации по проверке в Магазине Teams, связанные с описанием приложений Microsoft 365. Дополнительные сведения см. в разделе описания приложений.

  • Краткое описание агента, параметра, описания команды, семантического описания и идентификатора операции не должно включать:

    • Инструктивные фразы, например "если пользователь говорит X", "игнорировать", "удалить", "сброс", "новые инструкции", "Ответ полужирным шрифтом" или "Ничего не печатать". [Необходимо исправить]
    • URL-адреса, эмодзи или скрытые символы, такие как шестнадцатеричные, двоичные или нетрадиционные символы. [Необходимо исправить]
    • Грамматические ошибки и ошибки препинания. [Необходимо исправить]
    • Слишком подробный, цветочный или маркетинговый язык. [Хорошо для исправления]
    • Превосходные утверждения, такие как "#1", "удивительный" или "лучший". [Хорошо для исправления]

    Примечание.

    • Для декларативных агентов к полям и conversation_starters применяются также рекомендации по краткому описаниюinstructions.
    • Для подключаемых модулей на основе API эти рекомендации применяются к description_for_human, description_for_model, capabilities, conversation_starters (как заголовок, так и текст) states\reasoning\description в functions полях, если они указаны. [Необходимо исправить]
    • При использовании форматов файлов Swagger или OpenAPI соблюдайте эти рекомендации для содержимого, связанного path с ключами, и description поля для API GET, POST, PUT или DELETE. [Необходимо исправить]
  • Свойство semanticDescription не является обязательным полем. Однако при добавлении semanticDescription в манифест приложения существующие проверки для кратких, параметров и описаний команд также применимы для семантических описаний.

К началу страницы

Взаимодействие агента с агентом

Для использования свойства в манифесте worker_agents декларативного агента убедитесь, что [должно быть исправлено]

  • В узле манифеста worker_agent можно ссылаться только на декларативные агенты. Пользовательские агенты обработчика в настоящее время не поддерживаются.
  • В описании и отказе от ответственности должны быть четко перечислены все указанные рабочие агенты и явным образом предписывать пользователям получать их при необходимости.
  • Агент должен предоставлять значимое автономное значение, независимо от каких-либо рабочих агентов. Это значение должно быть четко описано в описании агента.
  • Каждый агент, на который ссылается рабочая роль, должен независимо соответствовать минимальной строке значений и самостоятельно предоставлять значимые функциональные возможности.
  • Любой запрос, зависящий от агента рабочей роли, должен корректно завершиться ошибкой, если рабочий агент не был получен.
  • Если родительский агент ссылается на рабочий агент, опубликованный другим издателем, издатель родительского агента по-прежнему несет ответственность за обработку проблем интеграции, пробелов в работе с пользователем и корректного поведения при сбое.

К началу страницы

Снимки экрана

Необходимо соблюдать следующие рекомендации для агентов:

  • Применимы рекомендации по проверке в Магазине Teams, связанные со снимками экрана для приложений Microsoft 365. Дополнительные сведения см. в разделе Снимки экрана.
  • Приложения с функциями агента должны иметь хотя бы один снимок экрана, связанный с функциональностью Microsoft 365 Copilot. [Необходимо исправить]

К началу страницы

Имя агента

Необходимо соблюдать следующие рекомендации для агентов:

  • Применимы рекомендации по проверке магазина Teams, связанные с именем приложений Microsoft 365. Дополнительные сведения см. в разделе Имя приложения.
  • Для декларативного агента убедитесь, что следующие параметры идентичны: [Должно быть исправлено]
    • name в manifest.json
    • name в json-файле декларативного агента
    • name_for_human в файлах JSON подключаемого модуля

К началу страницы

Запросы

Для примеров запросов и начальных строк необходимо соблюдать следующие рекомендации.

Примеры запросов

Для декларативного агента samplePrompts на основе расширения сообщений свойство предоставляет пользователям рекомендации по использованию агентов в Microsoft 365 Copilot

Снимок экрана: примеры запросов, отображаемые при включении агента расширения сообщений в Microsoft 365 Copilot.

Примеры запросов задаются с помощью samplePrompts свойства в манифесте приложения. Эти запросы должны соответствовать следующим требованиям:

  • Агент должен иметь не менее трех запросов и не более пяти запросов для каждой команды. [Необходимо исправить]
  • Каждый запрос не должен превышать 128 символов. [Необходимо исправить]
  • Две команды в одном агенте не должны иметь одинаковые запросы. [Необходимо исправить]
  • Все примеры запросов должны быть функциональными и возвращать ответы. [Необходимо исправить]
  • Запрос должен быть связан с командами. [Необходимо исправить]

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

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

  • Декларативный агент или агент пользовательского обработчика должен иметь по крайней мере три запроса. [Необходимо исправить]
  • Все начальные запросы должны быть функциональными и возвращать ответы. [Необходимо исправить]

К началу страницы

Ответ адаптивной карточки

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

  • Ответ адаптивной карточки должен включать содержимое адаптивной карточки и предварительный просмотр карта сведения в рамках одного шаблона. [Необходимо исправить]

    Снимок экрана: пример приложения, на котором показано, Microsoft 365 Copilot ответ приложения содержит предварительный просмотр и содержимое в одном ответе.

  • Помимо логотипа агента, заголовка, эскиза и заголовка информации, данные в адаптивной карточке должны представлять не менее двух фрагментов информации. Поля можно определить по наиболее часто используемым атрибутам, таким как измененные данные, автор, состояние и флаги. [Необходимо исправить]

    Снимок экрана: пример заголовка сведений, дополнительных полей пользователей и кнопки действия в ответе адаптивной карточки.

  • Адаптивная карточка должна быть хорошо отформатирована для настольных, веб-клиентов и мобильных клиентов (iOS и Android). [Необходимо исправить]

  • Адаптивные карточки должны содержать URL-адрес в составе метаданных, что позволяет легко копировать карточки из одного концентратора в другой. [Необходимо исправить]

К началу страницы

Совместимость

Агенты должны полностью реагировать и работать в последних версиях этих клиентов: [Должно быть исправлено]

  • Microsoft Teams на рабочем столе и в Интернете
  • copilot.microsoft.com в Интернете
  • Microsoft 365 Copilot в Word

Убедитесь, что агенты работают с Microsoft 365 — Word, Excel, PowerPoint, OneNote, Office и Outlook Copilots

Необходимо соблюдать следующие рекомендации для агентов:

  1. При использовании приложения с поддержкой единого входа обновите Microsoft Entra регистрации приложения: [Необходимо исправить]

    Microsoft Entra единого входа для расширения message работает так же, как в Teams или Outlook. Если вы включили единый вход для приложения, добавьте идентификатор клиентского приложения Office Copilot в Microsoft Entra регистрации приложения бота на портале Регистрация приложений клиента.

    1. Войдите на портал Azure с помощью учетной записи клиента песочницы.

    2. Откройте Регистрации приложений.

    3. Выберите имя приложения, чтобы открыть его регистрацию.

    4. В разделе Управление выберите Предоставить API.

    5. В разделе Авторизованные клиентские приложения убедитесь, что указаны следующие значения идентификаторов клиента:

      Клиентское приложение Microsoft 365 Идентификатор клиента
      Word, PowerPoint, Excel (интернет, настольный компьютер) 3068386c-7a16-4f6a-a64-043b6b232816
      Классическое, мобильное приложение Teams 1fec8e78-bce4-4aaf-ab1b-5451cc387264
      Веб-приложение Teams 5e3ce6c0-2b1f-4285-8d4b-75ee78787346
      Microsoft 365 web 4765445b-32c6-49b0-83e6-1d93765276ca
      Microsoft 365 desktop 0ec893e0-5785-4de6-99da-4ed124e5296c
      Microsoft 365 mobile d3590ed6-52b3-4102-aeff-aad2292ab01c
      Классическое приложение Outlook d3590ed6-52b3-4102-aeff-aad2292ab01c
      Outlook Web bc59ab01-8403-45c6-8796-ac3ef710b3e3
      Outlook Mobile 27922004-5251-4030-b22d-91ecd9a37ea4
      Bing 9ea1ad79-fdb6-4f9a-8bc3-2b70f96e34c7

      Примечание.

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

  2. Убедитесь, что зарегистрированный бот подключен к Microsoft 365 и каналу Microsoft Teams: [Необходимо исправить]

    1. Войдите на портал Azure с помощью учетной записи клиента песочницы.
    2. Откройте Bot Services.
    3. Выберите имя бота, чтобы обновить его каналы.
    4. В разделе Параметры выберите Каналы.
    5. В разделе Доступные каналы выберите Microsoft 365 & Microsoft Teams, а затем нажмите кнопку Применить.
  3. Настройка заголовков политики безопасности содержимого [необходимо исправить]

    Если агент использует заголовки политики безопасности содержимого (CSP), убедитесь, что все следующие предки кадров включены в заголовки CSP:

    Приложение Microsoft 365 frame-ancestors Разрешение
    Все узлы (новые) *.cloud.microsoft
    Word fa000000125.resources.office.net
    PowerPoint fa000000129.resources.office.net
    Excel fa000000124.resources.office.net
    OneNote fa000000128.resources.office.net
    Microsoft 365 Copilot и Bing edgeservices.bing.com, www.bing.com, copilot.microsoft.com
    Приложение Microsoft 365 *.microsoft365.com, *.office.com
    Outlook outlook.office.com, outlook.office365.com, outlook-sdf.office.com, outlook-sdf.office365.com
    Office.com Office.com/copilot
    Office.com/chat
    Microsoft365.com Microsoft365.com/copilot
    Microsoft365.com/chat
    M365.cloud.microsoft M365.cloud.microsoft/chat
    M365.cloud.microsoft/copilot
    Copilot.cloud.microsoft Copilot.cloud.microsoft
  4. Обновление версии Teams JS до сборки 2.22.0 [должно быть исправлено]

    Если вы используете Teams JS версии 2.22 или более ранней, обновите ее до версии 2.22 или более поздней. 

    Дополнительные сведения см. в разделе Репозиторий JS Teams @microsoft/teams-js — npm (npmjs.com)).

К началу страницы

Технические требования

Чтобы агент проверялся, вызывался и работал без проблем, убедитесь, что он соответствует следующим критериям: [Должно быть исправлено]

Критерии Выполнение
Версия манифеста Манифест приложения должен быть версии 1.13 или более поздней. [Необходимо исправить]
Время отклика Время отклика не должно превышать девять секунд для 99 процентов, пять секунд для 75 процентов и две секунды для 50 процентов. [Необходимо исправить]
Надежность Приложения должны поддерживать доступность 99,9 %. Например, если Microsoft 365 Copilot вызывает агент 1000 раз, он должен предоставить значимый ответ 999 раз. [Необходимо исправить]
Ноль регрессий Если необходимо повторно отправить агент для проверки, существующие функции расширения сообщений, которые работали ранее, не должны прерываться. [Необходимо исправить]
Канал Microsoft 365 Чтобы пользователи взаимодействовали с расширением сообщений из Outlook, необходимо добавить в бот канал Microsoft 365. Дополнительные сведения см. в статье Добавление канала Microsoft 365 для приложения. [Необходимо исправить]
Единый вход (SSO) Если применимо, обновите регистрацию приложения Microsoft Entra для единого входа. [Необходимо исправить]
Политика безопасности содержимого (CSP) Если применимо, измените заголовки CSP и X-Frame-Options в соответствии с настройкой заголовков политики безопасности содержимого. [Необходимо исправить]

К началу страницы

Раскрытие пользователем и подтверждение сценариев действий

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

Для сценариев действий агенты должны предоставить общий доступ к раскрытию информации о пользователях и получить подтверждение пользователя:

  • Данные, отображаемые в сторонней службе (через диалог), должны отражать подтверждение, предоставленное пользователем. [Необходимо исправить]

  • Подтверждение завершения действия должно быть предоставлено агенту в виде карта. [Необходимо исправить]

  • Действия, выполняемые пользователем, должны правильно отражаться в сторонней службе. [Необходимо исправить]

  • Запросы на изменение от пользователя до подтверждения действия должны быть учтены. [Необходимо исправить]

  • Строго последовательные задачи, такие как массовое удаление, не должны поддерживаться. [Хорошо для исправления]

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

    Текст подтверждения можно задать с помощью body свойства объекта Confirmation Function capabilities функции в манифесте. Дополнительные сведения см. в разделе Настройка текста подтверждения.

    Пример передачи Пример сбоя
    Для функции, которая выполняет поиск по билетам: "Вы хотите разрешить поиск в Contoso?" "Вы хотите разрешить поиск билетов?" Продолжить?" -> Не указывает, что делает функция.
    Для функции, которая создает новый заказ "Продолжить создание нового заказа?" Поиск билетов" -> не ищет разрешения
    Для функции, которая создает новый билет: "Продолжить создание нового билета?" "Создает билеты" -> не ищет разрешения
  • Последовательные действия, которые изменяют систему, должны требовать явного разрешения пользователя перед выполнением. Чтобы достичь этого, для

    • Действие подключаемого модуля, isConsequential флаг должен иметь значение true для таких вызовов.
    • Действие сервера MCP, readOnlyHint заметка должна быть задана как false для таких вызовов
    • Получение подтверждения пользователя с помощью настраиваемого CTA, который четко информирует пользователей о выполняемом действии

    Дополнительные сведения см. в разделе Переопределение поведения запросов.

    Описание команды Последовательная функция? Ожидаемое значение для флага isConsequential
    Возвращает список рекомендаций по предложениям, основанным на интересе пользователя. Если нет рекомендаций по кавычкам, создайте новую. Да true
    Возвращает список рекомендаций по медитации на основе предпочтений пользователя. Нет false или true

К началу страницы

Требования бота к настраиваемым агентам обработчика

Агент пользовательского обработчика — это бот Teams для общения, который должен соответствовать следующим требованиям:

  1. Агент пользовательского обработчика всегда должен включать бот для общения на основе больших языковых моделей (LLM), чтобы обеспечить беспроблемное взаимодействие с пользователем. [Необходимо исправить]

  2. Объявление идентификатора бота в качестве узла пользовательского агента обработчика должно соответствовать идентификатору бота, определенному в узле бота в манифесте приложения. [Необходимо исправить]

  3. Пользователи должны иметь возможность ссылаться на пользовательский агент обработчика в Microsoft 365 Copilot и передавать возможности чата в Teams. [Хорошо для исправления]

  4. Бот должен включать следующие компоненты проектирования пользовательского интерфейса:

    1. Метка ИИ, которая позволяет пользователям идентифицировать, что сообщение было создано с помощью ИИ. Эта метка может отображаться как постоянное заявление об отказе от ответственности, отдельное сообщение или заявление об отказе от ответственности содержимого или во время первого запуска. [Необходимо исправить]

    2. Кнопка обратной связи, которая позволяет пользователям предоставлять положительные или отрицательные отзывы о сообщениях агента. [Необходимо исправить]

    3. Ссылка, позволяющая пользователям ссылаться на источник сообщения бота с помощью текстовых ссылок и ссылок. [Необходимо исправить]

    4. Метка конфиденциальности, которая позволяет пользователям понять конфиденциальность сообщения бота. [Хорошо для исправления]

    5. Агент должен передавать свои ответы пользователю в потоковую передачу. [Необходимо исправить]

    6. Агент должен содержать по крайней мере три начальных запроса или приветственное сообщение. [Необходимо исправить]

      Дополнительные сведения см. в разделе Приветственные сообщения бота.

    7. Бот должен предлагать пользователю по крайней мере два контекстных предложения или запроса, а не универсальные или фиксированные. [Необходимо исправить]

  5. Области, определенные в bot.scopes и bot.commandList.scopes узлах манифеста, должны соответствовать для обеспечения хорошего взаимодействия с пользователем.

  6. Пользовательские агенты обработчика должны включать в и bot.commandList.scopescopilotbot.scopes, чтобы обеспечить надлежащее отображение и полную поддержку платформы.

  7. Настраиваемые агенты обработчика (CEA), созданные с помощью Microsoft Copilot Studio (MCS), доступны только для публикации в Microsoft Store. Декларативные агенты не поддерживаются. Такие агенты должны соответствовать следующим допустимым требованиям к домену:

    1. Домены с подстановочными знаками (например, *.example.com) не должны использоваться, если только домен не принадлежит издателю или не контролируется им.
    2. Домены, принадлежащие корпорации Майкрософт, включая домены, связанные с Microsoft Copilot Studio, не должны включаться в конфигурацию домена агента.
    3. Домен api.botframework.com должен быть включен в разрешенные домены агента.
    4. Агент должен указать только один допустимый домен, соответствующий Microsoft Copilot Studio географическому региону или среде Dataverse, в котором размещен агент.

К началу страницы

Источник действий и знаний

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

  • Возможности Dataverse, внедрения файлов, метки конфиденциальности и модели сценариев ограничены для использования только в бизнес-сценарии. [Необходимо исправить]

  • Соблюдайте следующие рекомендации при использовании настраиваемого action.insertImage действия или набора действий [Должно быть исправлено]:

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

    • Убедитесь, что предполагаемое изображение будет вставлено при нажатии кнопки.

    • Убедитесь, что для резервного размещения задано значение Drop ( Удалить ), чтобы гарантировать, что адаптивная карточка работает во всех совместимых клиентах.

    • Поддержка вставки всех изображений в адаптивной карточке.

  • Декларативные агенты поддерживают только обнаружение статических инструментов с серверов MCP. Поэтому в манифесте подключаемого модуля агента флаги enable_dynamic_discovery и enable_dynamic_client_registration для серверов MCP всегда должны иметь значение false. [Необходимо исправить]

  • Запросы, которые зависят от действий надстроек, должны предоставлять корректное сообщение о сбое в центрах Copilot, где надстройка не поддерживается.

К началу страницы

Дублирующиеся агенты

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

  • Агент может быть опубликован отдельно от основного приложения, но он должен иметь четкое обоснование того же.

  • Чтобы избежать путаницы и обеспечить ясность для конечных пользователей:

    • Имя, краткое и длинное описание должны существенно отличаться от имени существующих приложений.

    • Краткое и длинное описание должны четко сообщать уникальное ценностное предложение приложения и то, чем оно отличается от связанных отправк.

Ответ агента

  • Декларативный агент должен быть функциональным и предоставлять пользователям точные ответы. Чтобы обеспечить то же самое, должен присутствовать по крайней мере один соответствующий запрос в одном из следующих полей для каждой функции декларативного агента: [Должно быть исправлено]

    • Примеры запросов или начальных общения
    • Поле инструкций в манифесте
    • Заметки о тестировании
  • Все результаты поиска в возможности расширения сообщений должны содержать соответствующий заголовок и подзаголовок, которые также будут отображаться в ссылках агента [Должно быть исправлено].

  • Агент должен предоставить подтверждение завершения действия, которое должно включать сведения о действии, пути вперед, а также ссылку на источник или идентификатор отслеживания для пользователя, чтобы проверить действие [Должно быть исправлено]

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

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

Правильная обработка ошибок

Все агенты должны корректно обрабатывать следующие сценарии, то есть агент должен отклонить запрос пользователя и предоставить путь вперед: [Должно быть исправлено]

  • Для неправильных параметров поиска
  • За неправильное использование или неподобающее язык

К началу страницы

Требования к безопасности для вызовов сервера (расширение сообщений, OpenAPIs, серверы MCP)

Агенты, использующие расширение сообщений, вызовы сервера OpenAPI и MCP, должны обеспечить следующие стандарты безопасности:

  • Все вызовы должны использовать ПРОТОКОЛ HTTPS с TLS 1.2 или более поздней версии. [Необходимо исправить]
  • Вызовы не должны приводить к перенаправлению URL-адресов. [Необходимо исправить]
  • Вызовы должны обслуживаться из того же домена или поддомена, что и корневой домен, проверенный разработчиком. [Необходимо исправить]

К началу страницы

См. также