Дата публикации
ai_products

Microsoft добавила API для автоматической проверки агентов в Copilot Studio

Что нового

Microsoft расширила систему оценки агентов в Microsoft Copilot Studio и вынесла её в отдельные REST API. Теперь то, что раньше жило только в интерфейсе Copilot Studio, можно запускать программно:

  • Evaluation API (Maker Evaluation API) — набор REST‑эндпоинтов для работы с тестами агентов.
  • Можно:
    • списком получать тестовые наборы (test sets), настроенные для конкретного агента;
    • запускать тестовый набор на агенте по API;
    • проверять статус запущенной оценки (асинхронный запуск);
    • забирать детальные результаты с оценками по каждому тест-кейсу;
    • получать историю всех прогонов для отчётности и сравнения.
  • Те же действия доступны в виде сертифицированного коннектора Microsoft Copilot Studio в Power Automate.
  • По умолчанию API прогоняет тесты по черновой (неопубликованной) версии агента, но можно явно указать запуск по опубликованной.
  • Оценка может идти анонимно или от имени конкретного подключённого пользователя через mcsConnectionId, что даёт доступ к защищённым источникам знаний и действиям.
  • Для одного агента можно запустить только один прогон одновременно — при попытке параллельного запуска API вернёт HTTP 422.

API уже доступны в Power Platform и работают через стандартный Power Platform API с делегированными правами MakerOperations.Read и MakerOperations.ReadWrite.

Как это работает

Механика простая: Trigger → Poll → Get Results.

  1. Тестовые наборы (test sets)

    • В Copilot Studio вы заранее создаёте тестовые наборы: это коллекции диалогов и ожидаемых ответов.
    • Через API можно:
      • получить список всех наборов для конкретного агента;
      • запросить полное описание одного набора по его ID.
  2. Запуск оценки агента

    • Вы отправляете POST на эндпоинт запуска тестового набора.
    • В теле запроса указываете:
      • RunOnPublishedBottrue или false (по умолчанию false, то есть тест идёт по черновику);
      • mcsConnectionId — ID подключения Microsoft Copilot Studio (если пустая строка — запуск анонимный);
      • evaluationRunName — произвольное имя прогона для дашбордов и логов.
    • В ответ приходит ID прогона (testRunId).
  3. Асинхронное выполнение

    • Оценка идёт асинхронно, поэтому вы не ждёте её окончания в одном запросе.
    • Вы периодически опрашиваете статус по testRunId.
  4. Получение результатов

    • Когда прогон завершён, тот же эндпоинт статуса возвращает:
      • общий статус (успех, ошибка, в процессе);
      • итоговый скоринг;
      • детальные результаты по каждому тест-кейсу.
  5. История и аналитика

    • Отдельный эндпоинт возвращает список всех прошлых прогонов с тем же форматом данных.
    • Это можно использовать для построения дашбордов, трендов качества и автоматических решений «публиковать / не публиковать».
  6. Контекст пользователя через mcsConnectionId

    • Если агент опирается на:
      • аутентифицированные коннекторы,
      • действия (actions), требующие авторизации,
      • закрытые источники знаний, то без mcsConnectionId результаты будут искажены: агент не увидит эти ресурсы.
    • Передавая mcsConnectionId, вы запускаете оценку в контексте конкретного пользователя Power Platform, и агент получает доступ к тем же данным и инструментам, что и в реальной работе.
  7. Ограничение на одновременные прогоны

    • Если вы отправляете запрос на запуск, пока для того же агента уже идёт оценка, API вернёт HTTP 422.
    • Это важно учитывать при интеграции в CI/CD и массовых проверках.

Технически API — это обычные HTTP‑эндпоинты Power Platform, так что вы можете вызывать их из любого клиента: curl, Python‑скрипты, Azure DevOps, GitHub Actions или своего бэкенда.

Что это значит для вас

Когда это полезно

1. CI/CD для агентов Copilot Studio

Если вы храните исходники агента в репозитории и работаете через pull request’ы, теперь можно добавить реальную проверку качества в пайплайн:

  • при каждом PR или merge в main:
    • запускать Evaluation API;
    • ждать завершения прогона;
    • по результату автоматически проваливать сборку, если качество просело относительно базового уровня.

Это снижает риск, что после обновления логики агент начнёт отвечать хуже, а вы узнаете об этом только от пользователей.

2. Автоматическая проверка после обновления знаний

