Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Debe formar parte del programa de versión preliminar de Frontier para obtener acceso anticipado a Microsoft Agent 365. Frontier le conecta directamente con las innovaciones de inteligencia artificial más recientes de Microsoft. Las versiones preliminares de Frontier están sujetas a los términos de vista previa existentes en tus acuerdos con clientes. Dado que estas características siguen en desarrollo, su disponibilidad y funcionalidades pueden cambiar con el tiempo.
Para participar en el ecosistema de Agent 365, debe agregar funcionalidades de observabilidad de Agent 365 al agente. La observabilidad de Agent 365 se basa en OpenTelemetry (OTel) y proporciona un marco unificado para capturar la telemetría de forma coherente y segura en todas las plataformas de agente. Al implementar este componente necesario, permite a los administradores de TI supervisar la actividad del agente en el Centro de administración de Microsoft (MAC) y permitir que los equipos de seguridad usen Defender y Purview para la detección de amenazas y cumplimiento.
Beneficios clave
- Visibilidad integral: capture telemetría completa para cada invocación de agente, incluidas las sesiones, las llamadas a herramientas y las excepciones, lo que proporciona una rastreabilidad completa en todas las plataformas.
- Habilitación de seguridad y cumplimiento: envíe registros de auditoría unificados a Defender y Purview, permitiendo escenarios de seguridad avanzada e informes de cumplimiento para su agente.
- Flexibilidad multiplataforma: compile los estándares de OTel y admita diversos runtimes y plataformas como Copilot Studio, Foundry y marcos de agente futuros.
- Eficiencia operativa para administradores: proporcione observabilidad centralizada en MAC, reduciendo el tiempo de solución de problemas y mejorando la gobernanza con controles de acceso basados en roles para los equipos de TI que administran el agente.
Instalación
Use estos comandos para instalar los módulos de observabilidad para los idiomas admitidos por Agent 365.
pip install microsoft-agents-a365-observability-core
pip install microsoft-agents-a365-runtime
Configuración
Utiliza las siguientes configuraciones para habilitar y personalizar la observabilidad del Agente 365 para tu agente.
Las variables de entorno necesarias para la observabilidad son:
| Variable de entorno | Descripción |
|---|---|
ENABLE_OBSERVABILITY=true |
Marca para habilitar o deshabilitar el seguimiento. De manera predeterminada, false |
ENABLE_A365_OBSERVABILITY_EXPORTER=true |
True exporta registros a nuestro servicio. De lo contrario, vuelve al exportador de la consola. |
from microsoft_agents_a365.observability.core import config
def token_resolver(agent_id: str, tenant_id: str) -> str | None:
# Implement secure token retrieval here
return "Bearer <token>"
config.configure(
service_name="my-agent-service",
service_namespace="my.namespace",
token_resolver=token_resolver,
)
Excluya la resolución de tokens para iniciar sesión en la consola.
Atributos de equipaje
Use BaggageBuilder para establecer información contextual que fluye a través de todos los intervalos de una solicitud.
El SDK implementa una SpanProcessor copia de todas las entradas de equipaje no vacías en intervalos recién iniciados sin sobrescribir los atributos existentes.
from microsoft_agents_a365.observability.core.middleware.baggage_builder import BaggageBuilder
with (
BaggageBuilder()
.tenant_id("tenant-123")
.agent_id("agent-456")
.correlation_id("corr-789")
.build()
):
# Any spans started in this context will receive these as attributes
pass
Resolución de tokens
Al usar el exportador de Agent 365, debe proporcionar una función de resolución de tokens que devuelva el token de autenticación.
Al usar el SDK de observabilidad de Agent 365 con el marco de hospedaje del agente, puede generar tokens mediante TurnContext de las actividades del agente.
from microsoft_agents.activity import load_configuration_from_env
from microsoft_agents.authentication.msal import MsalConnectionManager
from microsoft_agents.hosting.aiohttp import CloudAdapter
from microsoft_agents.hosting.core import (
AgentApplication,
Authorization,
MemoryStorage,
TurnContext,
TurnState,
)
from microsoft_agents_a365.runtime.environment_utils import (
get_observability_authentication_scope,
)
agents_sdk_config = load_configuration_from_env(environ)
STORAGE = MemoryStorage()
CONNECTION_MANAGER = MsalConnectionManager(**agents_sdk_config)
ADAPTER = CloudAdapter(connection_manager=CONNECTION_MANAGER)
ADAPTER.use(TranscriptLoggerMiddleware(ConsoleTranscriptLogger()))
AUTHORIZATION = Authorization(STORAGE, CONNECTION_MANAGER, **agents_sdk_config)
AGENT_APP = AgentApplication[TurnState](
storage=STORAGE, adapter=ADAPTER, authorization=AUTHORIZATION, **agents_sdk_config
)
@AGENT_APP.activity("message", auth_handlers=["AGENTIC"])
async def on_message(context: TurnContext, _state: TurnState):
aau_auth_token = await AGENT_APP.auth.exchange_token(
context,
scopes=get_observability_authentication_scope(),
auth_handler_id="AGENTIC",
)
# cache this auth token and return via token resolver
Instrumentación automática
La instrumentación automática escucha automáticamente las señales de telemetría existentes de marcos de agente (SDK) para seguimientos y las reenvía al servicio de observabilidad de Agent 365. Esto elimina la necesidad de que los desarrolladores escriban código de supervisión manualmente, simplificando la configuración y garantizando un seguimiento coherente del rendimiento.
La instrumentación automática se admite en varios SDK y plataformas:
| Plataforma | SDK o marcos admitidos |
|---|---|
| .NET | Kernel semántico, OpenAI, Agent Framework |
| Python | Kernel semántico, OpenAI, Agent Framework, LangChain |
| Node.js | OpenAI |
Nota
La compatibilidad con la instrumentación automática varía según la plataforma y la implementación del SDK.
Kernel semántico
La instrumentación automática requiere el uso del generador de equipaje. Establezca el id. de agente y el id. de inquilino mediante BaggageBuilder.
Instalar el paquete
pip install microsoft-agents-a365-observability-extensions-semantic-kernel
Configuración de la observabilidad
from microsoft_agents_a365.observability.core.config import configure
from microsoft_agents_a365.observability.extensions.semantic_kernel import SemanticKernelInstrumentor
# Configure observability
configure(
service_name="my-semantic-kernel-agent",
service_namespace="ai.agents"
)
# Enable auto-instrumentation
instrumentor = SemanticKernelInstrumentor()
instrumentor.instrument()
# Your Semantic Kernel code is now automatically traced
OpenAI
La instrumentación automática requiere el uso del generador de equipaje. Establezca el id. de agente y el id. de inquilino mediante BaggageBuilder.
Instale el paquete .
pip install microsoft-agents-a365-observability-extensions-openai
Configure la observabilidad.
from microsoft_agents_a365.observability.core.config import configure
from microsoft_agents_a365.observability.extensions.openai_agents import OpenAIAgentsTraceInstrumentor
# Configure observability
configure(
service_name="my-openai-agent",
service_namespace="ai.agents"
)
# Enable auto-instrumentation
instrumentor = OpenAIAgentsTraceInstrumentor()
instrumentor.instrument()
# Your OpenAI Agents code is now automatically traced
Marco de trabajo del agente
La instrumentación automática requiere el uso del generador de equipaje. Establezca el id. de agente y el id. de inquilino mediante BaggageBuilder.
Instalar el paquete
pip install microsoft-agents-a365-observability-extensions-agent-framework
Configuración de la observabilidad
from microsoft_agents_a365.observability.core.config import configure
from microsoft_agents_a365.observability.extensions.agentframework.trace_instrumentor import (
AgentFrameworkInstrumentor,
)
# Configure observability
configure(
service_name="AgentFrameworkTracingWithAzureOpenAI",
service_namespace="AgentFrameworkTesting",
)
# Enable auto-instrumentation
AgentFrameworkInstrumentor().instrument()
Marco de LangChain
La instrumentación automática requiere el uso del generador de equipaje. Establezca el id. de agente y el id. de inquilino mediante BaggageBuilder.
Instale el paquete .
pip install microsoft-agents-a365-observability-extensions-langchain
Configuración de la observabilidad
from microsoft_agents_a365.observability.core.config import configure
from microsoft_agents_a365.observability.extensions.langchain import CustomLangChainInstrumentor
# Configure observability
configure(
service_name="my-langchain-agent",
service_namespace="ai.agents"
)
# Enable auto-instrumentation
CustomLangChainInstrumentor()
# Your LangChain code is now automatically traced
Instrumentación manual
El SDK de observabilidad de Agent 365 se puede usar para comprender el funcionamiento interno del agente.
El SDK proporciona tres ámbitos que se pueden iniciar: InvokeAgentScope, ExecuteToolScope y InferenceScope.
Invocación de agente
Este ámbito debe usarse al principio del proceso del agente. Con el ámbito del agente de invocación, se capturan propiedades como el agente actual que se invoca, los datos de usuario del agente, etc.
from microsoft_agents_a365.observability.core.invoke_agent_scope import InvokeAgentScope
from microsoft_agents_a365.observability.core.invoke_agent_details import InvokeAgentDetails
from microsoft_agents_a365.observability.core.tenant_details import TenantDetails
from microsoft_agents_a365.observability.core.request import Request
invoke_details = InvokeAgentDetails(
details=agent_details, # AgentDetails instance
endpoint=my_endpoint, # Optional endpoint (with hostname/port)
session_id="session-42"
)
tenant_details = TenantDetails(tenant_id="tenant-123")
req = Request(content="User asks a question")
with InvokeAgentScope.start(invoke_details, tenant_details, req):
# Perform agent invocation logic
response = call_agent(...)
Ejecución de herramientas
En los ejemplos siguientes se muestra cómo instrumentar la ejecución de herramientas del agente con seguimiento de observabilidad para capturar telemetría con fines de supervisión y auditoría.
from microsoft_agents_a365.observability.core.execute_tool_scope import ExecuteToolScope
from microsoft_agents_a365.observability.core.tool_call_details import ToolCallDetails
tool_details = ToolCallDetails(
tool_name="summarize",
tool_type="function",
tool_call_id="tc-001",
arguments="{'text': '...'}",
description="Summarize provided text",
endpoint=None # or endpoint object with hostname/port
)
with ExecuteToolScope.start(tool_details, agent_details, tenant_details):
result = run_tool(tool_details)
Inferencia
En los ejemplos siguientes se muestra cómo instrumentar llamadas de inferencia del modelo de IA con seguimiento de observabilidad para capturar el uso de tokens, los detalles del modelo y los metadatos de respuesta.
from microsoft_agents_a365.observability.core.inference_scope import InferenceScope
from microsoft_agents_a365.observability.core.inference_call_details import InferenceCallDetails
from microsoft_agents_a365.observability.core.request import Request
inference_details = InferenceCallDetails(
operationName=SomeEnumOrValue("chat"),
model="gpt-4o-mini",
providerName="azure-openai",
inputTokens=123,
outputTokens=456,
finishReasons=["stop"],
responseId="resp-987"
)
req = Request(content="Explain quantum computing simply.")
with InferenceScope.start(inference_details, agent_details, tenant_details, req):
completion = call_llm(...)
Validar localmente
Para verificar que has integrado con éxito con el SDK de observabilidad, examina los registros de consola generados por tu agente.
Establezca la variable de entorno ENABLE_A365_OBSERVABILITY_EXPORTER en false. Esta exportación abarca (seguimientos) a la consola.
Registros de muestra
Los troncos pueden verse ligeramente diferentes según la plataforma.
Log de consola Invoke agent span
Este ejemplo ilustra un span típico de agente de invocación impreso por el exportador de consola cuando la validación local está habilitada.
{
"name": "invoke_agent Azure OpenAI Agent",
"context": {
"trace_id": "0x4bd8f606688c3f3347d69c1b6539c957",
"span_id": "0x0766d68605234692",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": null,
"start_time": "2025-11-24T16:16:54.017403Z",
"end_time": "2025-11-24T16:17:09.373357Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"operation.source": "SDK",
"correlation.id": "aaaa0000-bb11-2222-33cc-444444dddddd",
"gen_ai.conversation.item.link": "http://localhost:56150/_connector",
"gen_ai.agent.upn": "Delivery Agent",
"gen_ai.agent.user.id": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"gen_ai.caller.id": "bbbbbbbb-cccc-dddd-2222-333333333333",
"gen_ai.caller.name": "Alex Wilber",
"gen_ai.caller.upn": "Sample UPN",
"gen_ai.channel.name": "msteams",
"gen_ai.system": "az.ai.agent365",
"gen_ai.operation.name": "invoke_agent",
"gen_ai.agent.id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"gen_ai.agent.name": "Azure OpenAI Agent",
"gen_ai.agent.description": "An AI agent powered by Azure OpenAI",
"gen_ai.agent.applicationid": "00001111-aaaa-2222-bbbb-3333cccc4444",
"gen_ai.conversation.id": "__PERSONAL_CHAT_ID__",
"tenant.id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"session.id": "__PERSONAL_CHAT_ID__",
"gen_ai.execution.type": "HumanToAgent",
"gen_ai.input.messages": "[\"hi, what can you do\"]",
"gen_ai.output.messages": "[\"Hi! I can assist you with a variety of tasks, including answering questions, providing information on a wide range of topics, helping with problem-solving, offering writing assistance, and more. Just let me know what you need help with!\"]"
},
"events": [],
"links": [],
"resource": {
"attributes": {
"telemetry.sdk.language": "python",
"telemetry.sdk.name": "opentelemetry",
"telemetry.sdk.version": "1.38.0",
"service.namespace": "MyAgentTesting",
"service.name": "MyAgentTracing"
},
"schema_url": ""
}}
Registro de consola para la herramienta de ejecución
Este ejemplo muestra un span típico de herramienta de ejecución emitido por el exportador de consola durante la validación local.
{
"name": "execute_tool get_weather",
"context": {
"trace_id": "0xa9a1be6323bd52476d6a28b8893c6aa8",
"span_id": "0x1dec90d34ecc0823",
"trace_state": "[]"
},
"kind": "SpanKind.INTERNAL",
"parent_id": "0x2e727b4c133cbd50",
"start_time": "2025-11-24T18:47:55.960305Z",
"end_time": "2025-11-24T18:47:55.962306Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"operation.source": "SDK",
"correlation.id": "aaaa0000-bb11-2222-33cc-444444dddddd",
"gen_ai.conversation.item.link": "http://localhost:56150/_connector",
"gen_ai.agent.upn": "Delivery Agent",
"gen_ai.agent.user.id": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"gen_ai.execution.type": "HumanToAgent",
"gen_ai.channel.name": "msteams",
"gen_ai.system": "az.ai.agent365",
"gen_ai.operation.name": "execute_tool",
"gen_ai.agent.id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"gen_ai.agent.name": "Azure OpenAI Agent",
"gen_ai.agent.description": "An AI agent powered by Azure OpenAI",
"gen_ai.agent.applicationid": "00001111-aaaa-2222-bbbb-3333cccc4444",
"gen_ai.conversation.id": "__PERSONAL_CHAT_ID__",
"tenant.id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"gen_ai.tool.name": "get_weather",
"gen_ai.tool.arguments": "current location",
"gen_ai.tool.type": "function",
"gen_ai.tool.call.id": "bbbbbbbb-1111-2222-3333-cccccccccccc",
"gen_ai.tool.description": "Executing get_weather tool"
},
"events": [],
"links": [],
"resource": {
"attributes": {
"telemetry.sdk.language": "python",
"telemetry.sdk.name": "opentelemetry",
"telemetry.sdk.version": "1.38.0",
"service.namespace": "MyAgentTesting",
"service.name": "MyAgentTracing"
},
"schema_url": ""
}
}
Intervalo de inferencia logarítmica en consola
Este ejemplo demuestra una salida típica de intervalo de inferencia del exportador de consola utilizado para la validación local.
{
"name": "Chat gpt-4o-mini",
"context": {
"trace_id": "0xceb86559a6f7c2c16a45ec6e0b201ae1",
"span_id": "0x475beec8c1c4fa56",
"trace_state": "[]"
},
"kind": "SpanKind.CLIENT",
"parent_id": "0x959a854f18fa2c22",
"start_time": "2025-11-24T18:04:07.061703Z",
"end_time": "2025-11-24T18:04:09.506951Z",
"status": {
"status_code": "UNSET"
},
"attributes": {
"operation.source": "SDK",
"correlation.id": "aaaa0000-bb11-2222-33cc-444444dddddd",
"gen_ai.conversation.item.link": "http://localhost:56150/_connector",
"gen_ai.agent.upn": "Delivery Agent",
"gen_ai.agent.user.id": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"gen_ai.execution.type": "HumanToAgent",
"gen_ai.channel.name": "msteams",
"gen_ai.system": "az.ai.agent365",
"gen_ai.agent.id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
"gen_ai.agent.name": "Azure OpenAI Agent",
"gen_ai.agent.description": "An AI agent powered by Azure OpenAI",
"gen_ai.agent.applicationid": "00001111-aaaa-2222-bbbb-3333cccc4444",
"gen_ai.conversation.id": "__PERSONAL_CHAT_ID__",
"tenant.id": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"gen_ai.input.messages": "hi, what can you do",
"gen_ai.operation.name": "Chat",
"gen_ai.request.model": "gpt-4o-mini",
"gen_ai.provider.name": "Azure OpenAI",
"gen_ai.output.messages": "\"Hello! I can help answer questions, provide information, assist with problem-solving, offer writing suggestions, and more. Just let me know what you need!\"",
"gen_ai.usage.input_tokens": "33",
"gen_ai.usage.output_tokens": "32",
"gen_ai.response.finish_reasons": "[\"stop\"]"
},
"events": [],
"links": [],
"resource": {
"attributes": {
"telemetry.sdk.language": "python",
"telemetry.sdk.name": "opentelemetry",
"telemetry.sdk.version": "1.38.0",
"service.namespace": "MyAgentTesting",
"service.name": "MyAgentTracing"
},
"schema_url": ""
}
}
Requisitos de observabilidad
Los administradores de TI utilizan los datos que estableces en tu código para monitorizar la actividad de tu agente. Los datos incompletos significan que los beneficios de la observabilidad no se han realizado plenamente. Los agentes deben proporcionar los datos necesarios para recibir todos los beneficios esperados. Un proceso de validación verificará que estos datos existen.
Dentro de la telemetría existen conceptos de alcance o contexto. Cada operación que realiza tu agente existe dentro de un ámbito diferente. Los datos deben incluirse dentro de los BaggageScope atributos creados usando equipaje, o dentro de los ámbitos individuales descritos en Instrumentación Manual.
Para validar tu implementación, sigue las instrucciones para validar localmente y generar registros de consola para tu instrumentación. Luego revisa la sección [Validar para atributos requeridos](#validate-para-atributos reutilizados) para identificar qué atributos son necesarios y cuáles son opcionales. Todos los atributos requeridos deben estar configurados para superar la validación con éxito.
Revisa las propiedades requeridas y los valores de parámetros descritos para estas clases:
Las propiedades establecidas usando la clase BaggageBuilder pueden ser establecidas o anuladas por las propiedades de los respectivos ámbitos.
Establezca las propiedades en la siguiente tabla usando el método InvokeAgentScope.start.
Data Descripción invoke_agent_details.details.agent_idIdentificador único para el agente de IA invoke_agent_details.details.agent_nameEl nombre legible del agente de IA invoke_agent_details.details.agent_auidIdentificador de usuario del agente (AUID) invoke_agent_details.details.agent_upnEl nombre principal de usuario del agente (UPN) invoke_agent_details.details.agent_blueprint_idEl plano técnico del agente o el identificador de aplicación invoke_agent_details.details.tenant_idIdentificador de inquilino del agente invoke_agent_details.details.conversation_idIdentificador de la conversación o sesión invoke_agent_details.endpointPunto de conexión de la invocación del agente tenant_details.tenant_idIdentificador único del inquilino request.contentEl contenido de la carga útil enviado al agente para su invocación request.execution_typeTipo de invocación que indica el origen de la solicitud (por ejemplo, HumanToAgentoAgentToAgent)caller_details.caller_idIdentificador único del autor de la llamada caller_details.caller_upnNombre principal de usuario (UPN) del autor de la llamada caller_details.caller_user_idIdentificador de usuario del autor de la llamada caller_details.tenant_idIdentificador de inquilino del autor de la llamada Establezca las propiedades en la siguiente tabla usando el método ExecuteToolScope.start.
Data Descripción details.tool_nameNombre de la herramienta que se está ejecutando details.argumentsArgumentos y parámetros de la herramienta details.tool_call_idIdentificador único de la llamada a la herramienta details.tool_typeTipo de la herramienta que se está ejecutando details.endpointSi se realiza una llamada a una herramienta externa agent_details.agent_idIdentificador único para el agente de IA agent_details.agent_nameEl nombre legible del agente de IA agent_details.agent_auidEl ID de usuario del agente agent_details.agent_upnEl nombre principal de usuario del agente (UPN) agent_details.agent_blueprint_idEl plano técnico del agente o el identificador de aplicación agent_details.tenant_idIdentificación de inquilino del agente. agent_details.conversation_idEl ID de conversación para la invocación del agente. tenant_details.tenant_idIdentificación de inquilino del agente. Establezca las propiedades en la siguiente tabla usando el método InferenceScope.start.
Data Descripción details.operationNameNombre o tipo de la operación para la inferencia details.modelEl nombre o identificador del modelo details.providerNameEl nombre del proveedor agent_details.agent_idIdentificador único para el agente de IA agent_details.agent_nameEl nombre legible del agente de IA agent_details.agent_auidIdentificador de usuario del agente (AUID) agent_details.agent_upnEl nombre principal de usuario del agente (UPN) agent_details.agent_blueprint_idEl plano técnico del agente o el identificador de aplicación agent_details.tenant_idIdentificador único del inquilino agent_details.conversation_idIdentificador de la conversación o sesión tenant_details.tenant_idIdentificador único del inquilino request.contentEl contenido de la carga útil enviado al agente para inferencia request.execution_typeTipo de invocación que indica el origen de la solicitud (por ejemplo, HumanToAgentoAgentToAgent)request.source_metadataRepresenta la información del canal
Validar para la publicación en tienda
Utiliza los registros de consola para validar tu integración de observabilidad para el agente antes de publicar, implementando el agente de invocación, la herramienta de ejecución y los ámbitos de inferencia requeridos. Luego compara los registros de tu agente con las siguientes listas de atributos para verificar que todos los atributos requeridos estén presentes; Captura atributos en cada mira o a través del generador de equipaje, e incluye atributos opcionales a tu discreción.
Para más información sobre los requisitos de publicación en tiendas, consulte las directrices de validación de tiendas.
Atributos InvokeAgentScope
La siguiente lista resume los atributos de telemetría necesarios y opcionales registrados cuando inicias un InvokeAgentScopearchivo .
"attributes": {
"correlation.id": "Optional",
"gen_ai.agent.applicationid": "Required",
"gen_ai.agent.description": "Optional",
"gen_ai.agent.id": "Required",
"gen_ai.agent.name": "Required",
"gen_ai.agent.thought.process": "Optional",
"gen_ai.agent.upn": "Required",
"gen_ai.agent.user.id": "Required",
"gen_ai.caller.agent.applicationid": "Required (if execution type is agent to agent)",
"gen_ai.caller.agent.id": "Required (if execution type is agent to agent)",
"gen_ai.caller.agent.name": "Required (if execution type is agent to agent)",
"gen_ai.caller.client.ip": "Required",
"gen_ai.caller.id": "Required",
"gen_ai.caller.name": "Optional",
"gen_ai.caller.upn": "Required",
"gen_ai.channel.link": "Optional",
"gen_ai.channel.name": "Required",
"gen_ai.conversation.id": "Required",
"gen_ai.conversation.item.link": "Optional",
"gen_ai.execution.type": "Required",
"gen_ai.input.messages": "Required",
"gen_ai.operation.name": "Required (Set by the SDK)",
"gen_ai.output.messages": "Required",
"gen_ai.system": "Optional",
"hiring.manager.id": "Optional",
"operation.source": "Required (SDK sets a default value)",
"server.address": "Required",
"server.port": "Required",
"session.id": "Optional",
"session.description": "Optional",
"tenant.id": "Required"
},
Atributos ExecuteToolScope
La siguiente lista resume los atributos de telemetría necesarios y opcionales registrados cuando inicias un ExecuteToolScopearchivo .
"attributes": {
"correlation.id": "Optional",
"gen_ai.agent.applicationid": "Required",
"gen_ai.agent.description": "Optional",
"gen_ai.agent.id": "Required",
"gen_ai.agent.name": "Required",
"gen_ai.agent.upn": "Required",
"gen_ai.agent.user.id": "Required",
"gen_ai.caller.client.ip": "Required",
"gen_ai.channel.name": "Required",
"gen_ai.conversation.id": "Required",
"gen_ai.conversation.item.link": "Optional",
"gen_ai.execution.type": "HumanToAgent",
"gen_ai.operation.name": "Required (Set by the SDK)",
"gen_ai.system": "Optional",
"gen_ai.tool.arguments": "Required",
"gen_ai.tool.call.id": "Required",
"gen_ai.tool.description": "Optional",
"gen_ai.tool.name": "Required",
"gen_ai.tool.type": "Required",
"operation.source": "Required (SDK sets a default value)",
"server.address": "Required (if tool call is external)",
"server.port": "Required (if tool call is external)",
"session.id": "Optional",
"session.description": "Optional",
"tenant.id": "Required"
},
Atributos InferenceScope
La siguiente lista resume los atributos de telemetría necesarios y opcionales registrados cuando inicias un InferenceScopearchivo .
"attributes": {
"correlation.id": "Optional",
"gen_ai.agent.applicationid": "Required",
"gen_ai.agent.description": "Optional",
"gen_ai.agent.id": "Required",
"gen_ai.agent.name": "Required",
"gen_ai.agent.thought.process": "Optional",
"gen_ai.agent.upn": "Required",
"gen_ai.agent.user.id": "Required",
"gen_ai.caller.client.ip": "Required",
"gen_ai.channel.link": "Optional",
"gen_ai.channel.name": "Required",
"gen_ai.conversation.id": "Required",
"gen_ai.conversation.item.link": "Optional",
"gen_ai.execution.type": "Required",
"gen_ai.input.messages": "Required",
"gen_ai.operation.name": "Chat",
"gen_ai.output.messages": "Required",
"gen_ai.provider.name": "Required",
"gen_ai.request.model": "Required",
"gen_ai.response.finish_reasons": "Optional",
"gen_ai.usage.input_tokens": "Optional",
"gen_ai.usage.output_tokens": "Optional",
"hiring.manager.id": "Optional",
"operation.source": "Required (SDK sets a default value)",
"session.description": "Optional",
"session.id": "Optional",
"tenant.id": "Required"
}
Prueba del agente con observabilidad
Después de implementar la observabilidad en tu agente, prueba que la telemetría se está capturando correctamente. Siga la guía de pruebas para configurar el entorno y, a continuación, céntrese principalmente en la sección Ver registros de observabilidad para validar que la implementación de observabilidad funciona según lo previsto.