Megosztás:


Az ügynök megfigyelhetősége

Fontos

A Microsoft Agent 365-höz való korai hozzáféréshez a Frontier előzetes verziójának részeként kell lennie. A Frontier közvetlenül összekapcsolja Önt a Microsoft legújabb AI-innovációival. Gyakorlati ismereteket szerezhet az úttörő funkciókról, megoszthatja észrevételeit a termékcsapatokkal, és segíthet a mesterséges intelligencia jövőjének alakításában. A Frontier előzetesekre az ügyfélszerződések meglévő előzetes feltételei vonatkoznak. Mivel ezek a funkciók még fejlesztés alatt állnak, rendelkezésre állásuk és képességeik idővel változhatnak."

Az Ügynök 365 ökoszisztémában való részvételhez hozzá kell adnia az Ügynök 365 Megfigyelhetőségi képességeket az ügynökhöz. Az Agent 365 Observability az OpenTelemetryre (OTel) épül, és egységes keretrendszert biztosít a telemetriai adatok egységes és biztonságos rögzítéséhez az összes ügynökplatformon. A szükséges összetevő implementálásával lehetővé teszi az informatikai rendszergazdák számára, hogy megfigyeljék az ügynök tevékenységét a Microsoft Felügyeleti központban (MAC), és lehetővé teszik a biztonsági csapatok számára, hogy a Defendert és a Purview-t használják a megfelelőséghez és a fenyegetésészleléshez.

Fő előnyök

  • Teljes körű láthatóság: Átfogó telemetriai adatok rögzítése minden ügynökhíváshoz, beleértve a munkameneteket, az eszközhívásokat és a kivételeket is, így teljes nyomon követhetőséget biztosít a platformok között.
  • Biztonság és megfelelőség engedélyezése: Egyesített naplózási naplók becsatornázása a Defenderbe és a Purview-ba, lehetővé téve a speciális biztonsági forgatókönyveket és a megfelelőségi jelentéskészítést az ügynök számára.
  • Platformfüggetlen rugalmasság: OTel-szabványokra épít, és támogatja a különböző futtatókörnyezeteket és platformokat, például a Copilot Studiót, az Foundryt és a jövőbeli ügynök-keretrendszereket.
  • Működési hatékonyság rendszergazdáknak: Központosított megfigyelhetőséget biztosít a MAC-ben, csökkenti a hibaelhárítási időt, és javítja az irányítást szerepköralapú hozzáférés-vezérléssel az ügynököt kezelő informatikai csapatok számára.

Installation

Ezekkel a parancsokkal telepítheti az Ügynök 365 által támogatott nyelvek megfigyelhetőségi moduljait.

pip install microsoft-agents-a365-observability-core
pip install microsoft-agents-a365-runtime

Konfiguráció

A megfigyelhetőséghez szükséges környezeti változók a következők:

Környezeti változó Description
ENABLE_OBSERVABILITY=true Jelölő a nyomkövetés engedélyezéséhez/letiltásához. Alapértelmezés szerint false
ENABLE_A365_OBSERVABILITY_EXPORTER=true True naplókat exportál szolgáltatásunkhoz. Ellenkező esetben visszaesik a konzolexportálóhoz
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,
)

Zárja ki a token feloldót a konzolra való naplózásból.

Poggyászattribútumok

A BaggageBuilder olyan környezetfüggő információk beállítására használható, amelyek egy kérelem összes részletein átáramlanak. Az SDK a SpanProcessor meglévő attribútumok felülírása nélkül az összes nem létező poggyászbejegyzést átmásolja az újonnan elindított tartományokba.

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

Jogkivonat-feloldó

Az Agent 365-exportőr használatakor meg kell adnia egy jogkivonat-feloldó függvényt, amely hitelesítési jogkivonatot ad vissza. Ha az Ügynök 365 Megfigyelhetőségi SDK-t az Ügynök üzemeltetési keretrendszerével használja, az ügynöktevékenységekből származó jogkivonatokat TurnContext hozhat létre

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

