Startseite / Artikel

Eval-Driven Development für KI-Agenten: Verträge, Spuren und Richter

Betrachten Sie Evaluierungen als CI/CD für Agenten: Nutzen Sie Versionsanfragen als Verträge, verfolgen Sie Ausführungen mit OpenTelemetry und Tempo und testen Sie anschließend mit deterministischen Überprüfungen sowie einem LLM-Bewerter.

Verlag: REACTAPP.TOP13 Min. Lesezeit3072 Wörter

Quellen: **Eval-Driven Development: A Software Engineering Approach to Production-Grade AI Agents**

Die meisten Teams, die agierende KI entwickeln, geraten früh in die Falle von Frameworks. Die Suche nach dem perfekten Orchesterierer scheint der offensichtliche erste Schritt zu sein, doch komplexe, abstrakte Frameworks erweisen sich als keine Lösung – einige davon verschlechtern sich zudem schnell zwischen den Versionen. Eine Automatisierung von Code-Reviews, die ohne jegliches Framework erstellt wurde, zeigte, wie wenig eigentlich nötig ist. Was fehlte, war etwas, das aus der herkömmlichen Softwareentwicklung übernommen werden kann: Evals, die wie CI/CD für Agenten funktionieren.

Evals sind nicht universell einsetzbar, und es handelt sich dabei nicht nur um LLMs als Urteilsinstanz. Ihre richtige Implementierung macht den Unterschied zwischen einem brüchigen Prototyp und einem systemreifen Produkt.

Der Stack hier ist absichtlich Open Source und nicht an die Managed Services eines bestimmten Anbieters gebunden. Pydantic AI ist das Agent-Framework – eine leichte, schema-basierte Bibliothek, die sich nicht in den Vordergrund drängt und Evaluierungen als erstklassige Funktion behandelt. Grafana Tempo mit S3-Speicher speichert die Spuren anstelle einer verwalteten Observabilitätsplattform, wobei künstlich intelligente Code-Generatoren diese Spuren je nach Evaluierungsart abfragen und filtern.

Warum die meisten Agenten in der Produktion nicht überleben

Das deutlichste Zeichen für ein Agentensystem, das nicht lange halten wird, ist weder das Modell, noch das Framework oder die Cleverness der dazugehörigen Anfragen. Es ist vielmehr das Fehlen grundlegender ingenieurtechnischer Praktiken. Wenn ein Agent keine strukturierte Spurverfolgung, keine Evaluierungen, keine Versionskontrolle der Anfragen sowie keine Schutzmechanismen besitzt, handelt es sich um ein rein konzeptionelles Beispiel mit hoher Versagenswahrscheinlichkeit.

Traditionelles Software entwickelt durch CI/CD-Pipelines, Unit-Tests, Integrationstests und Regressionstests eine kontinuierliche Qualität. In der nicht-deterministischen Welt von Agenten besteht die übliche katastrophale Lücke in einem fehlenden automatisierten Bewertungsrahmen sowie fehlenden betrieblichen Schutzmechanismen. Die Entwicklung ausgereifter Agenten bedeutet, zu den Grundprinzipien zurückzukehren: offene Infrastruktur sowie ein skalierbarer Entwicklungsprozess basierend auf Evaluationsmethoden (Eval-Driven Development, EDD).

Der Produktionspipeline

1. Der Vertrag: Die Anweisungen separat versionieren

Anweisungen und die damit verbundenen Artefakte sind der wichtigste Bestandteil eines Agentensystems, daher sollten sie nicht im Agentencode versteckt werden. Der Code ist lediglich der „Körper“, den es relativ einfach stabilisieren und versionieren lässt, während sich die Anweisungen mit der Verbesserung der Modelle ständig weiterentwickeln.

Der Pipeline beginnt mit einem versionierten Vertrag, der genau festlegt, was ausgeführt werden soll: der Agent, die Anweisung, das Modell sowie die Bewertungspolitik.

[
  {
    "agent_id": "financial_market_headlines",
    "version": 1,
    "agent_model": "openai:gpt-4",
    "prompt": "What are today's major financial market headlines?",
    "eval": {
      "contains": ["market"],
      "max_model_requests": 3,
      "min_tool_calls": 1,
      "max_tool_calls": 5,
      "judge_rubric": "The answer should be a useful response to the user's financial markets question. It should summarize market-relevant information, avoid obviously unrelated content, avoid investment advice, and avoid claiming certainty beyond what the retrieved information supports."
    }
  }
]

