ai-agents-for-beginners

KI-Agenten in der Produktion: Beobachtbarkeit & Auswertung

AI Agents in Production

Da KI-Agenten von experimentellen Prototypen zu realen Anwendungen übergehen, wird die Fähigkeit, ihr Verhalten zu verstehen, ihre Leistung zu überwachen und ihre Ausgaben systematisch zu bewerten, wichtig.

Lernziele

Nach Abschluss dieser Lektion wissen Sie, wie Sie/verstehen Sie

Ziel ist es, Ihnen das Wissen zu vermitteln, um Ihre „Blackbox“-Agenten in transparente, verwaltbare und zuverlässige Systeme zu verwandeln.

Hinweis: Es ist wichtig, KI-Agenten bereitzustellen, die sicher und vertrauenswürdig sind. Sehen Sie sich auch die Lektion Erstellung vertrauenswürdiger KI-Agenten an.

Traces und Spans

Beobachtbarkeitswerkzeuge wie Langfuse oder Azure AI Foundry stellen Agentenläufe typischerweise als Traces und Spans dar.

Trace tree in Langfuse

Ohne Beobachtbarkeit kann sich ein KI-Agent wie eine „Blackbox“ anfühlen – sein interner Zustand und seine Argumentation sind undurchsichtig, was die Diagnose von Problemen oder die Optimierung der Leistung erschwert. Mit Beobachtbarkeit werden Agenten zu „Glaskästen“, die Transparenz bieten, was für den Aufbau von Vertrauen unerlässlich ist und sicherstellt, dass sie wie beabsichtigt funktionieren.

Warum Beobachtbarkeit in Produktionsumgebungen wichtig ist

Die Überführung von KI-Agenten in Produktionsumgebungen bringt eine neue Reihe von Herausforderungen und Anforderungen mit sich. Beobachtbarkeit ist kein „nice-to-have“ mehr, sondern eine kritische Fähigkeit.

Wichtige zu verfolgende Metriken

Um das Agentenverhalten zu überwachen und zu verstehen, sollten eine Reihe von Metriken und Signalen verfolgt werden. Während die spezifischen Metriken je nach Zweck des Agenten variieren können, sind einige universell wichtig.

Hier sind einige der gebräuchlichsten Metriken, die Beobachtbarkeitswerkzeuge überwachen:

Latenz: Wie schnell reagiert der Agent? Lange Wartezeiten beeinträchtigen die Benutzererfahrung negativ. Sie sollten die Latenz für Aufgaben und einzelne Schritte messen, indem Sie Agentenläufe verfolgen. Zum Beispiel könnte ein Agent, der 20 Sekunden für alle Modellaufrufe benötigt, beschleunigt werden, indem ein schnelleres Modell verwendet oder Modellaufrufe parallel ausgeführt werden.

Kosten: Was kostet ein Agentenlauf? KI-Agenten sind auf LLM-Aufrufe angewiesen, die pro Token abgerechnet werden, oder auf externe APIs. Häufige Tool-Nutzung oder mehrere Prompts können die Kosten schnell erhöhen. Wenn ein Agent beispielsweise fünfmal ein LLM für eine marginale Qualitätsverbesserung aufruft, müssen Sie beurteilen, ob die Kosten gerechtfertigt sind oder ob Sie die Anzahl der Aufrufe reduzieren oder ein günstigeres Modell verwenden könnten. Echtzeitüberwachung kann auch helfen, unerwartete Spitzen zu identifizieren (z. B. Fehler, die übermäßige API-Schleifen verursachen).

Anforderungsfehler: Wie viele Anfragen des Agenten sind fehlgeschlagen? Dies kann API-Fehler oder fehlgeschlagene Tool-Aufrufe umfassen. Um Ihren Agenten in der Produktion robuster dagegen zu machen, können Sie dann Fallbacks oder Wiederholungsversuche einrichten. Z. B. wenn LLM-Anbieter A ausfällt, wechseln Sie zu LLM-Anbieter B als Backup.

Benutzerfeedback: Die Implementierung direkter Benutzerbewertungen liefert wertvolle Einblicke. Dies kann explizite Bewertungen (👍Daumen hoch/👎runter, ⭐1-5 Sterne) oder Textkommentare umfassen. Konsequent negatives Feedback sollte Sie alarmieren, da dies ein Zeichen dafür ist, dass der Agent nicht wie erwartet funktioniert.