Многое, что влияет на ответы агента, живёт вне Copilot Studio:

  • обновился файл в библиотеке документов;
  • в SharePoint поменяли базу знаний;
  • в Dataverse изменились записи, влияющие на поведение.

Через Power Automate и коннектор Microsoft Copilot Studio вы можете:

  • подписаться на события в SharePoint, Dataverse или файловом хранилище;
  • при срабатывании триггера запускать прогон тестового набора через Evaluation API;
  • отправлять результаты в Microsoft Teams, почту или в свою систему мониторинга.

Так вы контролируете не только код агента, но и качество его ответов после изменений в данных.

3. Встроенная проверка в свои инструменты и CoE‑дашборды

Если у вас есть внутренний центр компетенций по Copilot Studio или собственные админ‑панели, Evaluation API можно встроить прямо туда:

  • дашборд, который показывает качество десятков агентов и их динамику;
  • скрипт, который проверяет: «каждый новый агент должен пройти тесты до публикации»;
  • кастомный workflow согласования, где публикация агента возможна только после успешной оценки.

API даёт полный контроль: вы сами решаете, когда запускать тесты, какие пороги считать допустимыми и что делать при провале.

Когда лучше не использовать

  • Если вы разрабатываете один небольшой агент в одиночку и запускаете тесты раз в неделю руками, вам, скорее всего, достаточно интерфейса Copilot Studio без автоматизации.
  • Если у вас нет формализованных тестовых сценариев, API не спасёт — сначала нужно описать тесты в Copilot Studio, а уже потом автоматизировать их запуск.
  • Если инфраструктура построена вне Microsoft 365 / Power Platform и вы не хотите тянуть Power Platform API в свой стек, интеграция потребует дополнительной настройки авторизации и прав.

Доступность и ограничения

  • Evaluation API — часть Power Platform. Для работы нужны:
    • доступ к Microsoft Copilot Studio;
    • доступ к Azure Portal для настройки прав приложения;
    • разрешения MakerOperations.Read и MakerOperations.ReadWrite для Power Platform API.
  • Формально сервисы Power Platform и Copilot Studio могут быть ограничены для пользователей из России в зависимости от корпоративной подписки и политики Microsoft. В ряде случаев потребуется VPN и корпоративный аккаунт Microsoft 365.

Если вы уже используете Copilot Studio в рабочем тенанте, никаких дополнительных лицензий для базового сценария API в тексте не упоминается — всё завязано на существующую инфраструктуру Power Platform.

Место на рынке

Evaluation API решает очень конкретную задачу: автоматизированное тестирование и контроль качества агентов именно в Copilot Studio.

Сравнивать его напрямую с GPT‑4o, Claude 3 или другими LLM‑платформами некорректно: это не модель и не конкурирующий продукт, а инфраструктурный слой вокруг уже существующей среды Microsoft.

По позиционированию это ближе к:

  • встроенным eval‑инструментам в платформах вроде Azure AI Studio;
  • CI/CD‑интеграциям для чат‑ботов в специализированных платформах.

Но здесь есть чёткий фокус:

  • тесная интеграция с Power Platform и Microsoft 365;
  • прямое встраивание в Azure DevOps, GitHub Actions, Power Automate;
  • работа именно с агентами Microsoft Copilot Studio.

Если ваша инфраструктура уже крутится вокруг Microsoft, этот подход логично дополняет экосистему. Если вы строите всё вокруг других вендоров, Evaluation API — аргумент в пользу Copilot Studio, но не самостоятельный продукт.

Установка / Как запустить

Ниже — ключевые шаги и готовые запросы, которые можно сразу использовать в Postman, curl или любом HTTP‑клиенте.

1. Настройка прав для приложения в Azure

  1. Перейдите на https://portal.azure.com
  2. Откройте App Registrations.
  3. Найдите своё приложение.
  4. Перейдите в раздел API permissions.
  5. Нажмите Add a permission.
  6. Выберите APIs my organization uses.
  7. Найдите Power Platform API.
  8. Выберите Delegated permissions.
  9. Разверните CopilotStudio.
  10. Отметьте MakerOperations.Read и MakerOperations.ReadWrite.
  11. Нажмите Add Permissions.

После этого ваше приложение сможет вызывать Maker Evaluation API.

2. Эндпоинт: получить список тестовых наборов

Запрос:

GET https://api.powerplatform.com/copilotstudio/environments/{yourEnvironment}/bots/{replaceWithYourCdsBotId}/api/makerevaluation/testsets?api-version=1

