effidevFlutter · Cloudflare-Edge · Cloud-Kostenoptimierung
Deutsch

Claude Sonnet 5: Mit Adaptive Thinking und dem Effort-Parameter die Token-Kosten optimieren

Claude Sonnet 5 Adaptive-Thinking-API und Token-Kostenoptimierung

Claude Sonnet 5, das sich 2026 als neuer Standard auf dem Markt für KI-Frontier-Modelle etabliert hat, ist gegenüber der Vorgängergeneration (Claude Sonnet 4.6) ein Drop-in-Upgrade mit identischer API-Request-/Response-Struktur — bei der Steuerung des Denkprozesses (Thinking) unterscheidet es sich jedoch grundlegend. Das bis Claude Sonnet 4.6 verwendete manuelle Extended Thinking (thinking: { type: "enabled", budget_tokens: N }) wurde in Sonnet 5 vollständig entfernt und liefert nun einen 400-Fehler. Stattdessen steuert man Denktiefe und Token-Verbrauch über das standardmäßig aktivierte Adaptive Thinking in Kombination mit dem Parameter output_config.effort.

Dieser Guide behandelt die Kombination aus thinking: { type: "adaptive" } und effort in der Claude-Sonnet-5-API, die Auswirkungen des neuen Tokenizers auf die Token-Kostenberechnung sowie praxiserprobte Patterns, um die Kosten pro Request in Produktions-Pipelines zu optimieren.

Das Wichtigste in Kürze

  • Wird das Feld thinking im Request weggelassen, läuft Claude Sonnet 5 standardmäßig mit aktiviertem Adaptive Thinking (bei Sonnet 4.6 war es umgekehrt standardmäßig deaktiviert). Zum Deaktivieren muss explizit thinking: { type: "disabled" } gesetzt werden.
  • Die Denktiefe wird nicht mehr über den Integer-Wert budget_tokens gesteuert, sondern über die Stufe output_config: { effort: "low" | "medium" | "high" | "xhigh" | "max" }. Der Standardwert ist high.
  • Werden temperature/top_p/top_k auf einen von den Standardwerten abweichenden Wert gesetzt, liefert die API einen 400-Fehler — eine neue Einschränkung, die es bei Sonnet 4.6 noch nicht gab.
  • Sonnet 5 verwendet einen neuen Tokenizer, wodurch derselbe Text im Vergleich zu Sonnet 4.6 auf rund 30 % mehr Tokens kommt. Das wirkt sich nicht über den Preis pro Token, sondern über die Anzahl der Tokens selbst auf die Kosten aus.
  • Der Einführungspreis von $2 Input / $10 Output (pro Million Tokens) gilt bis zum 31. August 2026, danach greift der Standardpreis von $3 / $15.

Die Thinking-Steuerungsarchitektur von Claude Sonnet 5

Parameter / Modus effort: "low" effort: "high" (Standard) effort: "xhigh"
Einsatzbereich Einfache Klassifikation, Chatbot-Antworten, hochfrequente Requests mit niedriger Latenz Komplexe Schlussfolgerungen, schwierige Coding-Probleme, agentische Aufgaben Lang laufende Coding-/Agenten-Aufgaben ab 30 Minuten
Denkverhalten Adaptive Thinking wird bei den meisten Requests übersprungen Adaptive Thinking greift bei Bedarf Tieferes und häufigeres Denken
Geschwindigkeit/Kosten Am schnellsten und günstigsten Ausgewogen (Verhalten identisch zum Weglassen des Parameters) Deutlich höherer Token-Verbrauch

Wird effort nicht explizit gesetzt, verhält sich die Anfrage genauso wie mit high. max ist die Stufe mit der höchsten Leistung ohne Begrenzung des Token-Verbrauchs und sollte nur für wirklich schwierige Probleme verwendet werden.


Praxisbeispiel: Aufruf der Claude-Sonnet-5-API

Hier ein praxisnahes Codebeispiel für Node.js/TypeScript, das mit dem Anthropic SDK den Parameter effort dynamisch je nach Aufgabenschwierigkeit anpasst. Wird das aus Sonnet 4.6 und älter bekannte thinking.budget_tokens unverändert übernommen, kommt es zu einem 400-Fehler — bei der Migration muss der Code zwingend wie unten gezeigt angepasst werden.