Implizites Benutzerfeedback: Benutzerverhalten liefert indirektes Feedback, auch ohne explizite Bewertungen. Dies kann sofortige Neubeschreibungen von Fragen, wiederholte Anfragen oder das Klicken auf eine Wiederholungsschaltfläche umfassen. Wenn Sie beispielsweise sehen, dass Benutzer wiederholt dieselbe Frage stellen, ist dies ein Zeichen dafür, dass der Agent nicht wie erwartet funktioniert.

Genauigkeit: Wie oft liefert der Agent korrekte oder gewünschte Ausgaben? Die Definitionen von Genauigkeit variieren (z. B. Korrektheit bei der Problemlösung, Genauigkeit bei der Informationsbeschaffung, Benutzerzufriedenheit). Der erste Schritt ist die Definition dessen, was Erfolg für Ihren Agenten bedeutet. Sie können die Genauigkeit über automatisierte Prüfungen, Bewertungsbewertungen oder Aufgabenerfüllungs-Labels verfolgen. Zum Beispiel das Markieren von Traces als „erfolgreich“ oder „fehlgeschlagen“.

Automatisierte Bewertungsmetriken: Sie können auch automatisierte Auswertungen einrichten. Sie können beispielsweise ein LLM verwenden, um die Ausgabe des Agenten zu bewerten, z. B. ob sie hilfreich, genau oder nicht ist. Es gibt auch mehrere Open-Source-Bibliotheken, die Ihnen helfen, verschiedene Aspekte des Agenten zu bewerten. Z. B. RAGAS für RAG-Agenten oder LLM Guard zur Erkennung schädlicher Sprache oder Prompt-Injektion.

In der Praxis bietet eine Kombination dieser Metriken die beste Abdeckung der Gesundheit eines KI-Agenten. In unserem Beispiel-Notebook in diesem Kapitel zeigen wir Ihnen, wie diese Metriken in realen Beispielen aussehen, aber zuerst lernen wir, wie ein typischer Auswertungs-Workflow aussieht.

Instrumentieren Sie Ihren Agenten

Um Tracing-Daten zu sammeln, müssen Sie Ihren Code instrumentieren. Ziel ist es, den Agenten-Code so zu instrumentieren, dass Traces und Metriken emittiert werden, die von einer Beobachtbarkeitsplattform erfasst, verarbeitet und visualisiert werden können.

OpenTelemetry (OTel): OpenTelemetry hat sich als Industriestandard für die LLM-Beobachtbarkeit etabliert. Es bietet eine Reihe von APIs, SDKs und Tools zum Generieren, Sammeln und Exportieren von Telemetriedaten.

Es gibt viele Instrumentierungsbibliotheken, die bestehende Agenten-Frameworks umschließen und den Export von OpenTelemetry-Spans an ein Beobachtbarkeitswerkzeug erleichtern. Unten sehen Sie ein Beispiel für die Instrumentierung eines AutoGen-Agenten mit der OpenLit Instrumentierungsbibliothek.

import openlit

openlit.init(tracer = langfuse._otel_tracer, disable_batch = True)

Das Beispiel-Notebook in diesem Kapitel demonstriert, wie Sie Ihren AutoGen-Agenten instrumentieren.

Manuelle Span-Erstellung: Während Instrumentierungsbibliotheken eine gute Basis bieten, gibt es oft Fälle, in denen detailliertere oder benutzerdefinierte Informationen benötigt werden. Sie können Spans manuell erstellen, um benutzerdefinierte Anwendungslogik hinzuzufügen. Wichtiger noch, sie können automatisch oder manuell erstellte Spans mit benutzerdefinierten Attributen (auch Tags oder Metadaten genannt) anreichern. Diese Attribute können geschäftsspezifische Daten, Zwischenberechnungen oder beliebige Kontexte enthalten, die für die Fehlerbehebung oder Analyse nützlich sein könnten, wie z. B. user_id, session_id oder model_version.

Beispiel für die manuelle Erstellung von Traces und Spans mit dem Langfuse Python SDK

from langfuse import get_client
 
langfuse = get_client()
 
span = langfuse.start_span(name="my-span")
 
span.end()

Agentenbewertung

Beobachtbarkeit liefert uns Metriken, aber Bewertung ist der Prozess der Analyse dieser Daten (und der Durchführung von Tests), um zu bestimmen, wie gut ein KI-Agent funktioniert und wie er verbessert werden kann. Mit anderen Worten: Sobald Sie diese Traces und Metriken haben, wie nutzen Sie sie, um den Agenten zu beurteilen und Entscheidungen zu treffen?

Regelmäßige Bewertung ist wichtig, da KI-Agenten oft nicht-deterministisch sind und sich entwickeln können (durch Updates oder sich änderndes Modellverhalten) – ohne Bewertung wüssten Sie nicht, ob Ihr „intelligenter Agent“ tatsächlich gut funktioniert oder ob er sich verschlechtert hat.

