Intégration de l’observabilité pour Copilot Studio

Microsoft Copilot Studio agents émettent automatiquement des données de télémétrie vers le back-end d’observabilité de l’agent Microsoft Agent 365. Aucune instrumentation manuelle du SDK n’est requise. Cette observabilité automatique offre une visibilité sur l’activité, les performances et les erreurs de l’agent dans les Microsoft 365 admin center, les Microsoft Defender et les Microsoft Purview.

Cet article explique comment Copilot Studio gère automatiquement l’observabilité et où afficher les données de télémétrie.

Note

Pour connaître les concepts généraux de l'observabilité d'Agent 365 et l'instrumentation manuelle pour les agents pro-code, consultez Agent observabilité. Cet article se concentre sur l’observabilité automatique pour les agents Copilot Studio.

Observabilité automatique

Copilot Studio agents participent automatiquement à l’infrastructure d’observabilité Agent 365 :

  • Aucun KIT SDK requis : contrairement aux agents pro-code qui nécessitent l’installation et la configuration du Kit de développement logiciel (SDK) OpenTelemetry, Copilot Studio gère toutes les émissions de télémétrie dans le runtime de la plateforme.
  • Conformité OpenTelemetry : la télémétrie suit les conventions sémantiques OpenTelemetry, garantissant ainsi la cohérence avec les agents pro-code et d’autres plateformes.
  • Ingestion automatique : la télémétrie transite vers le back-end d’observabilité Agent 365 sans configuration supplémentaire.
  • Disponibilité immédiate : les données d’observabilité apparaissent dans Microsoft 365 admin center en quelques minutes d’activité de l’agent.

Cette automatisation permet la surveillance centralisée, l’analyse de la sécurité et les rapports de conformité sans effort du développeur.

Quelles données de télémétrie sont capturées

Copilot Studio émet automatiquement deux conventions sémantiques OpenTelemetry pour les étendues d’IA générative :

Note

  • La télémétrie est capturée uniquement pour les sessions authentifiées
  • Les agents multilocataires sont exclus de la télémétrie
  • Les agents dont le nom dépasse 42 caractères ne sont pas enregistrés
  • Les entrées et sorties volumineuses sont tronquées automatiquement dans les champs suivants :
    • Messages de sortie
    • Arguments de l’outil
    • Réponse de l’outil (gen_ai.event.content)
    • Description de l’agent

Appeler l’agent

Capture l'activité d'invocation de l'agent :

  • Identification de l’agent : ID, nom, Entra ID et type de l’agent appelé
  • Identification de l’utilisateur : qui a interagi avec l’agent (lors de l’utilisation d’un flux de substitution)
  • Message d’entrée : message utilisateur envoyé à l’agent (données sensibles supprimées)
  • Autres identificateurs : ID de locataire et d’environnement
  • Horodatages de début et de fin : quand l'activation a commencé et s'est terminée

Exemple d’événement

{
  "Name": "InvokeAgent",
  "Attributes": {
    "gen_ai.operation.name": "invoke_agent",
    "gen_ai.agent.id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "gen_ai.agent.name": "customer-support-agent",
    "gen_ai.agent.applicationid": "12345678-90ab-cdef-1234-567890abcdef",
    "gen_ai.agent.platformid": "Default-11111111-2222-3333-4444-555555555555_01234567-89ab-cdef-0123-456789abcdef",
    "gen_ai.agent.type": "CopilotStudio",
    "tenant.id": "11111111-2222-3333-4444-555555555555",
    "gen_ai.channel.name": "Copilot Studio Test Pane",
    "gen_ai.execution.type": "HumanToAgent",
    "gen_ai.conversation.id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "gen_ai.caller.id": "99999999-8888-7777-6666-555555555555",
    "gen_ai.caller.upn": "alex.smith@contoso.com",
    "gen_ai.caller.name": "Alex Smith",
    "gen_ai.caller.client.ip": "192.168.1.100",
    "gen_ai.caller.tenantid": "11111111-2222-3333-4444-555555555555",
    "gen_ai.input.messages": "What's the weather in Seattle?",
    "env.id": "Default-11111111-2222-3333-4444-555555555555"
  },
  "StartTimeUnixNano": 1700000000000000000,
  "EndTimeUnixNano": 0,
  "SpanId": "aaaa1111-bbbb-2222-cccc-333333333333"
}

Message de sortie

Capture la sortie de l’agent :

  • Message de sortie : réponse de l’agent à l’utilisateur (données sensibles supprimées)

Note