Что вернёт:

  • массив тестовых наборов, связанных с агентом.
  • каждый элемент — описание test set с его ID, который нужен для следующих шагов.

3. Эндпоинт: получить конкретный тестовый набор

Когда у вас есть yourTestSetId, можно запросить полную конфигурацию набора.

Запрос:

GET https://api.powerplatform.com/copilotstudio/environments/{yourEnvironment}/bots/{replaceWithYourCdsBotId}/api/makerevaluation/testsets/{yourTestSetId}?api-version=1

Что вернёт:

  • структуру тестового набора: сценарии, ожидаемые ответы, настройки.

4. Эндпоинт: запустить оценку для тестового набора

Этот запрос запускает прогон тестов для агента.

Запрос:

POST https://api.powerplatform.com/copilotstudio/environments/{yourEnvironment}/bots/{replaceWithYourCdsBotId}/api/makerevaluation/testsets/{yourTestSetId}/run?api-version=1
Content-Type: application/json

{
  "RunOnPublishedBot": {boolean value},
  "mcsConnectionId": "{yourMCSConnectionId}",
  "evaluationRunName": "{yourEvaluationRunName}"
}

Пояснения к полям:

  • RunOnPublishedBot — опциональный boolean. Если не указать, по умолчанию false, то есть тест идёт по черновой версии агента. Если true — по опубликованной.
  • mcsConnectionId — строка. Если передать пустую строку, прогон будет анонимным, без доступа к защищённым источникам и аутентифицированным коннекторам.
  • evaluationRunName — опциональное имя прогона.

Как получить mcsConnectionId:

  1. Перейдите на https://make.powerautomate.com
  2. Откройте Connections в боковом меню.
  3. Найдите нужное подключение Microsoft Copilot Studio.
  4. Откройте его и скопируйте ID подключения из URL.

Пример URL:

https://make.powerautomate.com/environments/Default-00000000-0000-0000-0000-000000000000/connections/shared_microsoftcopilotstudio/shared-microsoftcopi-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/details

Здесь часть shared-microsoftcopi-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx — это и есть mcsConnectionId.

Важно: если вы попытаетесь запустить ещё один прогон для того же агента, пока предыдущий не завершился, API вернёт HTTP 422.

5. Эндпоинт: статус и результаты прогона

После запуска вы получаете yourTestRunId. По нему можно узнать статус и забрать результаты.

Запрос:

GET https://api.powerplatform.com/copilotstudio/environments/{yourEnvironment}/bots/{yourCdsBotId}/api/makerevaluation/testruns/{yourTestRunId}?api-version=1

Что вернёт:

  • текущий статус прогона;
  • после завершения — итоговый скор и детальные результаты по каждому тесту.

6. Эндпоинт: список прошлых прогонов

Для отчётности и трендов можно получить историю всех запусков.

Запрос:

GET https://api.powerplatform.com/copilotstudio/environments/{yourEnvironment}/bots/{yourCdsBotId}/api/makerevaluation/testruns?api-version=1

Что вернёт:

  • массив объектов прогона, каждый в том же формате, что и одиночный запрос по testruns/{yourTestRunId}.

Как использовать это на практике

  1. Сделайте первый прогон вручную через API:

    • выберите один тестовый набор в Copilot Studio;
    • вызовите GET testsets, найдите его ID;
    • запустите POST .../run с понятным evaluationRunName;
    • заберите результаты и зафиксируйте базовый уровень качества.
  2. Включите API в CI/CD:

    • добавьте шаг в Azure DevOps или GitHub Actions:
      • запуск прогона;
      • ожидание завершения через периодический GET testruns/{id};
      • проверка скоров и остановка пайплайна при падении качества.
  3. Соберите простой дашборд:

    • раз в день или при каждом релизе забирайте историю GET testruns;
    • складывайте результаты в базу или Power BI;
    • отслеживайте, как меняется качество агента по мере релизов.
  4. Автоматизируйте реакции на изменения данных:

    • через Power Automate слушайте обновления в SharePoint или Dataverse;
    • при изменении — запускайте Evaluation API;
    • отправляйте отчёты в Teams или почту.

Если вы серьёзно относитесь к качеству агентов в Microsoft Copilot Studio, эти API превращают разовые ручные проверки в нормальную инженерную практику: постоянные тесты, метрики и автоматические решения по релизу.


Читайте также