Es gibt zwei Kategorien von Bewertungen für KI-Agenten: Online-Bewertung und Offline-Bewertung. Beide sind wertvoll und sie ergänzen sich. Wir beginnen normalerweise mit der Offline-Bewertung, da dies der unbedingt notwendige Schritt vor der Bereitstellung eines Agenten ist.

Offline-Bewertung

Dataset items in Langfuse

Dies beinhaltet die Bewertung des Agenten in einer kontrollierten Umgebung, typischerweise unter Verwendung von Testdatensätzen, nicht von Live-Benutzeranfragen. Sie verwenden kuratierte Datensätze, bei denen Sie die erwartete Ausgabe oder das korrekte Verhalten kennen, und lassen dann Ihren Agenten darauf laufen.

Wenn Sie beispielsweise einen Agenten für mathematische Textaufgaben erstellt haben, haben Sie möglicherweise einen Testdatensatz mit 100 Aufgaben mit bekannten Antworten. Die Offline-Bewertung wird oft während der Entwicklung durchgeführt (und kann Teil von CI/CD-Pipelines sein), um Verbesserungen zu überprüfen oder Regressionen zu vermeiden. Der Vorteil ist, dass sie wiederholbar ist und Sie klare Genauigkeitsmetriken erhalten, da Sie Ground Truth haben. Sie können auch Benutzeranfragen simulieren und die Antworten des Agenten mit idealen Antworten messen oder automatisierte Metriken wie oben beschrieben verwenden.

Die Hauptschwierigkeit bei der Offline-Bewertung besteht darin, sicherzustellen, dass Ihr Testdatensatz umfassend und relevant bleibt – der Agent könnte auf einem festen Testdatensatz gut abschneiden, aber in der Produktion auf sehr unterschiedliche Anfragen stoßen. Daher sollten Sie Testdatensätze mit neuen Edge Cases und Beispielen aktualisieren, die reale Szenarien widerspiegeln. Eine Mischung aus kleinen „Smoke-Test“-Fällen und größeren Bewertungsdatensätzen ist nützlich: kleine Sätze für schnelle Prüfungen und größere für breitere Leistungskennzahlen.

Online-Bewertung

Observability metrics overview

Dies bezieht sich auf die Bewertung des Agenten in einer Live-, realen Umgebung, d. h. während der tatsächlichen Nutzung in der Produktion. Die Online-Bewertung beinhaltet die kontinuierliche Überwachung der Leistung des Agenten bei realen Benutzerinteraktionen und die Analyse der Ergebnisse.

Sie könnten beispielsweise Erfolgsquoten, Benutzerzufriedenheitswerte oder andere Metriken auf Live-Traffic verfolgen. Der Vorteil der Online-Bewertung ist, dass sie Dinge erfasst, die Sie in einem Laborsetting möglicherweise nicht antizipieren – Sie können Modellabweichungen im Laufe der Zeit beobachten (wenn die Effektivität des Agenten abnimmt, wenn sich die Eingabemuster verschieben) und unerwartete Anfragen oder Situationen erkennen, die nicht in Ihren Testdaten waren. Sie bietet ein wahres Bild davon, wie sich der Agent in freier Wildbahn verhält.

Die Online-Bewertung beinhaltet oft das Sammeln von implizitem und explizitem Benutzerfeedback, wie oben diskutiert, und möglicherweise das Ausführen von Shadow-Tests oder A/B-Tests (bei denen eine neue Version des Agenten parallel läuft, um sie mit der alten zu vergleichen). Die Herausforderung besteht darin, dass es schwierig sein kann, zuverlässige Labels oder Bewertungen für Live-Interaktionen zu erhalten – Sie müssen sich möglicherweise auf Benutzerfeedback oder nachgelagerte Metriken verlassen (z. B. ob der Benutzer auf das Ergebnis geklickt hat).

Kombinieren der beiden

Online- und Offline-Bewertungen schließen sich nicht gegenseitig aus; sie ergänzen sich stark. Erkenntnisse aus der Online-Überwachung (z. B. neue Arten von Benutzeranfragen, bei denen der Agent schlecht abschneidet) können verwendet werden, um Offline-Testdatensätze zu erweitern und zu verbessern. Umgekehrt können Agenten, die in Offline-Tests gut abschneiden, dann vertrauensvoller bereitgestellt und online überwacht werden.

Tatsächlich verfolgen viele Teams eine Schleife

Offline bewerten -> bereitstellen -> online überwachen -> neue Fehlerfälle sammeln -> zum Offline-Datensatz hinzufügen -> Agent verfeinern -> wiederholen.

