Damit lassen sich drei Fragen beantworten, die sonst offen bleiben: Welche Eingabe hat die falsche Entscheidung ausgelöst? Ändert ein neuer Prompt das Verhalten in genau diesem Fall? Und hätte die neue Policy den Aufruf verhindert?
Wenn Sie es nicht wiederholen können, haben Sie es nicht verstanden
Ein Agenten-Lauf ist nicht-deterministisch. Genau deshalb braucht er mehr Instrumentierung als klassische Software, nicht weniger: ein Span je Tool-Call, deterministisches Replay für die Fehlersuche, eine Eval-Suite in der CI und Kosten, die einem Use Case zugeordnet sind.
Geeignet fürTeams, die KI-Agenten produktiv betreiben und einen Fehlschlag hinterher erklären müssen
Traces · Replay · Evals — nachvollziehbar statt „lief einmal"
Das Wichtigste auf einen Blick
- Geeignet für
- Teams, die KI-Agenten produktiv betreiben und einen Fehlschlag hinterher erklären müssen
- Ausgangssituation
- Ein Agentenlauf ist nicht-deterministisch: Der Fehler tritt beim zweiten Versuch schlicht nicht mehr auf
- Wir übernehmen
- Ein Span je Tool-Call, deterministisches Replay, Eval-Suite in der CI, Kostenzuordnung je Use Case und Mandant
- Bei Ihnen bleibt
- Ihre Daten und die Entscheidung, welche davon ein Modell sehen darf. Eigentum und Hoheit wechseln nicht.
- Vorhandene Systeme
- Welche Hardware und welche Schnittstellen sich weiterverwenden lassen, klären wir vor dem Angebot. Das Ergebnis steht schriftlich fest, bevor Sie beauftragen.
- Ihr Ergebnis
- Jeder Lauf ist wiederholbar — mit Kosten, Laufzeit und Richtlinienentscheidung für jeden einzelnen Schritt
- Preisrahmen
- Kein Aufpreis — Teil der Betriebspauschale; bei sehr hohen Trace-Volumina vereinbaren wir Sampling-Regeln
- Reaktionszeit
- Nach vereinbarter Service-Klasse; zur Geschäftszeit im Mittel unter 30 Minuten bis zur ersten Rückmeldung
- Dauer
- 365 Tage Aufbewahrung audit-relevanter Ereignisse; die Eval-Suite startet mit 20 bis 30 Fällen
- Erster Schritt
- Wir zerlegen einen Ihrer Läufe und zeigen, welche Spans heute fehlen
Was in einem Span steht
| Attribut | Beispiel | Wozu |
|---|---|---|
| agent.id / agent.version | action-agent@3 | Zuordnung zu Identität und Codestand |
| run.id / step | r-8f21c9 · 4 | Verknüpfung mit dem Event Log der Runtime |
| tool.name | stripe.refund | Welches Werkzeug, welcher MCP-Server |
| tool.params_sanitized | {amount:189.00, order:sha256…} | Nachvollziehbarkeit ohne Klartext-Personendaten |
| policy.decision | allow (limit 250) | Warum der Aufruf durchging — oder nicht |
| latency.ms | 310 | Wo die Zeit hingeht |
| tokens.in / tokens.out | 4 210 / 380 | Grundlage der Kostenzuordnung |
| model.name / model.route | klein → gross | Nachweis, wann eskaliert wurde |
| cache.hit | true | Wirkung des Prompt-Caching |
| error.type | upstream_timeout | Fehlerklassifikation für Alerting |
Deterministisches Replay
# Lauf exakt so wiederholen, wie er passiert ist — ohne echte Tool-Calls.
agentctl replay r-8f21c9
# Derselbe Lauf gegen einen geaenderten Prompt. Zeigt die Abweichung
# Schritt fuer Schritt an, statt nur das Endergebnis zu vergleichen.
agentctl replay r-8f21c9 --prompt-version 12 --diff
# Haette die neue Policy den Refund verhindert?
agentctl replay r-8f21c9 --policy ./tools.policy.yaml --dry-runfrom hostspezial.agents.eval import Suite, case, assert_tool_called
suite = Suite("refund-agent")
# Faelle kommen aus echten Laeufen: jeder produktive Fehler wird
# zum Testfall. Die Suite laeuft in der CI, nicht im Notebook.
@case(fixture="runs/r-8f21c9")
def test_refund_unter_limit(run):
assert_tool_called(run, "stripe.refund", amount=189.00)
assert run.status == "completed"
assert run.cost_eur < 0.05
@case(fixture="runs/r-3ac110")
def test_ueber_limit_geht_an_menschen(run):
# Der teuerste Fehler waere eine stille Selbstfreigabe.
assert run.status == "awaiting_approval"
assert not run.tool_called("stripe.refund")Evals gehören in die CI
Die Suite wächst von selbst: Jeder produktive Fehlschlag wird als Fixture aufgezeichnet und zum Testfall. Nach einem halben Jahr Betrieb ist das der wertvollste Teil des Projekts — wertvoller als der Prompt.
Erfolgsquote je Fallklasse, Anteil der Eskalationen an Menschen, Kosten je erfolgreichem Task, p95-Laufzeit und die Rate falsch positiver Aktionen. Nicht: „Zufriedenheit mit der Antwort“ — das ist kein Testkriterium, sondern eine Umfrage.
Kosten, die einem Verursacher zugeordnet sind
| Ebene | Kennzahl | Beispiel | Steuerhebel |
|---|---|---|---|
| Einzelner Lauf | Kosten je Lauf | 0,031 € | Budget-Cap, Kontext-Kompaktierung |
| Use Case | Kosten je erfolgreichem Task | 0,047 € | Model-Routing, Cache-Quote |
| Team | Ausgaben je Monat | kundenspezifisch | Quoten je Agent, Alarm bei Abweichung |
| Mandant | Weiterverrechnung | kundenspezifisch | Attribution über Span-Labels |
Was das nicht löst
Ehrliche Grenzen
Replay reproduziert Entscheidungen gegen aufgezeichnete Antworten — es beweist nicht, dass das Modell heute dieselbe Antwort gäbe. Und Traces zeigen, was der Agent getan hat, nicht warum das Modell es für richtig hielt. Wer Begründungen braucht, muss sie als strukturierte Ausgabe erzwingen und mitprotokollieren — nachträglich rekonstruieren lässt sie sich nicht.
Observability im Detail
/01Können wir die Traces in unser eigenes System exportieren?+
Ja. Der Export erfolgt über OTLP an ein Ziel Ihrer Wahl — Tempo, Jaeger, Datadog oder ein bestehendes SIEM. Wir betreiben den Standard-Stack auf Basis von Prometheus und Grafana, sind aber nicht darauf angewiesen.
/02Wie lange werden Traces aufbewahrt?+
Audit-relevante Ereignisse standardmäßig 365 Tage, vollständige Trace-Details kürzer — abhängig von Volumen und vereinbarter Klasse. Die Aufbewahrung ist Teil des Auftragsverarbeitungsvertrags, nicht eine Einstellung im Produkt.
/03Landen personenbezogene Daten in den Traces?+
Nur soweit konfiguriert. Der Collector sanitisiert Parameter vor der Ablage: Feldnamen und Typen bleiben, Klartextwerte werden gehasht oder verworfen. Welche Felder wie behandelt werden, wird je Werkzeug festgelegt und dokumentiert.
/04Was kostet Observability zusätzlich?+
Nichts extra — sie ist Teil der Betriebspauschale. Bei sehr hohen Trace-Volumina vereinbaren wir Sampling-Regeln, damit die Ablage nicht teurer wird als der Betrieb. Details auf der Preisseite.
/05Wie viele Eval-Fälle braucht eine sinnvolle Suite?+
Zum Start reichen 20 bis 30 Fälle, wenn sie die realen Randfälle abdecken statt den Normalfall zu wiederholen. Entscheidend ist nicht die Anzahl, sondern dass jeder produktive Fehlschlag als Fall hinzukommt.
/06Ersetzt Replay einen Testlauf gegen echte Systeme?+
Nein. Replay prüft Entscheidungslogik gegen aufgezeichnete Antworten. Integrationsfehler — geänderte Schemata, neue Fehlercodes, verändertes Verhalten eines Werkzeugs — findet nur ein echter Lauf gegen ein Testsystem.
Weiter in der Plattform
Lassen Sie uns einen Ihrer Läufe zerlegen
Nachvollziehbarkeit klären.
Was ein Agent getan hat, muss nach Wochen noch belegbar sein. Wir klären, welche Spuren Ihre Revision und Ihre Aufsicht dafür brauchen. Ausführlich beschrieben ist das unter Agentic AI.
Betrieb in deutschen Rechenzentren
