Set-Bench: ein Agent-Benchmark für Anthropic- und Mistral-Modelle

Ein Agent-Loop re-sendet seinen ganzen Kontext bei jedem Turn — System-Prompt, Tool-Schemas, die wachsende Message-History. Was es also kostet, einen zu fahren, hängt an zwei Hebeln, die kaum ein Leaderboard misst: welches Modell du gewählt hast, und ob sein Prefix cacht. Über acht produktionsnahe Agent-Achsen (Multi-Turn-Loops, Sub-Agent-Orchestrierung, Memory-gestütztes Reasoning, Workflow-Komposition, Long-Context-Tool-Nutzung, backtrackende Tool-Chains, Cron-Cold-Starts, Realwelt-Strategie), je n=10, ist der Abstand brutal: ein kleines Mistral fährt den Loop für $0.00005–$0.0002 pro Task in einen korrekten Endzustand, wo Haiku ~$0.006 kostet: ein 30–100×-Abstand.

Offenlegung zuerst: lynox verkauft Managed-Hosting für beide, Anthropic und Mistral. Ein Benchmark von uns, der den günstigeren, den wir ebenfalls verkaufen (Mistral), gut aussehen lässt, ist per Default verdächtig. Fair. Also sind die Zahlen öffentlich (source-available, ELv2; jedes Ergebnis-JSON im Repo, Link am Ende), die Methodik-Schwächen stehen unten, und ich behaupte nicht, Mistral sei besser. Nur, konkret, günstiger für diese Loops. (Umfang sind Anthropic und Mistral, die zwei Provider, die wir über alle acht Achsen parity-verifiziert haben; OpenAI- und Gemini-Adapter existieren, aber ich publiziere keine Zahlen, die ich nicht parity-geprüft habe.) Versucht, es zu brechen.

Zwei Hebel, die die Loop-Kosten bestimmen

Hebel 1 — Modell-Grundpreis, und er dominiert. Vor jedem Caching fährt ministral-3b-2512 diese Loops für $0.00043 cold vs. Haikus $0.0073: 17× günstiger allein auf Listenpreis. Caching ist das Sahnehäubchen; der Kuchen ist, an welches Modell du die Tokens schickst. „Anthropic-Qualität zu Mistral-Kosten” beginnt für loop-förmige Arbeit strukturell auszusehen, sofern du nur die Aufgabe erledigt brauchst, nicht die schönste Antwort (siehe Vorbehalte).

Hebel 2 — Caching, und nicht jedes Modell cacht. Im Loop ist der re-sendete Prefix der Großteil der Rechnung, Prompt-Caching kollabiert ihn: die Modelle, die cachen, laufen 2–5× günstiger warm als cold (ministral 3b/8b/14b ~5×, Sonnet/Opus ~2.2–2.6×). Das Nicht-Offensichtliche: Claude Haiku 4.5 cachte die paar-tausend-Token-Prefixes dieser Turns nicht. Ein direkter API-Probe klärt es. Ein identischer 2.9K-Token-cache_control-Block cachte auf Sonnet voll (2863 Tokens beim zweiten Call gelesen) und 0 auf Haiku; nur unsere 14K-Token-Long-Context-Achse überschritt Haikus (deutlich höheres) Cache-Minimum. Haiku zahlt also jeden Turn voll: ein Modell, das nicht cacht, ist im Loop strukturell teuer, zusätzlich zum Grundpreis. (Sein warm≈cold-Wert in der Tabelle ist korrekt, kein Harness-Fehler.)

Wo das schwach ist: vor dem Vertrauen lesen

Die Tools sind Mocks. Die Loops laufen gegen deterministische Stubs: web_search gibt gecannte Treffer, spawn_agent festen Output. Bewusster Trade für Reproduzierbarkeit (echte Tools = Netzwerk-Flake, Drift, Kosten pro Lauf), aber das misst Loop-Mechanik und Kosten, nicht echte Tool-Qualität. „Kleines Mistral hält mit” gilt gegen vorhersehbare Tool-Outputs; messy echte sind schwerer, und das belegt der Harness nicht.

Pass/Fail ist ein Boden, kein Qualitätsmaß. Eine Zelle besteht, wenn ihr Output einen von uns geschriebenen Regex-Ground-Truth trifft; Aufgabe erledigt, nicht: Antwort so gut wie Opus’. Die meisten Zellen bestehen 100 %, was die Dimension verbirgt, in der Frontier-Modelle wohl davonziehen. Der Kosten-Claim oben heißt also „günstiger, dieselbe Latte zu nehmen”, nicht „gleiche Qualität”.

Wir publizieren keinen Cross-Vendor-Quality-Score. Der Fix dafür ist ein LLM-Judge, aber ein einzelner hat Self-Preference (Anthropic-Judge bewertet Anthropic-Prosa höher). Wir fuhren ein Zwei-Vendor-Panel auf härteren offenen Achsen: der Anthropic-Judge (Sonnet) bewertete Anthropic deutlich über Mistral; der Mistral-Judge gab allen Bestnoten und differenzierte gar nicht. Keine Übereinstimmung → keine Quality-Spalte, nur cost/pass/latency/cache. Beachte, wie das schneidet: der einzige Judge, der differenzierte, bevorzugte Anthropic; eine Quality-Spalte wegzulassen verschweigt also eine Zahl, die die Frontier-Modelle schmeicheln würde, nicht Mistral.

Und: Der Harness enthält zwölf Achsen; wir tabellieren acht. Die anderen vier sind bewusst zurückgehalten. Zwei sind geschlossene Reasoning-Rätsel, die Chain-of-Thought egalisiert (ein 3B löst sie, sobald es seine Schritte zeigt, sie ceilen und differenzieren nicht), und zwei sind offene Design-Achsen, von einem LLM-Judge bewertet, den wir nicht bias-frei bekamen (die Quality-Spalte, die wir oben nicht publizieren). Die acht hier standen vor den Läufen fest, nicht ergebnis-ausgewählt. temperature ist auf 0.7 gepinnt außer für Opus (das den Parameter ablehnt). n=10 → Punktschätzungen mit weiten Intervallen; „100 %” ist 10/10, kein Gesetz.

Zwei within-Mistral-Befunde (wo der Judge fair ist)

mistral-medium-2604 (der nominelle Magistral-Nachfolger) lag auf jeder Achse außer einer gleichauf mit oder hinter mistral-large-2512: kein stufen-rechtfertigender Vorsprung bei ~6× Kosten. ministral-14b-2512 bestand alle acht Achsen bei ~5× geringeren Kosten (warm). Und: pinne deine Snapshots. mistral-large-latest kam auf 83 % Pass im Schnitt vs. 98 % beim gepinnten -2512 (n=10; long-context gewann er, 100 % vs. 80 %), konsistent damit, dass Mistral Fixes zuerst über -latest ausliefert.

Warum wir ihn gebaut haben

Nicht, um einen Sieger zu küren, sondern um unser eigenes Model-Routing verteidigbar zu machen und ein Regressions-Gate zu haben, das offen genug ist, dass du einen regredierenden Snapshot vor uns siehst. Die spannende Ebene in Agent-Runtimes ist welches Modell für welche Aufgabe. Harness, Szenarien und jedes Ergebnis-JSON liegen im Repo (source-available, ELv2). Wenn ein Szenario unrepräsentativ oder ein Pass-Check zu lasch wirkt, ist das ein fairer PR; sag, wo’s falsch ist.