Der Prompt sowie die Bewertungskriterien sind hier absichtlich kurz, um eine Demonstration zu ermöglichen, da Produkt-Prompts in der Regel lang und detailliert sind. Der Vertrag verknüpft den Prompt mit einem Bewertungsprompt für LLMs als Urteiler sowie mit nicht-LLM-basierten Überprüfungen wie Schlüsselwortabgleich mittels „contains“ sowie Mindest- oder Maximalanzahlen an Toolaufrufen.

2. Die Laufzeit: Der Ausführungsmotor

Der Agent-Laufzeitmechanismus führt den Vertrag aus. Er ruft das Modell auf, nutzt bei Bedarf externe Tools über MCP und erledigt die eigentliche Arbeit.

Die Entscheidung fiel hauptsächlich zwischen LangGraph und Pydantic AI. Python ist nicht die einzige Option – selbst Rust verfügt über eine Bibliothek in Rig. Doch die reine Sprachgeschwindigkeit spielt im Vergleich zur Wartezeit bei der LLM-Inferenz sowie zu den Netzwerkaufrufen zu MCP-Tools kaum eine Rolle; daher gewinnt Pythons umfangreiches, ausgereiftes KI-Ökosystem. Pydantic AI wurde wegen seiner erstklassigen Unterstützung für Bewertungen ausgewählt.

In der Produktion kommt die Ausführumgebung in der Regel auf Kubernetes zum Einsatz. Es ist verlockend, übermäßig zu optimieren, indem man jeden Agenten als benutzerdefinierte Ressource modelliert, doch Reconciliation-Schleifen für schnell ändernde Anfragen verringern die Geschwindigkeit erheblich. Halten Sie die Ausführumgebung schlank.

3. Die Observabilitätsschicht: keine Blindstellen

Die Ausführumgebung gibt Spuren, Protokolle, Nutzungszähler, Aufrufe von Modellen und Tools, Latenzwerte sowie Fehler aus – all das wird mit OpenTelemetry erfasst und in Systemen wie Tempo, Loki und Prometheus gespeichert. Grafana zeigt anschließend, was das System in der Produktion tut.

4. Die Bewertungsschicht: CI/CD für KI

Hier kommt alles zusammen. Ausführungsspuren aus der Observabilitätschicht fließen direkt in die Bewertung, wo gegen echte Spuren zwei Arten von Tests durchgeführt werden: deterministische Regeln und nicht-deterministische Beurteilungen.

Der Kreislauf hört niemals auf: definieren, ausführen, beobachten, bewerten, verbessern, wiederholen.

Determinismus auf ein nicht-deterministisches System aufzwingen

Die Evaluierungen lassen sich in zwei Gruppen einteilen. Deterministische können mit einfachem Code genau getestet werden. Ein absichtlich vereinfachtes Beispiel wäre, einem LLM zu bitten, zwei Zahlen zu addieren, und die Antwort mit einem Unit-Test zu überprüfen.

Im Rahmen dieses Anwendungsfalls wird im Prompt nach den heutigen Nachrichten vom Finanzmarkt gefragt, was bedeutet, dass das Modell mindestens einmal das bereitgestellte Web-Suchwerkzeug aufrufen muss. Dieser Teil ist deterministisch und eignet sich gut als Test. Falls die Ausgabe bestimmte Zeichenketten enthalten muss, kann eine „Contains“-Überprüfung dies bestätigen.

Ebene 1: Live-Determinismus-Tests

Die Live-Suite führt den heutigen Agenten gegen den versionierten Vertrag aus. Pydantic Evals enthält MaxToolCalls sowie einen Text-„Contains“-Checker. Fehlende Funktionen wie MinToolCalls werden als einfache Wrapper hinzugefügt.

uv run python tests/unittest_eval_agent.py

Die Bewertungsexperten werden je nach Fall zusammengestellt:

evaluators=[
    *[Contains(value, case_sensitive=False) for value in case.eval.contains],
    MaxModelRequests(case.eval.max_model_requests),
    MinToolCalls(case.eval.min_tool_calls),
    MaxToolCalls(case.eval.max_tool_calls),
]

Jeder Fall wird mehrmals ausgeführt, da Modelle nicht-deterministisch sind. Dasselbe Modell mit identischem Prompt und Einstellungen kann die Funktion in einer Ausführung aufrufen und in einer anderen auslassen. Das ist besonders bei günstigeren, weniger leistungsstarken Modellen zu beobachten, und wenn beispielsweise zehn Ausführungen fehlschlagen, deutet das darauf hin, dass der Prompt mehr Details benötigt. Eine Ausführung mit drei Wiederholungen sieht so aus:

(financial-agent2) alex@pop-os:/ssd/ai_works/financial_agent2$ uv run python tests/unittest_eval_agent.py
Running each eval case 3 time(s)
Evaluating task ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
                               Evaluation Summary: task
┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Case ID                             ┃ Metrics               ┃ Assertions ┃ Duration ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━╇━━━━━━━━━━┩
│ financial_market_headlines_v1 [1/3] │ tool_calls: 1         │ ✔✔✔✔       │    18.8s │
│                                     │ requests: 2           │            │          │
│                                     │ input_tokens: 1,325   │            │          │
│                                     │ output_tokens: 278    │            │          │
│                                     │ cost: 0.0564          │            │          │
├─────────────────────────────────────┼───────────────────────┼────────────┼──────────┤
│ financial_market_headlines_v1 [2/3] │ tool_calls: 1         │ ✔✔✔✔       │     8.8s │
│                                     │ requests: 2           │            │          │
│                                     │ input_tokens: 1,195   │            │          │
│                                     │ output_tokens: 82     │            │          │
│                                     │ cost: 0.0408          │            │          │
├─────────────────────────────────────┼───────────────────────┼────────────┼──────────┤
│ financial_market_headlines_v1 [3/3] │ tool_calls: 1         │ ✔✔✔✔       │    13.5s │
│                                     │ requests: 2           │            │          │
│                                     │ input_tokens: 1,292   │            │          │
│                                     │ output_tokens: 388    │            │          │
│                                     │ cost: 0.0620          │            │          │
├─────────────────────────────────────┼───────────────────────┼────────────┼──────────┤
│ Averages                            │ requests: 2.00        │ 100.0% ✔   │    13.7s │
│                                     │ output_tokens: 249.3  │            │          │
│                                     │ tool_calls: 1.00      │            │          │
│                                     │ cost: 0.0531          │            │          │
│                                     │ input_tokens: 1,270.7 │            │          │
└─────────────────────────────────────┴───────────────────────┴────────────┴──────────┘

Schicht 2: deterministische Regression aus Spuren

Das zweite Set führt den Agenten nicht erneut aus. Es liest fertige Spuren aus Tempo:

uv run python tests/regression_eval_traces.py

Es gibt das endgültige Ergebnis aus, zählt die Anzahl der Modell- und Tool-Teile, findet den aufgezeichneten Vertrag und wendet dieselben deterministischen Regeln wie zuvor an: Enthält sowie das Tool muss mindestens einmal aufgerufen werden. Ein aufgezeichneter Ausführungsvorgang kann Folgendes melden:

Trace: ff5a53e3392dc26cd0a2890782be70ec
Eval case: financial_market_headlines v1
Status: PASS
Model requests: 2
Tool calls: 1
contains('market'): PASS
MaxModelRequests: PASS
MaxToolCalls: PASS

Das ist günstig und wiederholbar, da es die bereits erfassten Beweise erneut bewertet.

Ebene 3: nicht-deterministische Tests mit einem LLM-Richter

Der Vertrag enthält außerdem eine Bewertungskriterienliste für die Prüfung des Prompts. Es handelt sich wieder um denselben kurzen Vertrag:

[
  {
    "agent_id": "financial_market_headlines",
    "version": 1,
    "agent_model": "openai:gpt-4",
    "prompt": "What are today's major financial market headlines?",
    "eval": {
      "contains": ["market"],
      "max_model_requests": 3,
      "min_tool_calls": 1,
      "max_tool_calls": 5,
      "judge_rubric": "The answer should be a useful response to the user's financial markets question. It should summarize market-relevant information, avoid obviously unrelated content, avoid investment advice, and avoid claiming certainty beyond what the retrieved information supports."
    }
  }
]

Weil der Agent selbst auf GPT-4 basiert, benötigt der Bewertungsmechanismus ein leistungsstärkeres Modell, und GPT-5 übernimmt hier diese Rolle. Es entscheidet, ob die Antwort nützlich und relevant war, ob sie das von den abgerufenen Materialien Unterstützte übertrieb und ob sie in Anlageberatung abrutschte.