Automatikus kialakítás

Az automatikus rendszerállapot automatikusan figyeli az ügynöki keretrendszerek (SDK-k) meglévő telemetriai jeleit a nyomkövetésekhez, és továbbítja őket az Agent 365 megfigyelhetőségi szolgáltatásnak. Ez szükségtelenné teszi, hogy a fejlesztők manuálisan írjanak monitorozási kódot, egyszerűsítse a telepítést és biztosítsa a konzisztens teljesítménykövetést.

Az automatikus rendszerezés több SDK-ban és platformon is támogatott:

Plattform Támogatott SDK-k / keretrendszerek
.NET Szemantikus kernel, OpenAI, Ügynök-keretrendszer
Python Szemantikus kernel, OpenAI, Ügynök-keretrendszer, LangChain
Node.js OpenAI

Megjegyzés:

Az automatikus instrumentálás támogatása platformonként és SDK-implementációnként változik.

Szemantikus kernel

Az automatikus instrumentáláshoz a "baggage builder" használata szükséges. Ügynökazonosító és bérlőazonosító beállítása a BaggageBuilder eszközzel.

A csomag telepítése

pip install microsoft-agents-a365-observability-extensions-semantic-kernel

Megfigyelhetőség konfigurálása

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

Az automatikus instrumentáláshoz a "baggage builder" használata szükséges. Ügynökazonosító és bérlőazonosító beállítása a BaggageBuilder eszközzel.

Telepítse a csomagot.

pip install microsoft-agents-a365-observability-extensions-openai

Konfigurálja a megfigyelhetőséget.

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

Ügynök-keretrendszer

Az automatikus instrumentáláshoz a "baggage builder" használata szükséges. Ügynök- és bérlőazonosító beállítása a BaggageBuilder használatával.

A csomag telepítése

pip install microsoft-agents-a365-observability-extensions-agent-framework

Megfigyelhetőség konfigurálása

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()

LangChain-keretrendszer

Az automatikus kialakításhoz a poggyászszerkesztő használata szükséges. Ügynökazonosító és bérlőazonosító beállítása a BaggageBuilder eszközzel.

Telepítse a csomagot.

pip install microsoft-agents-a365-observability-extensions-langchain

Megfigyelhetőség konfigurálása

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

Manuális instrumentálás

Az Ügynök 365 megfigyelhetőségi SDK az ügynök belső működésének megértésére használható. Az SDK három elindítható hatókört biztosít: InvokeAgentScope, ExecuteToolScopeés InferenceScope.

Ügynök meghívása

Ezt a hatókört az ügynökfolyamat elején kell használni. Az ügynök hatókörének meghívásával olyan tulajdonságokat rögzíthet, mint az aktuálisan meghívott ügynök, az ügynök felhasználói adatai stb.

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(...)

Eszköz végrehajtása

Az alábbi példák bemutatják, hogyan alakíthatja az ügynök eszközvégrehajtását megfigyelhető nyomon követéssel a telemetriai adatok monitorozási és naplózási célú rögzítéséhez.

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)

Következtetés

Az alábbi példák bemutatják, hogyan lehet az AI-modellek következtetési hívásait megfigyelhető nyomon követéssel rögzíteni a tokenhasználat, a modell részletei és a válasz metaadatainak rögzítéséhez.

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(...)

Helyi érvényesítés

Állítsa a környezeti változót ENABLE_A365_OBSERVABILITY_EXPORTER a következőre false: . Ez az exportálás nyomkövetéseket küld a konzolra.

Az ügynök megfigyelhetőségének tesztelése

Miután implementálta a megfigyelhetőséget az ügynökben, tesztelje, hogy a telemetriai adatok helyesen kerülnek-e rögzítésre. Kövesse a tesztelési útmutatót a környezet beállításához, majd elsősorban a Megfigyelhetőségi naplók megtekintése szakaszra összpontosítva ellenőrizze, hogy a megfigyelhetőségi implementáció a várt módon működik-e.