Microsoft Foundry Observability: Trace AI Agents in Production - Jannik Reinhard

Microsoft Foundry Observability: KI-Agenten in Produktion verfolgen

Thema dieser Seite: Microsoft Foundry Observability: KI-Agenten in Produktion verfolgen

Ein KI-Agent, der im Playground arbeitet, macht vielleicht zwanzig Prozent der Arbeit aus. Die anderen achtzig Prozent beginnen, wenn echte Benutzer darauf zugreifen und Sie Fragen beantworten müssen wie: Warum hat dieser Lauf 40 Sekunden gedauert, welcher Tool Call fehlgeschlagen ist und ob die Antwortqualität seit Dienstag gesunken? In diesem Blogbeitrag beschäftige ich mich ausführlich mit Observability für Agenten in Microsoft Foundry: Tracing, Überwachungs-Dashboards, kontinuierlicher Evaluation des Live-Traffics und Alarmierung. Dies ist das Produktionsgegenstück zu meinem Beitrag über die Bewertung von KI-Agenten in Microsoft Foundry – in diesem geht es um das Testen vor dem Deployment, in diesem geht es um das Beobachten nach dem Deployment.

Wie ist Observability in Foundry aufgebaut?

Microsoft unterteilt Observability in drei Säulen: Evaluation (vor der Produktion), Tracing (was genau in einem Lauf passiert ist) und Überwachung (wie sich der Agent im Laufe der Zeit verhält). Die gute Nachricht seit Ignite 2025: Evaluations, Monitoring und Tracing sind allgemein verfügbar, und alles basiert auf offenen Standards – OpenTelemetry mit den GenAI-Semantikkonventionen, gespeichert in Azure Monitor Application Insights.

Der letzte Teil ist wichtiger als es klingt. Da es sich bei dem Format um das Standard-OTel-Format handelt, funktionieren dieselben Traces im Foundry-Portal, in Application Insights, in Grafana und sogar in einem lokalen Dashboard auf Ihrem Computer. Sie sind nicht an einen proprietären Trace-Viewer gebunden.

Microsoft Foundry Observability: Traces-Flow über OpenTelemetry zum Foundry-Portal, Application Insights und dem Aspire-Dashboard

Wie schalte ich Tracing ein?

Der Teil, der wirklich einfach wurde: serverseitiges Tracing benötigt keinen Code. Sie verbinden eine Application Insights-Ressource mit Ihrem Foundry-Projekt (Agenten > Traces > Verbinden oder unter „Verbundene Ressourcen“), und Foundry protokolliert automatisch Traces für Prompt-Agenten, gehostete Agenten und Workflows. Ein paar Minuten später sehen Sie jeden Lauf im Portal: Benutzereingaben, jeden Tool Call mit Argumenten und Ergebnissen, Tokenverbrauch pro Schritt, Latenz und Ausnahmen.

Für ein vollständiges Bild fügen Sie clientseitige Instrumentierung in Ihrem eigenen Code hinzu, sodass Ihre Anwendungs-Spans und die Foundry-Spans letztendlich in einem Trace zusammengefügt werden:

import os
os.environ["AZURE_EXPERIMENTAL_ENABLE_GENAI_TRACING"] = "true"
# capture prompts/responses in spans - dev only, this is user content!
os.environ["OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT"] = "true"

from azure.identity import DefaultAzureCredential
from azure.ai.projects import AIProjectClient
from azure.ai.projects.telemetry import AIProjectInstrumentor
from azure.monitor.opentelemetry import configure_azure_monitor

project = AIProjectClient(endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
                          credential=DefaultAzureCredential())
configure_azure_monitor(
    connection_string=project.telemetry.get_application_insights_connection_string())
AIProjectInstrumentor().instrument()

Hinweis: Der Inhaltserfassungsschalter protokolliert die vollständigen Prompts und Antworten in Ihr Telemetrieprotokoll. Das ist Gold für das Debuggen und ein Datenschutzproblem in der Produktion. Ich lasse es in der Entwicklung eingeschaltet und in der Produktion aus und verlasse mich stattdessen auf die kontinuierliche Stichprobe Evaluation.

Hinweis: Während der Entwicklung verwende ich nicht einmal Azure Monitor. Der OTLP-Exporter kann auf ein lokales Aspire-Dashboard (localhost:4317) verweisen, oder Sie verwenden das Foundry Toolkit für VS Code, das einen lokalen Trace-Viewer liefert. Sofortiges Feedback, kein Cloud-Roundtrip.