Die Aufteilung der Bewertungskriterien in mehrere Ebenen bietet einen weiteren Ansatz. Einfache Prüfungen der Art der natürlichen Sprachverarbeitung können an schwächere Modelle oder sogar kleine, selbst gehostete Systeme übertragen werden, und eine Reihe solcher einfachen Tests kann zusammen etwas Erreichen, das dem oben beschriebenen höherstufigen Urteil nahekommt. Was besser ist, hängt vom Anwendungsfall und von der Gestaltung der Tests ab.

Für mehr Einblicke ist die Übersichtsarbeit „A Survey on LLM-as-a-Judge“ (arXiv 2411.15594) eine gute Lektüre. Je nach Anwendungsfall werden letztendlich Systeme benötigt, die den Bewertungsmechanismus selbst bewerten, unter Verwendung menschlicher Rückmeldungen oder anderer Methoden.

Die Suite lädt dasselbe gespeicherte Endresultat und führt Pydantic Evals LLMJudge mit der Bewertungskriterienliste des Vertrags aus:

LLMJudge(
    rubric=case.eval_case.eval.judge_rubric,
    model=args.judge_model,
    include_input=True,
    score={"evaluation_name": "judge_score", "include_reason": True},
    assertion={"evaluation_name": "judge_pass", "include_reason": True},
)

Hier ist ein klassischer Fehler, der vom Richter aufgedeckt wurde und durch eine kurze sowie vage Anfrage verursacht wurde. Anstatt das Tool aufzurufen und die Ergebnisse zusammenzufassen, antwortete das Modell mit einer Nachricht, in der dem Benutzer geraten wurde, Finanznachrichtenportale zu prüfen.

uv run python tests/regression_llm_judge_traces.py   --sample-percent 50
Trace selection: fetched=1 sampled=1 judging=1 lookback_minutes=1440 sample_percent=50 max_traces=5
Trace case: trace_id=3891f0b8432c9bbcb00e5e8adce1600b agent_id=financial_market_headlines prompt_version=1 answer_chars=207
Judging 1 trace(s) with openai:gpt-5.4
Evaluating task ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
                                                   Evaluation Summary: task