Häufige Probleme

Bei der Bereitstellung von KI-Agenten in der Produktion können verschiedene Herausforderungen auftreten. Hier sind einige häufige Probleme und ihre potenziellen Lösungen:

Problem Potenzielle Lösung
KI-Agent führt Aufgaben nicht konsistent aus - Verfeinern Sie den Prompt, der an den KI-Agenten gegeben wird; seien Sie klar in den Zielen.
- Identifizieren Sie, wo die Aufteilung von Aufgaben in Unteraufgaben und die Handhabung durch mehrere Agenten helfen kann.
KI-Agent gerät in Endlosschleifen - Stellen Sie sicher, dass klare Abbruchbedingungen und -voraussetzungen vorhanden sind, damit der Agent weiß, wann er den Prozess beenden soll.
- Verwenden Sie für komplexe Aufgaben, die Argumentation und Planung erfordern, ein größeres Modell, das auf Argumentationsaufgaben spezialisiert ist.
KI-Agent-Toolaufrufe funktionieren nicht gut - Testen und validieren Sie die Ausgabe des Tools außerhalb des Agentensystems.
- Verfeinern Sie die definierten Parameter, Prompts und Namen der Tools.
Multi-Agenten-System funktioniert nicht konsistent - Verfeinern Sie die Prompts für jeden Agenten, um sicherzustellen, dass sie spezifisch und voneinander verschieden sind.
- Bauen Sie ein hierarchisches System mit einem „Routing“- oder Controller-Agenten, um zu bestimmen, welcher Agent der richtige ist.

Viele dieser Probleme können mit vorhandener Beobachtbarkeit effektiver identifiziert werden. Die zuvor besprochenen Traces und Metriken helfen dabei, genau zu lokalisieren, wo im Agenten-Workflow Probleme auftreten, was die Fehlerbehebung und Optimierung wesentlich effizienter macht.

Kostenverwaltung

Hier sind einige Strategien zur Verwaltung der Kosten für die Bereitstellung von KI-Agenten in der Produktion:

Verwendung kleinerer Modelle: Kleine Sprachmodelle (SLMs) können bei bestimmten Agenten-Anwendungsfällen gut funktionieren und die Kosten erheblich senken. Wie bereits erwähnt, ist der Aufbau eines Bewertungssystems zur Bestimmung und zum Vergleich der Leistung mit größeren Modellen der beste Weg, um zu verstehen, wie gut ein SLM für Ihren Anwendungsfall funktioniert. Erwägen Sie die Verwendung von SLMs für einfachere Aufgaben wie Intent-Klassifizierung oder Parameter-Extraktion, während Sie größere Modelle für komplexe Argumentationsaufgaben reservieren.

Verwendung eines Router-Modells: Eine ähnliche Strategie ist die Verwendung einer Vielzahl von Modellen und Größen. Sie können ein LLM/SLM oder eine serverlose Funktion verwenden, um Anfragen basierend auf ihrer Komplexität an die am besten geeigneten Modelle weiterzuleiten. Dies hilft auch, Kosten zu senken und gleichzeitig die Leistung bei den richtigen Aufgaben zu gewährleisten. Leiten Sie beispielsweise einfache Anfragen an kleinere, schnellere Modelle weiter und verwenden Sie nur teure große Modelle für komplexe Argumentationsaufgaben.

Caching von Antworten: Die Identifizierung häufiger Anfragen und Aufgaben und die Bereitstellung der Antworten, bevor sie Ihr Agenten-System durchlaufen, ist eine gute Möglichkeit, das Volumen ähnlicher Anfragen zu reduzieren. Sie können sogar einen Workflow implementieren, um zu identifizieren, wie ähnlich eine Anfrage Ihren zwischengespeicherten Anfragen ist, indem Sie grundlegendere KI-Modelle verwenden. Diese Strategie kann die Kosten für häufig gestellte Fragen oder gängige Workflows erheblich senken.

Schauen wir uns an, wie das in der Praxis funktioniert

Im Beispiel-Notebook dieses Abschnitts sehen wir Beispiele, wie wir Beobachtbarkeitswerkzeuge zur Überwachung und Bewertung unseres Agenten verwenden können.

Haben Sie weitere Fragen zu KI-Agenten in der Produktion?

Treten Sie dem Azure AI Foundry Discord bei, um andere Lernende zu treffen, Sprechstunden zu besuchen und Ihre Fragen zu KI-Agenten beantwortet zu bekommen.

Vorherige Lektion

Metakognition Design Pattern

Nächste Lektion

Agentische Protokolle