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


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

Важно!

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

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

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

Описание

Хорошее описание содержит четкую и краткую сводку функций агента. Это повышает осведомленность пользователей и позволяет 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. [Необходимо исправить]
  • Подробное описание приложения должно четко указывать, что агент работает в Microsoft 365 Copilot. Например, используйте Contoso в Microsoft 365 Copilot для поиска и подведения итогов по задачам. [Необходимо исправить]

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

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

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

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

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

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

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

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

Имя агента

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

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

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

Составные речевые фрагменты

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

Снимок экрана: пример сценария прохода, в котором приложение Northwind возвращает ответ для морепродуктов и в параметрах запаса.

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

Запросы

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

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

Свойство samplePrompts предоставляет пользователям рекомендации по использованию различных агентов в Microsoft 365 Copilot.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Убедитесь, что подключаемые модули Copilot работают в собраниях Teams

Необходимо реализовать следующее:

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

    • Наборы столбцов

      • Не определяйте ColumnSets с более чем тремя столбцами.
      • Не используйте явную ширину пикселей для нескольких столбцов в наборе.
      • Убедитесь, что столбец не превышает одну четверть от ширины самого узкого карта, например в чате собрания или Microsoft 365 Copilot.
      • Как правило, явная ширина не должна превышать 48 пикселей, хотя в некоторых сценариях могут быть исключения.
    • Изменение размера изображений

      • При использовании изображения внутри ColumnSet с несколькими столбцами укажите размер столбца, содержащего изображение, а не само изображение.
      • Если изображение не в ColumnSet, рекомендуется задать для его размера auto значение или stretch.
      • Если вы хотите определить явную ширину в пикселях, убедитесь, что она не превышает три четверти самой узкой карта ширины.
      • Если вы хотите определить явный размер в пикселях, определите его для ширины или высоты. Если задать явный размер для любого параметра, пропорции изображения сохраняются.
      • Рекомендуется задать ширину образа, хотя в некоторых сценариях могут быть разрешены исключения.

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

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

Убедитесь, что агенты работают с 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 раз. [Необходимо исправить]
Ноль регрессий Если необходимо повторно отправить агент для проверки, существующие функции расширения сообщений, которые работали ранее, не должны прерываться. Это требование применимо только к приложениям независимых поставщиков программного обеспечения (ISV), а не к приложениям, созданным для вашей организации. [Необходимо исправить]
Канал Microsoft 365 Чтобы пользователи взаимодействовали с расширением сообщений из Outlook, необходимо добавить в бот канал Microsoft 365. Дополнительные сведения см. в статье Добавление канала Microsoft 365 для приложения. [Необходимо исправить]
Единый вход (SSO) Если применимо, обновите регистрацию приложения Microsoft Entra для единого входа. [Необходимо исправить]
Политика безопасности содержимого (CSP) Если применимо, измените заголовки CSP и X-Frame-Options в соответствии с настройкой заголовков политики безопасности содержимого. [Необходимо исправить]

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

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

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

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

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

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

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

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

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

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

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

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

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

    Тип операции Действия Ожидаемое значение для флага isConsequential
    Создание Логический Верно
    Чтение Невостязаемые False или True
    Обновление Логический Верно
    Удалить Логический Верно
    Описание команды Последовательная функция? Ожидаемое значение для флага isConsequential
    Возвращает список рекомендаций квеста на основе интересов пользователя. Если нет рекомендаций по кавычкам, создайте новую. Да Верно
    Возвращает список рекомендаций по медитации на основе предпочтений пользователя. Нет False или True
    Возвращает список рекомендаций квеста на основе интересов пользователя. Если нет рекомендаций по кавычкам, создайте новую. Да Верно

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Агент должен иметь действие или источник знаний

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

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

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

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

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

  • Для неправильных параметров поиска

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

  • Для разделов, в которых агент не специализируется

    Например, корректное сообщение об ошибке с путем пересылки для декларативного агента:

    На снимку экрана показано, как включить правильную обработку ошибок.

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

Требования к безопасности для URL-адреса спецификации OpenAPI

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

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

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

См. также