Kostenkontrolle
Wofür die Tokens bei einer agentenbasierten Arbeitslast tatsächlich verbraucht werden und welche vier Stellschrauben die Rechnung beeinflussen.
Wenn Sie einen Coding-Agenten einen ganzen Arbeitstag lang ausgeführt haben, kennen Sie die Rechnung. Agentische Schleifen verbrauchen deutlich mehr Tokens als gewöhnliche Chats: Jede gelesene Datei, jedes Tool-Ergebnis und jeder Diff landen im Kontext und werden beim nächsten Durchgang erneut gesendet.
Ausgabe-Tokens sind die teuren Tokens
Bei jedem Spitzenmodell kostet die Ausgabe 4–5× so viel wie die Eingabe. Ein Modell, das in seiner finalen Antwort laut nachdenkt, verbraucht schneller Geld als eines, das knapp antwortet. Begrenzen Sie max_tokens bewusst und bevorzugen Sie für Routineaufgaben Modelle, die sich kurzfassen.
| Modell | $/M Eingabe | $/M Ausgabe | Verhältnis |
|---|---|---|---|
claude-opus-4-8 | $3 | $15 | 5× |
claude-sonnet-4-6 | $0.90 | $4.50 | 5× |
claude-haiku-4-5 | $0.40 | $2 | 5× |
gemini-3-flash | $0.20 | $1.20 | 6× |
Die vier Stellschrauben
- Nach Aufgabe zuweisen. Klassifizierung, Extraktion und Routing erfordern kein Opus — Haiku erledigt sie für ungefähr ein Siebtel des Preises. Reservieren Sie das Spitzenmodell für Aufgaben, die viel Schlussfolgern erfordern.
- Prompt-Caching. Stabile System-Prompts und Tool-Definitionen werden zu einem Bruchteil des Eingabepreises erneut aus dem Cache gelesen. Für Agenten ist dies die mit Abstand größte Stellschraube — siehe Prompt-Caching.
- Den Kontext bei jedem Durchgang kürzen. Senden Sie nicht den gesamten Gesprächsverlauf erneut; behalten Sie die jüngsten Gesprächsschritte und eine fortlaufende Zusammenfassung. Unbegrenztes Kontextwachstum macht aus einer Sitzung für $2 eine für $20.
- Die Schleife begrenzen. Legen Sie für autonome Durchläufe eine feste Schrittgrenze fest, damit ein festgefahrener Agent nicht endlos weiterläuft.
Vor der Ausführung schätzen
IN_RATE = {class="s">"claude-opus-4-8": 3.0, class="s">"claude-sonnet-4-6": 0.9, class="s">"claude-haiku-4-5": 0.4}
OUT_RATE = {class="s">"claude-opus-4-8": 15.0, class="s">"claude-sonnet-4-6": 4.5, class="s">"claude-haiku-4-5": 2.0}
def cost(model, tok_in, tok_out):
return tok_in / 1e6 * IN_RATE[model] + tok_out / 1e6 * OUT_RATE[model]
print(cost(class="s">"claude-opus-4-8", 20_000, 2_000)) class=class="s">"c"># 0.09
print(cost(class="s">"claude-sonnet-4-6", 20_000, 2_000)) class=class="s">"c"># 0.027
print(cost(class="s">"claude-haiku-4-5", 20_000, 2_000)) class=class="s">"c"># 0.012
Dieselbe Aufgabe mit 20K Eingabe- und 2K Ausgabe-Tokens kostet mit Opus 7.5× so viel wie mit Haiku. Bei einer Klassifizierungsaufgabe bringt dieser Aufpreis keinen Nutzen.
Im Anschluss messen
Jede Antwort enthält ein usage Objekt. Protokollieren Sie es zusammen mit einer Anfrage-ID und einem Aufgabentyp — ohne diese Angaben ist Kostenoptimierung reine Spekulation. Das Gateway-Dashboard zeigt die Nutzung pro Modell, aber nur Ihre eigenen Logs geben Aufschluss darüber, *warum* eine Anfrage gestellt wurde.