Copilot Studio의 관찰성 통합

Microsoft Copilot Studio 에이전트는 별도의 SDK 계측 없이 자동으로 텔레메트리를 Microsoft Agent 365 관찰성 백엔드에 발행합니다. 이 자동 관찰성은 Microsoft 365 관리 센터, Microsoft Defender, Microsoft Purview 전반에 걸쳐 에이전트 활동, 성능, 오류에 대한 가시성을 제공합니다.

이 문서에서는 Copilot Studio가 가시성을 자동으로 처리하는 방식과 텔레메트리 데이터를 볼 수 있는 위치를 설명합니다.

참고

일반적인 Agent 365 가시성 개념과 프로코드 에이전트의 수동 계측에 대해서는 에이전트 가시성을 참조하세요. 이 문서는 Copilot Studio 에이전트의 자동 가시성을 다룹니다.

자동 가시성

Copilot Studio 에이전트는 Agent 365 관측 프레임워크에 자동으로 참여합니다:

  • SDK 필요 없음: OpenTelemetry SDK 설치 및 설정이 필요한 프로코드 에이전트와 달리, Copilot Studio는 플랫폼 런타임에서 모든 텔레메트리 방출을 자동으로 처리합니다.
  • OpenTelemetry 준수: Telemetry는 OpenTelemetry semantic conventions을 따라 프로코드 에이전트 및 기타 플랫폼과의 일관성을 보장합니다.
  • 자동 수집: 텔레메트리가 추가 설정 없이 Agent 365 가시성 백엔드로 전송됩니다.
  • 즉시 확인 가능: 가시성 데이터가 에이전트 활동 후 몇 분 이내에 Microsoft 365 관리 센터에 나타납니다.

이 자동화는 개발자의 노력 없이도 중앙 집중식 모니터링, 보안 분석, 준수 보고를 가능하게 합니다.

수집되는 텔레메트리

Copilot Studio는 생성형 AI 스팬에 대해 두 가지 OpenTelemetry 의미 규칙을 자동으로 전송합니다.

참고

  • 텔레메트리는 인증된 세션에만 수집됩니다
  • 다중 테넌트 에이전트는 텔레메트리에서 제외됩니다
  • 이름이 42자를 초과하는 에이전트는 기록되지 않습니다
  • 큰 입력과 출력은 다음 필드에서 자동으로 잘립니다:
    • 출력 메시지
    • 도구 인수
    • 도구 응답 (gen_ai.event.content)
    • 에이전트 설명

에이전트 호출

에이전트 호출 활동 기록:

  • 에이전트 식별: 호출된 에이전트의 ID, 이름, Entra ID, 유형
  • 사용자 식별: On-Behalf-Of 흐름(OBO) 사용 시 에이전트와 상호작용한 사용자
  • 입력 메시지: 사용자가 에이전트에게 보낸 메시지 (중요한 데이터 삭제됨)
  • 기타 식별자: 테넌트 및 환경 ID
  • 시작 및 종료 타임스탬프: 호출이 시작된 시점과 종료된 시점

예제 이벤트

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

출력 메시지

에이전트의 출력 캡처:

  • 출력 메시지: 에이전트가 사용자에게 보낸 응답 (중요한 데이터 삭제됨)

참고

에이전트 호출이나 도구 실행에서 발생하는 오류 메시지는 출력 메시지로 기록됩니다.

다음은 추가 예제 이벤트입니다.

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

도구 실행

에이전트가 커넥터나 액션을 사용할 때 해당 도구 실행을 기록합니다:

  • 에이전트 식별: 호출된 에이전트의 ID, 이름, Entra ID, 유형
  • 도구 식별: 실행된 도구의 ID 및 이름
  • 도구 매개변수: 어떤 데이터가 전송되었는지 (중요한 데이터가 삭제됨)
  • 사용자 식별: 에이전트와 상호작용한 사람 (On-Behalf-Of 흐름을 사용할 때)
  • 기타 식별자: 테넌트 및 환경 ID
  • 시작 및 종료 타임스탬프: 실행이 시작된 시각과 종료된 시각

다음은 추가 예제 이벤트입니다.

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

모든 텔레메트리는 개인정보 보호 경계를 존중합니다. 메시지 및 도구 입력 및 출력에 포함된 민감한 사용자 데이터는 마스킹 처리되어 관리자에게 보이지 않습니다. 텔레메트리는 내부 보안 모니터링 및 준수 목적으로 사용됩니다.

다음 단계