import Anthropic from '@anthropic-ai/sdk';

const anthropic = new Anthropic({
  apiKey: process.env.ANTHROPIC_API_KEY,
});

type Effort = 'low' | 'medium' | 'high' | 'xhigh' | 'max';

async function runAdaptiveThinking(prompt: string, effort: Effort) {
  const response = await anthropic.messages.create({
    model: 'claude-sonnet-5',
    max_tokens: 8192,
    // Das bis Sonnet 4.6 verwendete { type: 'enabled', budget_tokens: N }
    // wurde in Sonnet 5 entfernt und liefert einen 400-Fehler. Explizit angeben
    // muss man es nur, wenn man Thinking abschalten will; lässt man es weg,
    // läuft Adaptive Thinking standardmäßig aktiviert.
    thinking: { type: 'adaptive' },
    output_config: { effort },
    messages: [
      {
        role: 'user',
        content: prompt,
      },
    ],
  });

  for (const block of response.content) {
    if (block.type === 'thinking') {
      console.log('[Claude Sonnet 5 Thinking]:', block.thinking);
    } else if (block.type === 'text') {
      console.log('[Claude Sonnet 5 Response]:', block.text);
    }
  }
}

// 단순 태스크는 low, 복잡한 리팩토링/에이전틱 작업은 xhigh
await runAdaptiveThinking('이 JSON을 스키마에 맞게 정규화해줘', 'low');
await runAdaptiveThinking('이 레포의 순환 의존성을 찾아서 리팩토링 계획을 세워줘', 'xhigh');

Für Requests, bei denen Thinking komplett deaktiviert werden soll (etwa bei einfachen Antworten, bei denen die Latenz absolut entscheidend ist), gibt man explizit thinking: { type: 'disabled' } an. Man könnte nun versucht sein, zusätzlich temperature oder top_p anzupassen — bei Sonnet 5 führt jedoch das Senden eines von den Standardwerten abweichenden Sampling-Parameters sofort zu einem 400-Fehler. Die Steuerung des Tons muss daher über Anweisungen im System-Prompt erfolgen.


Neuer Tokenizer und Kostenoptimierungsstrategien für die Produktion

  1. Tokens neu zählen, nicht wiederverwenden (Recount, Don’t Reuse): Auf Sonnet 4.6 basierende Token-Zahlen bzw. -Budgets dürfen nicht einfach weiterverwendet werden. Da derselbe Text mit dem neuen Tokenizer auf rund 30 % mehr Tokens kommt, müssen alle mit dem Token-Budget verknüpften Werte — einschließlich max_tokens — mit der Token Counting API neu gemessen werden.
  2. Dynamisches Effort-Routing (Task Complexity Router): Die Komplexität einer Nutzeranfrage bzw. des Umfangs der Codeänderungen wird gemessen und automatisch auf einen effort-Wert abgebildet. Hochfrequente, einfache Antworten laufen mit low und senken so die Kosten, während agentisches Coding und tiefgehende Analysen auf xhigh hochgestuft werden.
  3. Prompt Caching: Wird eine große Codebasis oder Library-Typdefinitionen als System Prompt übergeben, sorgt cache_control: { type: "ephemeral" } bei einem Cache-Hit für bis zu 90 % Token-Rabatt. Allerdings invalidiert ein Wechsel des effort-Werts innerhalb derselben Konversation den gecachten Prefix — es ist daher für die Cache-Trefferquote von Vorteil, den zu Beginn der Session festgelegten Effort-Wert über die gesamte Session hinweg beizubehalten.
  4. Einführungspreis-Zeitraum nutzen: Bis zum 31. August 2026 gilt der Einführungspreis von $2 Input / $10 Output (pro Million Tokens). Danach greift der Standardpreis von $3 / $15 — größere Migrationstests oder Backfill-Arbeiten sollten daher aus Kostengründen gebündelt in diesen Zeitraum gelegt werden.

Wer Adaptive Thinking und den effort-Parameter von Claude Sonnet 5 passend zum eigenen Produktionssystem routet, kann die gegenüber Sonnet 4.6 gestiegene Token-Kostenbelastung ausgleichen und dabei zugleich vorhersehbare Pipeline-Kosten beibehalten.