Integración de observabilidad para Copilot Studio

Los agentes de Microsoft Copilot Studio emiten automáticamente telemetría al backend de observabilidad de Microsoft Agent 365, sin necesidad de instrumentación manual del SDK. Esta observabilidad automática proporciona visibilidad de la actividad, el rendimiento y los errores del agente en Centro de administración de Microsoft 365, Microsoft Defender y Microsoft Purview.

En este artículo se explica cómo Copilot Studio controla la observabilidad automáticamente y dónde ver los datos de telemetría.

Nota:

Para conocer los conceptos generales de observabilidad del Agente 365 y la instrumentación manual para agentes de código pro, consulte Observabilidad del agente. Este artículo se centra en la observabilidad automática para los agentes de Copilot Studio.

Observabilidad automática

Los agentes de Copilot Studio participan automáticamente en el marco de observabilidad de Agentes 365.

  • No se requiere ningún SDK: a diferencia de los agentes de código pro que requieren la instalación y configuración del SDK de OpenTelemetry, Copilot Studio controla todas las emisiones de telemetría en el entorno de ejecución de la plataforma.
  • Cumplimiento de OpenTelemetry: la telemetría sigue las convenciones semánticas de OpenTelemetry, lo que garantiza la coherencia con agentes de código pro y otras plataformas.
  • Ingesta automática: la telemetría fluye al back-end de observabilidad del Agente 365 sin configuración adicional.
  • Disponibilidad inmediata: los datos de observabilidad aparecen en Centro de administración de Microsoft 365 en cuestión de minutos después de la actividad del agente.

Esta automatización permite la supervisión centralizada, el análisis de seguridad y los informes de cumplimiento sin esfuerzo para desarrolladores.

Qué telemetría se captura

Copilot Studio emite automáticamente dos convenciones semánticas de OpenTelemetry para intervalos de IA generativos:

Nota:

  • La telemetría solo se captura para sesiones autenticadas
  • Los agentes multicliente están excluidos de la telemetría
  • Los agentes con nombres de más de 42 caracteres no se registran
  • Las entradas y salidas grandes se truncan automáticamente en los campos siguientes:
    • Mensajes de salida
    • Argumentos de la herramienta
    • Respuesta de la herramienta (gen_ai.event.content)
    • Descripción del agente

Invocar agente

Captura la actividad de invocación del agente:

  • Identificación del agente: identificador, nombre, Entra ID y tipo del agente invocado
  • Identificación del usuario: quién interactuó con el agente (cuando se usa un flujo en representación de)
  • Mensaje de entrada: mensaje de usuario enviado al agente (datos confidenciales censurados)
  • Otros identificadores: identificadores de inquilino y entorno
  • Marcas de tiempo de inicio y finalización: cuando se inició y finalizó la invocación

Evento de ejemplo

{
  "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"
}

Mensaje de salida

Captura la salida del agente:

  • Mensaje de salida: la respuesta del agente al usuario (datos confidenciales censurados)

Nota:

Los mensajes de error de las invocaciones del agente o las ejecuciones de herramientas se registran como mensajes de salida.

A continuación se muestra otro evento de ejemplo.

{
  "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"
}

Ejecutar herramienta

Captura la ejecución de la herramienta cuando el agente utiliza conectores o acciones.

  • Identificación del agente: identificador, nombre, Entra ID y tipo del agente invocado
  • Identificación de herramientas: el identificador y el nombre de la herramienta ejecutada
  • Argumentos de la herramienta: Qué datos se enviaron (datos confidenciales censurados)
  • Identificación del usuario: quién interactúó con el agente (cuando se usa el flujo on-Behalf-Of)
  • Otros identificadores: identificadores de inquilino y entorno
  • Marcas de tiempo de inicio y finalización: cuando se inició y finalizó la ejecución

A continuación se muestra otro evento de ejemplo.

{
  "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"
}

Toda la telemetría respeta los límites de privacidad. Los datos confidenciales del usuario en mensajes y entradas y salidas de herramientas se redactan y no son visibles para los administradores. La telemetría se usa con fines internos de supervisión y cumplimiento de la seguridad.

Pasos siguientes