Was bekomme ich im Traces?

Foundry verwendet die semantischen Konventionen von OpenTelemetry GenAI sowie die neueren Multi-Agent-Konventionen, die Microsoft mitentwickelt hat: Bereiche wie invoke_agent, execute_tool mit Tool-Argumenten und -Ergebnissen, Agentenplanung und Agent-zu-Agent-Interaktionsbereiche. Diese Konventionen werden auch von Agent Framework, LangChain, LangGraph und dem OpenAI Agents SDK verwendet – sodass eine Multi-Framework-Landschaft ein einheitliches Traces erzeugt.

In der Praxis verwende ich die Ansicht Trace für drei Fragen:

  1. Latenz: Welche Spanne frisst die Zeit – das Modell, ein Tool oder der Abruf?
  2. Tool-Fehler: Hat der Agent den richtigen Tool mit den richtigen Argumenten aufgerufen und was kam zurück?
  3. Token-Kosten pro Lauf: Welcher Schritt verschlingt das Budget? Oft ist es eine gesprächige Tool-Antwort, die in das Modell zurückgeführt wird.

Ein Statusdetail: Tracing für Prompt und gehostete Agenten ist GA, Tracing für Workflows und externe Agenten ist noch Vorschau (Stand Mitte 2026).

Wie funktioniert kontinuierliches Evaluation?

Dies ist meine Lieblingsfunktion des gesamten Stapels. Offline Evaluation vor einer Veröffentlichung teilt Ihnen mit, dass der Agent auf Ihrem Testset gut war. Kontinuierlich Evaluation wertet den erfassten Live-Verkehr nahezu in Echtzeit aus – Groundedness, Task Adherence, Tool Call Genauigkeit, Sicherheit – und schreibt die Ergebnisse neben Ihr Traces in Application Insights.

Kontinuierliche Evaluation-Schleife für Microsoft Foundry-Agenten: Live-Verkehr, Evaluators, Application Insights und Warnungen

Mit dem aktuellen SDK (azure-ai-projects 2.x) ist dies als ereignisgesteuerte Evaluation-Regel konfiguriert:

eval_object = openai_client.evals.create(
    name="Continuous Evaluation",
    data_source_config={"type": "azure_ai_source", "scenario": "responses"},
    testing_criteria=[{"type": "azure_ai_evaluator", "name": "violence_detection",
                       "evaluator_name": "builtin.violence"}])

from azure.ai.projects.models import (EvaluationRule,
    ContinuousEvaluationRuleAction, EvaluationRuleFilter, EvaluationRuleEventType)
project_client.evaluation_rules.create_or_update(
    id="my-continuous-eval-rule",
    evaluation_rule=EvaluationRule(
        action=ContinuousEvaluationRuleAction(eval_id=eval_object.id, max_hourly_runs=100),
        event_type=EvaluationRuleEventType.RESPONSE_COMPLETED,
        filter=EvaluationRuleFilter(agent_name=agent.name), enabled=True))

Zwei Hinweise zum Betrieb: Die verwaltete Identität des Projekts benötigt hierfür die Rolle Foundry User und das Standardlimit liegt bei 100 Evaluation-Läufen pro Stunde – Stichprobe, nicht alles auswerten. Risiko und Sicherheit Evaluations werden nach Verbrauch abgerechnet, daher ist die Abtastrate auch Ihr Kostenfaktor.

Welche Dashboards und Warnungen verwende ich?

Drei Oberflächen, jede für ein anderes Publikum:

  • Foundry-Portal, Registerkarte „Überwachen“ (Vorschau): Token-Nutzung, Latenz (über 10 Sekunden markiert), Ausführungserfolgsrate (unter 95 Prozent markiert), Evaluation-Scores und rote Teaming-Ergebnisse. Hier schaue ich während eines Rollouts täglich hin.
  • Application Insights „Agents“-Blatt (Vorschau): Einheitliche Ansicht über Foundry, Copilot Studio und Drittanbieter-Agents, mit Kacheln wie „Traces mit GenAI-Fehlern“ und „Meist verwendete Token“ sowie vorgefertigten Grafana-Dashboards.
  • Azure Monitor-Plattformmetriken: TokenTransaction, Anforderungsanzahl und die Metrik „Provisioned Utilization V2“, wenn Sie PTU-Bereitstellungen ausführen. Hier lebt das Kapazitätsmanagement.