Les messages d’erreur provenant d’appels d’agent ou d’exécutions d’outils sont enregistrés en tant que messages de sortie.

Voici un autre exemple d’événement.

{
  "Name": "OutputMessages",
  "Attributes": {
    "gen_ai.operation.name": "output_messages",
    "gen_ai.agent.id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "gen_ai.agent.name": "customer-support-agent",
    "gen_ai.agent.applicationid": "12345678-90ab-cdef-1234-567890abcdef",
    "gen_ai.agent.platformid": "Default-11111111-2222-3333-4444-555555555555_01234567-89ab-cdef-0123-456789abcdef",
    "gen_ai.agent.type": "CopilotStudio",
    "tenant.id": "11111111-2222-3333-4444-555555555555",
    "gen_ai.output.messages": "The current weather in **Seattle, WA** is:\n\n- **Temperature:** 18°C (feels like 17°C)...",
    "gen_ai.conversation.id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "gen_ai.channel.name": "Copilot Studio Test Pane",
    "gen_ai.caller.id": "99999999-8888-7777-6666-555555555555",
    "gen_ai.caller.upn": "alex.smith@contoso.com",
    "gen_ai.caller.name": "Alex Smith",
    "gen_ai.caller.client.ip": "192.168.1.100",
    "gen_ai.caller.tenantid": "11111111-2222-3333-4444-555555555555",
    "env.id": "Default-11111111-2222-3333-4444-555555555555"
  },
  "StartTimeUnixNano": 0,
  "EndTimeUnixNano": 1700000005000000000,
  "SpanId": "bbbb2222-cccc-3333-dddd-444444444444",
  "ParentSpanId": "aaaa1111-bbbb-2222-cccc-333333333333"
}

Exécuter l'outil

Capture l’exécution de l’outil lorsque votre agent utilise des connecteurs ou des actions :

  • Identification de l’agent : ID, nom, Entra ID et type de l’agent appelé
  • Identification de l’outil : ID et nom de l’outil exécuté
  • Arguments de l’outil : Quelles données ont été envoyées (données sensibles supprimées)
  • Identification de l’utilisateur : qui interagit avec l’agent (lors de l’utilisation du flux on-Behalf-Of)
  • Autres identificateurs : ID de locataire et d’environnement
  • Horodatages de début et de fin : lorsque l’exécution a commencé et s’est terminée

Voici un autre exemple d’événement.

{
  "Name": "ExecuteTool",
  "Attributes": {
    "gen_ai.operation.name": "execute_tool",
    "gen_ai.agent.id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "gen_ai.agent.name": "customer-support-agent",
    "gen_ai.agent.applicationid": "12345678-90ab-cdef-1234-567890abcdef",
    "gen_ai.agent.platformid": "Default-11111111-2222-3333-4444-555555555555_01234567-89ab-cdef-0123-456789abcdef",
    "gen_ai.agent.type": "CopilotStudio",
    "tenant.id": "11111111-2222-3333-4444-555555555555",
    "gen_ai.tool.name": "msnweather:CurrentWeather",
    "gen_ai.tool.arguments": "{\"Location\":\"Seattle, WA\",\"units\":\"C\"}",
    "gen_ai.tool.call.id": "/providers/Microsoft.PowerApps/apis/shared_msnweather:CurrentWeather:abcdef12-3456-7890-abcd-ef1234567890",
    "gen_ai.tool.type": "Power Platform Connector",
    "gen_ai.conversation.id": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
    "gen_ai.event.content": "{ /* tool execution results */ }",
    "gen_ai.channel.name": "Copilot Studio Test Pane",
    "gen_ai.caller.id": "99999999-8888-7777-6666-555555555555",
    "gen_ai.caller.upn": "alex.smith@contoso.com",
    "gen_ai.caller.name": "Alex Smith",
    "gen_ai.caller.client.ip": "192.168.1.100",
    "gen_ai.caller.tenantid": "11111111-2222-3333-4444-555555555555",
    "env.id": "Default-11111111-2222-3333-4444-555555555555"
  },
  "StartTimeUnixNano": 1700000002000000000,
  "EndTimeUnixNano": 0,
  "SpanId": "cccc3333-dddd-4444-eeee-555555555555",
  "ParentSpanId": "aaaa1111-bbbb-2222-cccc-333333333333"
}

Toutes les données de télémétrie respectent les limites de confidentialité. Les données utilisateur sensibles dans les messages et les entrées et sorties des outils sont régérées et non visibles par les administrateurs. La télémétrie est utilisée à des fins de surveillance et de conformité de la sécurité internes.

Étapes suivantes