┏━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Case ID              ┃ Inputs               ┃ Outputs              ┃ Scores               ┃ Assertions          ┃ Duration ┃
┡━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ financial_market_he… │ {'trace_id':         │ Today's major        │ judge_score: 0.000   │ judge_pass: ✗       │    469µs │
│                      │ '3891f0b8432c9bbcb00 │ financial market     │   Reason: The        │   Reason: The       │          │
│                      │ e5e8adce1600b',      │ headlines can be     │ response does not    │ response does not   │          │
│                      │ 'agent_id':          │ found on major       │ summarize any actual │ summarize any       │          │
│                      │ 'financial_market_he │ business and finance │ market headlines or  │ actual market       │          │
│                      │ adlines',            │ news outlets         │ provide              │ headlines or        │          │
│                      │ 'prompt_version': 1, │ including CNBC,      │ market-relevant      │ provide             │          │
│                      │ 'agent_model':       │ Yahoo Finance,       │ information; it only │ market-relevant     │          │
│                      │ 'openai:gpt-4',      │ Reuters, and         │ redirects the user   │ information; it     │          │
│                      │ 'judge_model':       │ Bloomberg. For more  │ to news websites. It │ only redirects the  │          │
│                      │ 'openai:gpt-5.4',    │ specific stories,    │ avoids investment    │ user to news        │          │
│                      │ 'prompt': "What are  │ please visit their   │ advice, but it is    │ websites. It avoids │          │
│                      │ today's major        │ websites.            │ not a useful answer  │ investment advice,  │          │
│                      │ financial market     │                      │ to the user's        │ but it is not a     │          │
│                      │ headlines?"}         │                      │ question.            │ useful answer to    │          │
│                      │                      │                      │                      │ the user's          │          │
│                      │                      │                      │                      │ question.           │          │
│                      │                      │                      │                      │                     │          │
│                      │                      │                      │                      │                     │          │
├──────────────────────┼──────────────────────┼──────────────────────┼──────────────────────┼─────────────────────┼──────────┤
│ Averages             │                      │                      │ judge_score: 0.000   │ 0.0% ✔              │    469µs │
└──────────────────────┴──────────────────────┴──────────────────────┴──────────────────────┴─────────────────────┴──────────┘

Ein weiterer Fehlfall ist unten aufgeführt. In diesem Fall könnte der Richter falsch entschieden haben, oder die Bewertungskriterien könnten zu vage sein, da das Modell tatsächlich die Suchfunktion MCP verwendet hat und ordentliche Ergebnisse erzielte.

uv run python tests/regression_llm_judge_traces.py  --sample-percent 10 --lookback-minutes 30
Trace selection: fetched=1 sampled=1 judging=1 lookback_minutes=30 sample_percent=10 max_traces=5
Trace case: trace_id=38fa3a54134d8818c7d7a5afbf50967e agent_id=financial_market_headlines prompt_version=1 answer_chars=654
Judging 1 trace(s) with openai:gpt-5.4
Evaluating task ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
                                             Evaluation Summary: task
┏━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ Case ID            ┃ Inputs             ┃ Outputs           ┃ Scores             ┃ Assertions        ┃ Duration ┃
┡━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ financial_market_… │ {'trace_id':       │ Here are today's  │ judge_score: 0.450 │ judge_pass: ✗     │    441µs │
│                    │ '38fa3a54134d8818c │ major financial   │   Reason: The      │   Reason: The     │          │
│                    │ 7d7a5afbf50967e',  │ market headlines: │ response is        │ response is       │          │
│                    │ 'agent_id':        │                   │ market-related and │ market-related    │          │
│                    │ 'financial_market_ │ 1. Wall Street's  │ avoids investment  │ and avoids        │          │
│                    │ headlines',        │ riskiest trades   │ advice, but it     │ investment        │          │
│                    │ 'prompt_version':  │ are suddenly back │ mostly lists       │ advice, but it    │          │
│                    │ 1, 'agent_model':  │ on top: Chart of  │ article headlines  │ mostly lists      │          │
│                    │ 'openai:gpt-4',    │ the Day - Yahoo   │ and links rather   │ article headlines │          │
│                    │ 'judge_model':     │ Finance           │ than providing a   │ and links rather  │          │
│                    │ 'openai:gpt-5.4',  │ [Link](https://fi │ useful summary of  │ than providing a  │          │
│                    │ 'prompt': "What    │ nance.yahoo.com/) │ the key financial  │ useful summary of │          │
│                    │ are today's major  │ 2. S&P 500        │ market             │ the key financial │          │
│                    │ financial market   │ notches           │ developments.      │ market            │          │
│                    │ headlines?"}       │ record-high close │                    │ developments.     │          │
│                    │                    │ as rate-hike      │                    │                   │          │
│                    │                    │ worries ease -    │                    │                   │          │
│                    │                    │ Reuters           │                    │                   │          │
│                    │                    │ [Link](https://ww │                    │                   │          │
│                    │                    │ w.reuters.com/mar │                    │                   │          │
│                    │                    │ kets/us/)         │                    │                   │          │
│                    │                    │ 3. Treasury       │                    │                   │          │
│                    │                    │ yields rise as    │                    │                   │          │
│                    │                    │ U.S. threatens    │                    │                   │          │
│                    │                    │ Iran with more    │                    │                   │          │
│                    │                    │ economic          │                    │                   │          │
│                    │                    │ sanctions - CNBC  │                    │                   │          │
│                    │                    │ [Link](https://ww │                    │                   │          │
│                    │                    │ w.cnbc.com/)      │                    │                   │          │
│                    │                    │ 4. Latest stock   │                    │                   │          │
│                    │                    │ market, financial │                    │                   │          │
│                    │                    │ and business news │                    │                   │          │
│                    │                    │ - MarketWatch     │                    │                   │          │
│                    │                    │ [Link](https://ww │                    │                   │          │
│                    │                    │ w.marketwatch.com │                    │                   │          │
│                    │                    │ /)                │                    │                   │          │
│                    │                    │ 5. Latest finance │                    │                   │          │
│                    │                    │ and stock market  │                    │                   │          │
│                    │                    │ news covering the │                    │                   │          │
│                    │                    │ Dow, S&P 500,     │                    │                   │          │
│                    │                    │ banking,          │                    │                   │          │
│                    │                    │ investing and     │                    │                   │          │
│                    │                    │ regulation - WSJ  │                    │                   │          │
│                    │                    │ [Link](https://ww │                    │                   │          │
│                    │                    │ w.wsj.com/finance │                    │                   │          │
│                    │                    │ )                 │                    │                   │          │
├────────────────────┼────────────────────┼───────────────────┼────────────────────┼───────────────────┼──────────┤
│ Averages           │                    │                   │ judge_score: 0.450 │ 0.0% ✔            │    441µs │
└────────────────────┴────────────────────┴───────────────────┴────────────────────┴───────────────────┴──────────┘mar

Das Durchführen dieser Art von Test auf jeder Spur kann zu teuer und langsam werden. Zufällige Stichproben sind eine bessere Option. Wenn das Produkt eine Möglichkeit zur Erfassung von Nutzerfeedback bietet, kann die Spurenanzeige direkt zu den Komponenten im Ablauf führen, bei denen etwas schiefgelaufen ist, und nur diese werden getestet. Kommerzielle Produkte wie LangSmith und Arize Phoenix bieten dies bereits, doch ein S3-Backend in Kombination mit dieser Technologie erbringt dieselben Funktionen, und es existiert auch eine docker compose-Einrichtung dafür.

Nach den anfänglichen Unit-Tests wird klar, dass sowohl die Anweisungen als auch die Bewertungskriterien aktualisiert werden müssen, wodurch der Vertrag auf Version 2 übergeht:

  {
    "id": "financial_market_headlines",
    "version": 2,
    "agent": "websearch",
    "prompt": "Use the web-search tool to find and verify today's major financial-market headlines. Report the 3 to 5 most consequential developments across equities, rates, currencies, commodities, or macroeconomic policy. For each item, state what happened, identify the affected market or region, explain briefly why it matters, and name the source with a link when available. Include the relevant date and units for numerical claims. Cross-check any surprising index level, percentage move, policy decision, or economic release against a second reliable source; if it cannot be verified, omit it or clearly label it as unconfirmed. State when the information was current, distinguish facts from developing reports or interpretation, and say when reliable current information is insufficient. Do not invent facts, present stale information as today's news, or give personalized investment advice.",
    "contains": ["market"],
    "max_model_requests": 4,
    "min_tool_calls": 1,
    "max_tool_calls": 7,
    "judge_rubric": "The response should provide 3 to 5 current, consequential financial-market developments based on web research. Each item should identify what happened, the affected market or region, why it matters, and its source, preferably with a link. Numerical claims should include meaningful dates and units; surprising figures should be corroborated by a second reliable source or explicitly marked unconfirmed. The answer should state when the information was current, distinguish verified facts from developing reports or interpretation, and acknowledge insufficient evidence rather than inventing details. It must stay relevant, avoid stale news presented as current, avoid unsupported certainty, and avoid personalized investment advice. A polished but uncited answer containing an implausible or unverifiable market figure should fail."
  },

Von Muster zu Release-Pipeline

Wenn jeder Verlauf auf seinen Vertrag verweist, kann eine Release-Pipeline in jeder Phase verschiedene Arten von Belegen heranziehen, was mehr aussagt als nur ein einziger Erfolgsgrad. Eine Veröffentlichung sollte anhand mehrerer Kriterien bewertet werden:

  • ob die Aufgabe erfolgreich war
  • wie gut die Ausgabe semantisch ist
  • ob die Tools korrekt verwendet wurden
  • Sicherheit und Einhaltung von Richtlinien
  • Kosten in Anfragen und Tokens
  • Verzögerung und Zuverlässigkeit

Weiterführende Literatur

Der Engineering-Blog von Anthropic enthält einen Artikel darüber, wie Evaluierungen für KI-Agenten funktionieren, unter https://www.anthropic.com/engineering/demystifying-evals-for-ai-agents, der das umfassendere Konzept erläutert.

Verwandte Literatur

  • Einschätzungen von Agenten und Fähigkeiten in der Praxis: Entwicklungspfade, Bewertungsmethoden, pass^k und Tools — Wie man Agenten und Fähigkeiten bewertet: Auslösungs- und Ausführungssätze, Rangfolge der Bewertungsmethoden, Präzision und Treffgenauigkeit, pass@k gegenüber pass^k, ein kleines Python-Toolset sowie Auswahl von Hilfsmitteln.
  • Von Evaluierungen zu selbstverbessernden Agenten: Fünf Epochen der Agentenbewertung — Die Agentenbewertung bedeutet heute die Überprüfung von Ablaufprotokollen. Erfahren Sie, wie deterministische Überprüfungen, LLMs und Agentenbewerter, Diagnosemethoden sowie ein Meta-Toolset einen sicheren Verbesserungskreislauf schaffen.
  • Praktische Hinweise: Das agentenbasierte SDLC – Wie KI die Softwareentwicklung verändert — Detaillierte Anleitung zu den Praktischen Hinweisen: Das agentenbasierte SDLC – Wie KI die Softwareentwicklung verändert: Verträge, Überprüfungen sowie Code-Blöcke für Teams, die dieses Muster einsetzen.