Warnungen (Vorschau) können zu Latenz, Token-Nutzung, Evaluation-Scores und Red-Teaming-Ergebnissen ausgelöst werden. Mein Starter-Set: Evaluation-Score-Regression, Lauferfolgsrate unter 95 Prozent und eine Token-Anomalie-Warnung – das letzte Set hat für mich zwei Prompt-Loop-Bugs entdeckt, die teuer gewesen wären.

Zusätzlich zur reaktiven Überwachung gibt es den AI Red Teaming Agent, der geplante gegnerische Scans für Ihren Produktionsagenten durchführen und die Erfolgsrate des Angriffs im selben Dashboard melden kann. Core Red Teaming ist GA, die geplanten Scans gegen Agenten sind weiterhin in der Vorschau.

Spickzettel

Frage Tool Status
Was ist in diesem Lauf passiert? Tracing (Portal / App Insights) GA (Workflows: Vorschau)
Sinkt die Qualität? Kontinuierliche Evaluation + Warnungen Regeln GA, Warnungsvorschau
Was kostet der Makler? Token-Metriken, Kostenanalyse GA
Ist es angreifbar? AI Red Teaming Agent Core GA, Planungsvorschau
Flottenübersicht Foundry Steuerebene/Agentenblatt Vorschau

Der Ansatz, den ich tatsächlich verwende

  1. Verbinden Sie Application Insights vom ersten Tag an. Der serverseitige Tracing ist kostenlos und Sie können nicht debuggen, was Sie nicht aufgezeichnet haben.
  2. Lokales OTLP während der Entwicklung, Inhaltserfassung aktiviert. Beides in Produktion.
  3. Kontinuierlich Evaluation mit 3 bis 5 Evaluators (Groundedness, Task Adherence, Tool Call Genauigkeit, eine Sicherheit Evaluator) bei einer Abtastrate, die das Budget zulässt.
  4. Drei Warnungen: Bewertungsregression, Erfolgsrate, Token-Anomalie.
  5. Wöchentliche Betrachtung der Fehlercluster, nicht nur Durchschnittswerte – Durchschnittswerte verbergen die interessanten Fälle.

Fallstricke, die ich jetzt vermeide

  • Inhaltsaufzeichnung in der Produktion. Vollständiges Prompts in der Telemetrie ist ein DSGVO-Gespräch, das Sie nicht möchten. Das gesampelte Evaluation liefert Ihnen das Qualitätssignal, ohne alles zu speichern.
  • Auswertung von 100 Prozent des Datenverkehrs. Das Evaluator LLM kostet ebenfalls Token. Sampling plus Alarmierung findet Regressionen genauso schnell.
  • Nur Durchschnittswerte ansehen. Ein 95-Perzentil-Latenz-Dashboard und Fehler-Clustering zeigen Ihnen, was Benutzer tatsächlich fühlen.
  • RBAC für die Trace-Zuschauer vergessen. Wer Traces lesen sollte, benötigt den Log Analytics Reader für die App Insights-Ressource – Traces kann sensibles Material enthalten, gehen Sie daher bewusst mit dem Zugriff um.
  • Marketing GA vs. Dokumente GA. Blogs deklarieren Dinge großzügig als GA; Die seitenspezifischen Vorschaumarkierungen auf Microsoft Learn sind die Wahrheit. Überprüfen Sie diese, bevor Sie Ihrem Compliance-Team Funktionen versprechen.

Wohin das führt

Observability wird zum Regelkreis für die Agentenqualität: Traces-Feeds, Evaluations, Evaluations-Feeds, Warnungen und Optimierung, und die Foundry-Steuerungsebene zieht sie in eine Flottenansicht, einschließlich Kosten und ROI. Die strategische Entscheidung von Microsoft – offene OpenTelemetry-Konventionen anstelle eines proprietären Formats – bedeutet, dass die Instrumentierung, die Sie heute erstellen, die Framework-Änderungen von morgen übersteht. Wenn Sie Agenten ohne dies in der Produktion betreiben, fliegen Sie im Blindflug; Die Tracing-Einrichtungsanleitung ist heute ein guter Ausgangspunkt.

Ich hoffe, das hilft Ihnen zu erkennen, was Ihre Agenten wirklich tun.

Bleiben Sie gesund,

Prost Jannik

Leave a Reply