Integração de observabilidade para Copilot Studio

Os agentes Microsoft Copilot Studio emitem telemetria automaticamente para o back-end de observabilidade do Microsoft Agent 365 — sem necessidade de instrumentação manual do SDK. Esta observabilidade automática proporciona visibilidade sobre a atividade, o desempenho e os erros dos agentes no centro de administração do Microsoft 365, Microsoft Defender e Microsoft Purview.

Este artigo explica como o Copilot Studio processa automaticamente a observabilidade e onde ver os dados de telemetria.

Nota

Para conceitos gerais de observabilidade do Agent 365 e instrumentação manual para agentes pro‑code, consulte Observabilidade do agente. Este artigo centra-se na observabilidade automática para agentes do Copilot Studio.

Observabilidade automática

Os agentes do Copilot Studio participam automaticamente na estrutura de observabilidade do Agent 365:

  • Sem necessidade de SDK: ao contrário dos agentes pro‑code, que exigem instalação e configuração do SDK do OpenTelemetry, o Copilot Studio processa toda a emissão de telemetria no runtime da plataforma.
  • Conformidade com OpenTelemetry: a telemetria segue as convenções semânticas do OpenTelemetry, garantindo consistência com agentes pro-code e outras plataformas.
  • Ingestão automática: A telemetria flui para o back-end de observabilidade do Agent 365 sem configuração adicional.
  • Disponibilidade imediata: Os dados de observabilidade aparecem no centro de administração do Microsoft 365 em poucos minutos após a atividade do agente.

Esta automatização permite monitorização centralizada, análise de segurança e relatórios de conformidade sem esforço por parte dos programadores.

Que telemetria é capturada

O Copilot Studio emite automaticamente duas convenções semânticas OpenTelemetry para spans de IA generativa:

Nota

  • A telemetria é capturada apenas para sessões autenticadas
  • Os agentes multi-inquilino estão excluídos da telemetria
  • Os agentes com nomes superiores a 42 carateres não são registados
  • Entradas e saídas de grande dimensão são automaticamente truncadas nos seguintes campos:
    • Mensagens de saída
    • Argumentos da ferramenta
    • Resposta da ferramenta (gen_ai.event.content)
    • Descrição do agente

Invocar agente

Captura a atividade de invocação do agente:

  • Identificação do agente: O ID, nome, Entra ID e tipo do agente invocado
  • Identificação do utilizador: Quem interagiu com o agente (ao utilizar o fluxo On-Behalf-Of)
  • Mensagem de entrada: Mensagem do utilizador enviada ao agente (dados confidenciais rasurados)
  • Outros identificadores: IDs de inquilino e de ambiente
  • Carimbos de data/hora de início e fim: Quando a invocação começou e terminou

Evento de exemplo

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

Mensagem de saída

Captura a saída do agente:

  • Mensagem de saída: A resposta do agente ao utilizador (dados confidenciais rasurados)

Nota

As mensagens de erro provenientes de invocações de agentes ou execuções de ferramentas são registadas como mensagens de saída.

Segue-se outro exemplo de evento.

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

Executar ferramenta

Captura a execução de ferramenta quando o agente utiliza conectores ou ações:

  • Identificação do agente: O ID, nome, Entra ID e tipo do agente invocado
  • Identificação da ferramenta: O ID e o nome da ferramenta executada
  • Argumentos da ferramenta: Que dados foram enviados (dados confidenciais rasurados)
  • Identificação do utilizador: Quem interagiu com o agente (ao utilizar o fluxo On-Behalf-Of)
  • Outros identificadores: IDs de inquilino e de ambiente
  • Carimbos de data/hora de início e fim: Quando começou e terminou a execução

Segue-se outro exemplo de evento.

{
  "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 a telemetria respeita os limites de privacidade. Os dados confidenciais dos utilizadores em mensagens e entradas e saídas de ferramentas são rasurados e não são visíveis para os administradores. A telemetria é utilizada para monitorização de segurança interna e fins de conformidade.

Passos seguintes