Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Importante
Você precisa fazer parte do programa de prévia Frontier para obter acesso antecipado ao Microsoft Agent 365. A Frontier conecta você diretamente às mais recentes inovações de IA da Microsoft. Prévias da Frontier estão sujeitas aos termos de pré-visualização existentes dos seus contratos com clientes. Como esses recursos ainda estão em desenvolvimento, sua disponibilidade e capacidades podem mudar ao longo do tempo.
Para participar do ecossistema Agent 365, você deve adicionar capacidades de Observabilidade do Agent 365 ao seu agente. A Observabilidade do Agente 365 se baseia no OpenTelemetry (OTel) e fornece uma estrutura unificada para capturar telemetria de forma consistente e segura em todas as plataformas de agentes. Ao implementar esse componente obrigatório, você permite que administradores de TI monitorem a atividade do seu agente no Microsoft Admin Center (MAC) e permite que equipes de segurança usem o Defender e o Purview para conformidade e detecção de ameaças.
Principais benefícios
- Visibilidade de ponta a ponta: Capture telemetria abrangente para cada invocação de agente, incluindo sessões, chamadas de ferramentas e exceções, garantindo rastreabilidade total entre as plataformas.
- Segurança e Habilitação de Conformidade: Alimente logs unificados de auditoria no Defender e Purview, possibilitando cenários avançados de segurança e relatórios de conformidade para seu agente.
- Flexibilidade Multiplataforma: Construa sobre os padrões OTel e suporte runtimes e plataformas diversas como Copilot Studio, Foundry e futuros frameworks de agentes.
- Eficiência Operacional para Administradores: Fornecer observabilidade centralizada no MAC, reduzindo o tempo de resolução de problemas e melhorando a governança com controles de acesso baseados em funções para equipes de TI que gerenciam seu agente.
Instalação
Use esses comandos para instalar os módulos de observabilidade para as linguagens suportadas pelo Agente 365.
pip install microsoft-agents-a365-observability-core
pip install microsoft-agents-a365-runtime
Configuração
Use as seguintes configurações para ativar e personalizar a Observabilidade do Agente 365 para seu agente.
As variáveis do ambiente necessárias para a observabilidade são:
| Variável de ambiente | Description |
|---|---|
ENABLE_OBSERVABILITY=true |
Flag para ativar/desativar o rastreamento. Por padrão: false |
ENABLE_A365_OBSERVABILITY_EXPORTER=true |
True exporta registros para nosso serviço. Caso contrário, isso volta para o exportador do console |
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,
)
Exclua o resolvedor de token para logar no console.
Atributos de bagagem
Use BaggageBuilder para definir informações contextuais que fluem por todos os intervalos em uma requisição.
O SDK implementa uma SpanProcessor cópia de todas as entradas de bagagem não vazias para os intervalos recém-iniciados sem sobrescrever 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
Resolver de Tokens
Ao usar o exportador Agent 365, você deve fornecer uma função de resolução de token que retorne token de autenticação.
Ao usar o SDK de Observabilidade do Agente 365 com o framework Agent Hosting, você pode gerar tokens usando as TurnContext atividades do agente do From
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
Instrumentação automática
A auto-instrumentação escuta automaticamente os frameworks agenticos (SDKs), sinais de telemetria existentes para rastreios e os encaminha para o serviço de observabilidade do Agente 365. Isso elimina a necessidade de os desenvolvedores escreverem código de monitoramento manualmente, simplificando a configuração e garantindo um acompanhamento consistente de desempenho.
Auto-instrumentação é suportada por múltiplos SDKs e plataformas:
| Plataforma | SDKs/Frameworks suportados |
|---|---|
| .NET | Kernel Semântico, OpenAI, Framework de Agentes |
| Python | Kernel Semântico, OpenAI, Framework de Agentes, LangChain |
| Node.js | OpenAI |
Observação
O suporte à auto-instrumentação varia conforme a plataforma e a implementação do SDK.
Kernel semântico
A instrumentação automotiva requer o uso de um construtor de bagagens. Defina o ID do agente e o ID do locatário usando BaggageBuilder.
Instalar o pacote
pip install microsoft-agents-a365-observability-extensions-semantic-kernel
Configurar a observabilidade
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
A instrumentação automotiva requer o uso de um construtor de bagagens. Defina o ID do agente e o ID do locatário usando BaggageBuilder.
Instale o pacote.
pip install microsoft-agents-a365-observability-extensions-openai
Configurar a observabilidade
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
Estrutura do Agente
A instrumentação automotiva requer o uso de um construtor de bagagens. Defina o ID do agente e o ID do tenant usando o BaggageBuilder.
Instalar o pacote
pip install microsoft-agents-a365-observability-extensions-agent-framework
Configurar a observabilidade
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()
Estrutura LangChain
A auto-instrumentação requer o uso do bagbage builder. Defina o ID do agente e o ID do locatário usando BaggageBuilder.
Instale o pacote.
pip install microsoft-agents-a365-observability-extensions-langchain
Configurar a observabilidade
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
Instrumentação manual
O SDK de observabilidade do agente 365 pode ser usado para entender o funcionamento interno do agente.
O SDK fornece três escopos que podem ser iniciados: InvokeAgentScope, ExecuteToolScope, e InferenceScope.
Invocação do Agente
Esse escopo deve ser usado no início do processo do seu agente. Com o escopo do agente invocado, você captura propriedades como o agente atual que está sendo invocado, dados do usuário do 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(...)
Parar execução
Os exemplos a seguir demonstram como instrumentar a execução da ferramenta do seu agente com rastreamento de observabilidade para capturar telemetria para fins de monitoramento e auditoria.
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)
Inferência
Os exemplos a seguir mostram como instrumentar chamadas de inferência de modelos de IA com rastreamento de observabilidade para capturar o uso de tokens, detalhes do modelo e metadados de resposta.
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 se você integrou com sucesso com o SDK de observabilidade, examine os logs do console gerados pelo seu agente.
Defina a variável de ambiente ENABLE_A365_OBSERVABILITY_EXPORTER como false. Isso exporta os spans (traces) para o console.
Registros de exemplo
Os troncos podem parecer um pouco diferentes dependendo da plataforma.
Log do console Invoke agent span
Este exemplo ilustra um típico intervalo de agente de invocação impresso pelo exportador do console quando a validação 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": ""
}}
Log do console para a ferramenta de execução
Este exemplo mostra um intervalo típico de ferramenta de execução emitido pelo exportador do console durante a validação 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 inferência logarítmica do console
Este exemplo demonstra uma saída típica de intervalo de inferência do exportador de console usado para validação 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 observabilidade
Administradores de TI usam os dados que você define no seu código para monitorar a atividade do seu agente. Dados incompletos significam que os benefícios da observabilidade não são totalmente realizados. Os agentes devem fornecer os dados necessários para receber todos os benefícios esperados. Um processo de validação verificará a existência desses dados.
Dentro da telemetria, existem conceitos de escopo ou contexto. Cada operação que seu agente realiza existe dentro de um escopo diferente. Os dados devem ser incluídos nos BaggageScope atributos criados usando bagagem, ou dentro dos escopos individuais conforme descrito em Instrumentação Manual.
Para validar sua implementação, siga as instruções para validar localmente e gerar logs de console para sua instrumentação. Depois, revise a seção [Validar para atributos exigidos](#validate-para-atributos requeridos) para identificar quais atributos são necessários e quais são opcionais. Todos os atributos exigidos devem ser definidos para passar com sucesso na validação.
Revise as propriedades e valores de parâmetros necessários descritos para essas classes:
Propriedades definidas usando a classe BaggageBuilder podem ser definidas ou sobrescrevidas pelas propriedades dos respectivos escopos.
Defina as propriedades na tabela a seguir usando o método InvokeAgentScope.start.
Dados Description invoke_agent_details.details.agent_idO identificador exclusivo para o agente de IA invoke_agent_details.details.agent_nameO nome legível pelo ser humano do agente de IA invoke_agent_details.details.agent_auidA ID do usuário do agente (AUID) invoke_agent_details.details.agent_upnO nome da entidade de usuário do agente (UPN) invoke_agent_details.details.agent_blueprint_idA ID do blueprint/aplicativo do agente invoke_agent_details.details.tenant_idA ID do locatário do agente invoke_agent_details.details.conversation_idO identificador da conversa ou sessão invoke_agent_details.endpointO ponto de extremidade para a invocação do agente tenant_details.tenant_idO identificador exclusivo para o locatário request.contentO conteúdo da carga útil enviado ao agente para invocação request.execution_typeTipo de invocação indicando a origem da solicitação (por exemplo, HumanToAgentouAgentToAgent)caller_details.caller_idO identificador exclusivo para o chamador caller_details.caller_upnO UPN (nome da entidade de usuário) do chamador caller_details.caller_user_idA ID do usuário do chamador caller_details.tenant_idA ID do locatário do chamador Defina as propriedades na tabela seguinte usando o método ExecuteToolScope.start.
Dados Description details.tool_nameO nome da ferramenta que está sendo executada details.argumentsArgumentos/parâmetros da ferramenta details.tool_call_idO identificador exclusivo para a chamada de ferramenta details.tool_typeO tipo da ferramenta que está sendo executada details.endpointSe uma chamada de ferramenta externa for feita agent_details.agent_idO identificador exclusivo para o agente de IA agent_details.agent_nameO nome legível pelo ser humano do agente de IA agent_details.agent_auidO ID de usuário do agente agent_details.agent_upnO nome da entidade de usuário do agente (UPN) agent_details.agent_blueprint_idA ID do blueprint/aplicativo do agente agent_details.tenant_idID de inquilino do corretor. agent_details.conversation_idO ID da conversa para a invocação do agente. tenant_details.tenant_idID de inquilino do corretor. Defina as propriedades na tabela a seguir usando o método InferenceScope.start.
Dados Description details.operationNameO nome/tipo da operação para a inferência details.modelO nome/identificador do modelo details.providerNameNome do provedor agent_details.agent_idO identificador exclusivo para o agente de IA agent_details.agent_nameO nome legível pelo ser humano do agente de IA agent_details.agent_auidA ID do usuário do agente (AUID) agent_details.agent_upnO nome da entidade de usuário do agente (UPN) agent_details.agent_blueprint_idA ID do blueprint/aplicativo do agente agent_details.tenant_idO identificador exclusivo para o locatário agent_details.conversation_idO identificador da conversa ou sessão tenant_details.tenant_idO identificador exclusivo para o locatário request.contentO conteúdo da carga útil enviado ao agente para inferência request.execution_typeTipo de invocação indicando a origem da solicitação (por exemplo, HumanToAgentouAgentToAgent)request.source_metadataRepresente as informações do canal
Validar para publicação em lojas
Use logs de console para validar sua integração de observabilidade para o agente antes de publicar, implementando o invoke agent, a ferramenta de execução e os escopos de inferência necessários. Depois, compare os registros do seu agente com as seguintes listas de atributos para verificar se todos os atributos necessários estão presentes; Capture atributos em cada mira ou pelo construtor de bagagem, e inclua atributos opcionais a seu critério.
Para mais informações sobre os requisitos de publicação em loja, consulte as diretrizes de validação da loja.
Atributos InvokeAgentScope
A lista a seguir resume os atributos de telemetria necessários e opcionais registrados quando você inicia um InvokeAgentScope.
"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
A lista a seguir resume os atributos de telemetria necessários e opcionais registrados quando você inicia um ExecuteToolScope.
"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
A lista a seguir resume os atributos de telemetria necessários e opcionais registrados quando você inicia um InferenceScope.
"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"
}
Teste seu agente com observabilidade
Depois de implementar a observabilidade no seu agente, teste para garantir que a telemetria está sendo capturada corretamente. Siga o guia de testes para configurar seu ambiente e então foque principalmente na seção Visualizar logs de observabilidade para validar que sua implementação de observabilidade está funcionando como esperado.