שתף דרך


יכולת התבוננות של סוכן

חשוב

עליך להיות חלק מתוכנית התצוגה המקדימה של Frontier כדי לקבל גישה מוקדמת ל - Microsoft Agent 365. Frontier מחברת אתכם ישירות עם החידושים האחרונים של Microsoft בתחום הבינה המלאכותית. קבל תכונות פורצות דרך מעשיות, שתף את התובנות שלך עם צוותי מוצרים ועזור לעצב את עתיד הבינה המלאכותית. תצוגות מקדימות של Frontier כפופות לתנאי התצוגה המקדימה הקיימים של הסכמי הלקוחות שלך. כאשר תכונות אלה עדיין בפיתוח, הזמינות והיכולות שלהן עשויות להשתנות עם הזמן.'

כדי להשתתף ב- Ecosystem של סוכן 365, עליך להוסיף יכולות Observability של סוכן 365 לסוכן שלך. Agent 365 Observability מבוסס על OpenTelemetry (OTel) ומספק פלטפורמה מאוחדת ללכידת טלמטריה באופן עקבי ומאובטח בכל פלטפורמות הסוכנים. על-ידי יישום רכיב נדרש זה, אתה מאפשר למנהלי IT לנטר את פעילות הסוכן שלך במרכז הניהול של Microsoft (MAC) ולאפשר לצוותי אבטחה להשתמש ב- Defender וב- Purview לצורך זיהוי תאימות ואיומים.

היתרונות העיקריים

  • ניראות מקצה לקצה: לכידת טלמטריה מקיפה עבור כל קריאת סוכן, כולל הפעלות, שיחות לכלים וחריגות, כדי להעניק לך יכולת מעקב מלאה בין פלטפורמות.
  • הפעלת אבטחה ותאימות: הזן יומני ביקורת מאוחדים ב- Defender וב- Purview, מה שמאפשר תרחישי אבטחה מתקדמים ודיווח תאימות עבור הסוכן שלך.
  • גמישות חוצת פלטפורמות: השתמש בתקני OTel ותמוך במגוון זמני ריצה ופלטפורמות כמו Copilot Studio, Foundry ומסגרות סוכן עתידי.
  • יעילות תפעולית עבור מנהלי מערכת: ספק יכולת מתבוננות מרוכזת ב- MAC, תוך צמצום זמן פתרון הבעיות ושיפור הפיקוח באמצעות בקרות גישה מבוססות תפקידים עבור צוותי IT המנהלים את הסוכן שלך.

התקנה

השתמש בפקודות אלה כדי להתקין את מודולי התצפית עבור השפות הנתמכות על-ידי סוכן 365.

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

תצורה

משתני הסביבה הנדרשים עבור יכולת התבוננות הם:

משתנה סביבה תיאור
ENABLE_OBSERVABILITY=true דגל להפעלה/השבתה של מעקב. כברירת מחדל false
ENABLE_A365_OBSERVABILITY_EXPORTER=true True יצא יומני רישום לשירות שלנו. אחרת, הוא חוזר לערך ברירת המחדל של ייצואן הקונסולה
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,
)

אל תכלול את פותר האסימונים כדי להיכנס למסוף.

מאפייני כבודה

השתמש BaggageBuilder כדי להגדיר מידע קונטקסטואלי העובר בקרב כל הקטעים בבקשה. ערכת ה-SDK מיישמת העתקה של כל ערכי הכבודה שאינם ריקים לפרסים חדשים שהתחילו, מבלי להחליף תכונות קיימות.

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

פותר אסימון

בעת שימוש בייצוא סוכן 365, עליך לספק פונקציית פותרן אסימון המחזירה אסימון אימות. בעת שימוש ב- SDK של Observability Agent 365 עם מסגרת אירוח סוכן, באפשרותך ליצור אסימונים TurnContext באמצעות פעילויות הסוכן

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

מכשור אוטומטי

מכשור אוטומטי מאזין באופן אוטומטי למסגרות סוכן (SDK) לאותות טלמטריה לניטור ומעבירה אותם לשירות הנראות של Agent 365. פעולה זו מבטלת את הצורך במפתחים לכתוב קוד ניטור באופן ידני, לפשט את ההגדרה ולהבטיח מעקב עקבי אחר ביצועים.

מכשור אוטומטי נתמך בלוחות SDK ובפלטפורמות מרובות:

פלטפורמה מסגרות SDK / נתמכות
.NET Semantic Kernel, OpenAI, Agent Framework
פיתון הליבה סמנטית, OpenAI, Agent Framework, LangChain
Node.js OpenAI

הערה

התמיכה במכשור אוטומטי משתנה בהתאם לפלטפורמה וליישום SDK.

ליבה סמנטית

מכשור אוטומטי דורש שימוש בבונה כבודה. הגדר את מזהה הסוכנות ואת מזהה הדייר באמצעות BaggageBuilder.

התקן את החבילה

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

קביעת תצורה של יכולת התבוננות

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

מכשור אוטומטי דורש שימוש בבונה כבודה. הגדר את מזהה הסוכנות ואת מזהה הדייר באמצעות BaggageBuilder.

התקן את החבילה.

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

הגדרת ניטור

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

מסגרת סוכנים

מכשור אוטומטי דורש שימוש בבונה כבודה. הגדר את מזהה הסוכן ואת מזהה הדייר באמצעות BaggageBuilder.

התקן את החבילה

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

קביעת תצורה של יכולת התבוננות

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 Framework

מכשור אוטומטי דורש שימוש בבונה כבודה. הגדר את מזהה הסוכנות ואת מזהה הדייר באמצעות BaggageBuilder.

התקן את החבילה.

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

קביעת תצורה של יכולת התבוננות

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

מכשור ידני

ניתן להשתמש ב- SDK של יכולת התבוננות בסוכן 365 כדי להבין את העבודה הפנימית של הסוכן. ה- SDK מספק שלושה טווחים שניתן להתחיל: InvokeAgentScope, ו ExecuteToolScope- InferenceScope.

זימון סוכן

יש להשתמש בטווח פעולה זה בתחילת תהליך הסוכן שלך. באמצעות הפעלת טווח סוכן, אתה לוכד מאפיינים כגון הסוכן הנוכחי שהופעל, נתוני משתמש סוכן וכו'.

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

הרצת כלי

הדוגמאות הבאות מדגימות כיצד לתעד את ביצוע הכלי של הסוכן שלך באמצעות מעקב אחר יכולת התצפית כדי ללכוד מדידת שימוש למטרות ניטור וביקורת.

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)

הסקה

הדוגמאות הבאות מראות כיצד להפעיל קריאות הסקת מודל בינה מלאכותית עם מעקב ניתנות למדידה כדי ללכוד שימוש באסימונים, פרטי מודל ומטה-נתונים של תגובה.

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

אמת באופן מקומי

הגדר את משתנה הסביבה ENABLE_A365_OBSERVABILITY_EXPORTER ל- false. פעולה זו מייצאת טווחים (מעקבים) למסוף.

בדוק את הסוכן שלך עם יכולת התבוננות

לאחר יישום ניתנות לניטור בסוכן שלך, בדוק כדי לוודא שטלמטריה נלכדת כראוי. פעל לפי מדריך הבדיקה כדי להגדיר את הסביבה שלך, ולאחר מכן התמקד בעיקר במקטע הצג יומני יכולת התבוננות כדי לאמת את יישום יכולת התצפית שלך פועל כצפוי.