Temperatur ist kein Qualitätsregler
Vom Themen KI · Modelle
Die Antwort ist zu brav, zu wirr, zu lang. Der Rat, der dann überall steht, lautet: dreh an der Temperatur. Höher für mehr Einfall, niedriger für mehr Verlässlichkeit.
Wer diesen Rat heute bei einem aktuellen Modell von Anthropic befolgt, bekommt
keinen Text zurück, sondern einen Fehler. Die Dokumentation ist an dieser
Stelle deutlich: Ein anderer Wert als der Standard für temperature, top_p
oder top_k gibt bei jeder Anfrage einen 400er-Fehler zurück, unabhängig
davon, ob das Modell nachdenkt oder nicht. Namentlich aufgezählt sind dort
neun Modelle, darunter Claude Opus 5, Claude Opus 4.8, Claude Opus 4.7 und
Claude Sonnet 5.
Der Regler wurde also nicht kaputtgespart. Er wurde zugesperrt, und um zu verstehen warum, muss man wissen, was er eigentlich geregelt hat. Es war nie die Qualität.
Das Modell rechnet eine Liste, keinen Satz
Ein Sprachmodell erzeugt Text Stück für Stück. An jeder Stelle rechnet es nicht ein Wort aus, sondern eine Wahrscheinlichkeit für jedes mögliche nächste Wort. Was dann passiert, entscheidet nicht das Modell, sondern das Verfahren, das aus dieser Liste eins auswählt. Es heißt Decodier-Verfahren und sitzt hinter dem Modell, nicht darin.
Der Artikel von Patrick von Platen bei Hugging Face zeigt das an einem Beispiel. Er behandelt fünf Verfahren, und das ist die ganze Liste: Greedy Search, Beam search, Sampling, Top-K Sampling und Top-p (nucleus) sampling. Drei davon gehören zu den Reglern, um die es hier geht.
Das einfachste ist Greedy Search: An jeder Stelle wird das wahrscheinlichste
Wort genommen, fertig. Im Beispiel des Artikels führt das von "The" über
"nice" zu "woman", und die Rechnung dahinter ist
0.5 × 0.4 = 0.2
also die Wahrscheinlichkeit der ganzen Folge. Greedy Search ist vorhersagbar und liefert bei derselben Eingabe immer dasselbe. Es ist auch langweilig, weil es jede zweitbeste Möglichkeit sofort verwirft.
Hier liegt der Punkt, an dem die meisten Erklärungen abbiegen. Die Liste mit den Wahrscheinlichkeiten ist das, was das Modell kann. Alles, was danach kommt, ist eine Entscheidung darüber, wie mutig man aus dieser Liste greift.
Die drei Regler greifen in die Auswahl, nicht in das Können
Sampling heißt: statt immer das wahrscheinlichste Wort zu nehmen, wird eins nach seiner Wahrscheinlichkeit gezogen. Damit ist die Erzeugung nicht mehr vorhersagbar, wie der Artikel ausdrücklich festhält. Genau daher kommt die Erfahrung, dass dieselbe Frage zweimal verschiedene Antworten liefert.
Reines Sampling erzeugt allerdings schnell Unsinn. Die drei Regler sind Antworten darauf. Der Artikel nennt für jeden einen Beispielwert:
| Regler | Was er tut | Beispielwert im Artikel |
|---|---|---|
temperature |
macht die Verteilung schärfer oder flacher, bevor gezogen wird | 0.6 |
top_k |
zieht nur aus den k wahrscheinlichsten Wörtern | 50 |
top_p |
zieht aus den wenigsten Wörtern, die zusammen p der Wahrscheinlichkeit ausmachen | 0.92 |
temperature beschreibt der Artikel als Regler an der Schärfe der Verteilung:
Sie zu senken erhöht die Chance wahrscheinlicher Wörter und senkt die
unwahrscheinlicher. Bei top_p mit 0.92 sind es im ersten Beispiel des
Artikels die 9 wahrscheinlichsten Wörter, im zweiten nur die obersten
3, weil dort schon drei Wörter zusammen über 92 Prozent kommen. Die Menge,
aus der gezogen wird, wächst und schrumpft also mit der Lage.
Keiner der drei macht das Modell klüger. Sie verändern, wie breit gegriffen wird. Wer eine falsche Antwort bekommt und die Temperatur senkt, bekommt dieselbe falsche Antwort zuverlässiger.
Zum Alter dieser Quelle, weil es hier zählt: Der Artikel ist vom 01.03.2020 und trägt den Hinweis, dass er im Juli 2023 überarbeitet wurde. Die Beispiele laufen mit GPT2. Der Mechanismus gilt weiter, die Beispielmodelle sind alt.
Was genau gesperrt ist, und was nicht
Die Sperre ist enger gefasst, als der erste Eindruck vermuten lässt, und die Unterscheidung ist beim Lesen fremder Fehlermeldungen nützlich:
- Gesperrt ist der abweichende Wert, nicht der Parameter. Die Doku spricht
von
non-defaultWerten. Wer den Standardwert setzt, tut damit dasselbe wie jemand, der das Feld weglässt; die Doku sagt genau das an anderer Stelle über Parameter allgemein - Auf älteren Modellen gilt die Sperre nur, solange nachgedacht wird. Dort
sind
temperatureundtop_kmit dem Nachdenken unverträglich, undtop_pist zwischen 0.95 und 1 erlaubt. Das ist die ganze Ausnahme, die die Doku an dieser Stelle macht - Im Python-SDK sind die drei ganz weg. Die Versionshinweise führen sie unter dem, was Version 1.0 am 20.08.2026 an lange veraltetem Bestand entfernt hat, zusammen mit der alten Text-Completions-Schnittstelle
Die Versionshinweise zeigen auch, dass das kein einzelnes Ereignis war. Zu Claude Sonnet 5 vom 30.06.2026 stehen dort drei Verhaltensänderungen für den Umstieg, und das ist die ganze Liste: Adaptives Nachdenken ist ab Werk an, das manuelle Nachdenken mit festem Budget ist entfernt und gibt einen 400er, und Nicht-Standardwerte bei den Sampling-Parametern geben einen 400er.
Was an die Stelle der Regler getreten ist
In der Anthropic-Dokumentation steht dort heute effort. Die Beschreibung
nennt den Zweck: zu steuern, wie viele Token Claude für eine Antwort ausgibt,
und damit zwischen Gründlichkeit und Sparsamkeit abzuwägen.
Fünf Stufen gibt es, und das ist die ganze Liste: low, medium, high,
xhigh, max. Die Vorgabe ist high, und die Doku sagt dazu einen Satz, der
eine häufige Verwechslung ausräumt: high zu setzen verhält sich exakt so wie
den Parameter ganz wegzulassen.
An der einen Stelle, an der die Doku selbst aufzählt, worauf effort wirkt,
sind es drei Punkte, und hier stehen alle drei:
- Es wirkt auf alle Ausgabe-Token, also auf Text, auf Werkzeugaufrufe samt ihren Argumenten und auf das Nachdenken, wenn es aktiv ist. Ein niedriger Wert heißt laut Doku auch: weniger und knappere Werkzeugaufrufe
- Es ist kein hartes Budget. Die Doku nennt es ein Verhaltenssignal und kein strenges Token-Budget. Bei niedriger Stufe denkt das Modell bei schweren Aufgaben weiterhin nach, nur weniger als bei hoher
- Nicht jedes Modell kann jede Stufe. Die Doku hält ausdrücklich fest, dass
nicht jedes Modell mit
maxauchxhighbeherrscht
Zwei Warnungen stehen daneben, die man beim Umstieg leicht übersieht. Auf
Claude Opus 5 kürzt eine niedrigere Stufe die sichtbare Antwort nicht
verlässlich; wer kürzere Antworten will, muss das im Prompt verlangen. Und
bei xhigh und max lässt sich das Nachdenken nicht mehr abschalten: Eine
Anfrage, die es dort auf disabled setzt, gibt einen 400er-Fehler zurück. Das
gilt laut Doku für Claude Opus 5 und spätere Modelle, nicht nur für
Opus 5 selbst.
Was die Doku ausdrücklich nicht tut, ist eine Empfehlung für alle geben. Sie führt sieben Abschnitte mit Empfehlungen je Modell, die sich im Startwert unterscheiden. Wer eine Stufe aus einer fremden Anleitung übernimmt, übernimmt sie für ein anderes Modell.
Ein Nebeneffekt, der Geld kostet und selten dabeisteht: Den Wert oben an der Anfrage zu ändern fängt den Prompt-Cache von vorn an. Die Doku begründet das damit, dass die Denk-Einstellung und die aufgelöste Stufe in den Prompt selbst geschrieben werden. Ihr Rat lautet deshalb, die Stufe innerhalb eines Gesprächs, das auf den Cache baut, festzuhalten und sie zwischen Arbeitsaufgaben zu variieren statt innerhalb einer.
Dafür gibt es eine Abkürzung, und sie steht in beiden Quellen. Auf
Modellen, die das können, lässt sich die Stufe stattdessen in einer einzelnen
Nachricht mit der Rolle system mitten im Gespräch ändern, und der
zwischengespeicherte Anfang bleibt dabei erhalten. Drei Modelle nennt die
Doku dafür, und das ist die ganze Liste: Claude Fable 5.1, Claude Mythos 5.1
und Claude Opus 5. Auf allen anderen bleibt nur der Wert oben an der Anfrage,
und der fängt den Cache von vorn an.
Eine Voraussetzung steht dabei, ohne die nichts davon läuft: Diese Abkürzung
ist noch Beta und verlangt einen eigenen Kopfzeileneintrag,
mid-conversation-output-config-2026-07-01.
Der Wert oben an der Anfrage braucht das nicht; die Doku sagt ausdrücklich,
dass er auf allen unterstützten Modellen ohne Beta-Kopfzeile zu haben ist.
Die Grenze, die effort nicht kennt
Hier liegt die Falle, in die man beim Hochdrehen läuft. effort sagt, wie viel
gedacht werden soll. max_tokens sagt, wie viel insgesamt herauskommen darf,
und die Doku nennt es beim Namen: eine harte Grenze für die gesamte Ausgabe,
Nachdenken plus Antworttext.
Beide zusammen ergeben einen Fehler, der wie ein Modellversagen aussieht und keines ist: Man stellt eine hohe Stufe ein, das Modell denkt ausgiebig, die Denk-Token zählen gegen dieselbe Grenze, und die eigentliche Antwort wird abgeschnitten. Bezahlt ist alles.
Die Doku gibt den Rat, die Grenze großzügig zu setzen, in fünf ihrer sieben Abschnitte je Modell, und in dreien davon mit 64.000 Token als Startwert. Ab welcher Stufe er gilt, ist dabei nicht einheitlich, und das ist der Grund, ihn im eigenen Abschnitt nachzulesen statt in einem fremden: In drei Abschnitten steht er für die zwei obersten Stufen, in zweien schon bei der Vorgabestufe. Für die zwei Sonnet-Modelle steht er gar nicht da.
Die Obergrenze selbst steht auf der Seite zum Nachdenken, in einer Tabelle über 14 Modelle: 128k bei den neueren, 64k bei drei älteren. Dort steht auch, dass die SDKs bei mehr als 21.333 Token einen Datenstrom statt einer einzelnen Antwort verlangen, und die Quelle ordnet das ausdrücklich ein: Das ist eine Prüfung im SDK, keine Beschränkung der Schnittstelle. Wer das Nachdenken über ungefähr 32.000 Token treibt, soll laut derselben Seite auf Stapelverarbeitung ausweichen, weil solche Anfragen lange genug laufen, um in Zeitüberschreitungen und Verbindungsgrenzen zu geraten.
Es gibt allerdings einen zweiten Grund für eine abgeschnittene Antwort, und
dagegen hilft eine höhere Grenze nicht. Auf Modellen ab Claude 4.5 nimmt die
Schnittstelle eine Anfrage an, auch wenn Eingabe plus max_tokens zusammen
größer sind als das Kontextfenster. Stößt die Erzeugung dann an das Fenster,
bricht sie nicht mit einem Fehler ab, sondern hört mit dem Grund
model_context_window_exceeded auf. Wer nur die Grenze hochsetzt, verschiebt
das Problem an diese Stelle.
Das ist schon einmal so passiert
Der Temperaturregler ist nicht der erste Knopf, der auf diesem Weg
weggeschlossen wurde. Die Seite zum manuellen Nachdenken beschreibt denselben
Vorgang für budget_tokens: Auf den Claude-4.6-Modellen gilt der Parameter als
veraltet, Anfragen damit sind weiterhin erfolgreich. Modelle ab Claude 4.7
unterstützen ihn nicht und weisen solche Anfragen mit einem 400er-Fehler
zurück.
Drei Regeln nennt die Doku für diesen alten Knopf, und das ist die ganze
Liste: mindestens 1.024 Token, kleiner als max_tokens, und kein Vorwärmen
des Caches, weil er eben kleiner als max_tokens sein muss und dieses
Vorwärmen einen Wert von 0 verlangt. Zur zweiten Regel gibt es eine Ausnahme,
nämlich das verschränkte Nachdenken, wo das Budget über alle Denkblöcke eines
Zuges reicht.
Und auch dieser Knopf war nie das, wofür ihn viele hielten: Das Budget ist
ein Ziel und keine strenge Obergrenze. Die harte Decke war auch damals schon
max_tokens.
Das Muster ist dasselbe: Ein Parameter, mit dem man eine Zahl einstellt, wird durch eine Absicht ersetzt, die man angibt. Wer eine Anleitung von 2023 befolgt, baut gegen eine Schnittstelle, die anders antwortet als beschrieben, und merkt es an einem Fehlercode.
Es ist kein Naturgesetz, sondern eine Entscheidung je Anbieter
Wichtig, damit aus dieser Notiz nicht die falsche Regel wird: Das gilt nicht
überall. Die Dokumentation von Google zur Textgenerierung zeigt am Modell
gemini-3.8-flash, wie man die Standardwerte überschreibt, und nennt
temperature ausdrücklich als Beispiel:
generation_config = { "temperature": 1.0 }
Wer also liest, die Temperatur sei abgeschafft, liest zu breit. Sie ist bei einem Anbieter auf den Standardwert festgenagelt und bei einem anderen die dokumentierte Art, Standardwerte zu ändern. Was verschwunden ist, ist die Selbstverständlichkeit, dass man sie überall drehen darf.
Die Zahl, an der man wirklich nachrechnen kann
Wenn die Regler feststehen, bleibt eine Größe, die messbar ist und über die man sich nicht streiten muss: Token. Dafür gibt es einen eigenen Endpunkt, der nur die Zahl zurückgibt.
Das Beispiel der Doku ist klein genug, um es im Kopf zu behalten: ein
System-Satz "You are a scientist" und eine Nachricht "Hello, Claude"
ergeben zusammen
{ "input_tokens": 14 }
Er nimmt dieselben Eingaben wie eine echte Anfrage, aber nicht alle. Die Doku nennt drei Sorten Eingabe, bei denen er stattdessen einen Fehler zurückgibt, und das ist die ganze Liste: Server-Werkzeuge, der MCP-Anschluss, und Bild- oder Dokumentblöcke, die auf eine Adresse oder eine hochgeladene Datei zeigen. Bei den Server-Werkzeugen sind vier als Beispiel genannt, nämlich Websuche, Web-Abruf, Code-Ausführung und Werkzeugsuche; gemeint sind aber alle bis auf den Berater-Zugriff. Der Ausweg steht daneben: Bilder und PDFs als Base64 mitschicken, dann werden sie gezählt. Bei Anfragen mit Server-Werkzeugen muss man die Zahl der echten Antwort entnehmen.
Zwei weitere Einschränkungen ändern, wie man mit der Zahl umgeht:
- Es ist eine Schätzung. Die Doku sagt das ausdrücklich; der tatsächliche Verbrauch kann um eine Kleinigkeit abweichen. In der Zahl können außerdem Token stecken, die Anthropic selbst hinzufügt, und für die wird laut Doku nicht abgerechnet
- Der Maßstab ist gewandert. Modelle ab Claude 4.7 benutzen einen neueren Tokenizer, und derselbe Eingabetext ergibt dort nach Angabe der Doku ungefähr 30 Prozent mehr Token als bei den älteren. Dieselbe Angabe steht in den Versionshinweisen noch einmal für Claude Sonnet 5
Der letzte Punkt ist der teuerste in der ganzen Notiz. Eine Kostenschätzung, eine Prompt-Länge, ein Kontextbudget: Alles, was vor dem Wechsel gemessen wurde, ist danach um rund ein Drittel zu niedrig. Die Doku verlangt deshalb, gegen das Modell nachzuzählen, das man tatsächlich benutzen will.
Wie sich Bilder, Ton und Werkzeuge in dieselbe Währung übersetzen, steht in der Notiz über das, was ein Modell außer Text liest.
Woran man jetzt dreht
Die Reihenfolge, wenn eine Antwort nicht taugt, und zwar von oben:
- Die Aufgabe schärfen. Der Regler, der nie abgeschafft wurde, ist der Text der Anfrage. Eine schlechte Antwort auf eine unklare Frage ist keine Modellschwäche
- Bei Länge im Prompt ansetzen, nicht am Aufwand. Auf Opus 5 kürzt eine niedrigere Stufe die sichtbare Antwort ausdrücklich nicht verlässlich
max_tokensprüfen, bevor der Aufwand steigt. Eine abgeschnittene Antwort bei hoher Stufe ist fast immer diese Grenze und nicht das Modell- Den Aufwand bewegen, wenn es um Gründlichkeit oder um Kosten geht, und
dabei die Empfehlung für das eigene Modell nehmen statt einer fremden. Die
Doku rät mehrfach zum selben Vorgehen: erst messen, dann senken. Wo der
Cache zählt, den Wert oben an der Anfrage festhalten und stattdessen die
Abkürzung über eine
system-Nachricht nehmen, falls das Modell sie kann und die Beta-Kopfzeile mitgeschickt wird - Nachzählen statt schätzen, und zwar gegen das Modell, das laufen soll
- Nach der Temperatur greifen, wo der Anbieter sie anbietet, und wissen, dass man damit an der Streuung dreht und nicht an der Richtigkeit
Der Satz, der bleibt: Die Wahrscheinlichkeiten kommen aus dem Modell, die Auswahl kommt aus dem Verfahren, und die Aufgabe kommt von dir. Wer am falschen der drei dreht, dreht lange.
Quellen
Alle acht primär, abgerufen am 12.09.2026.
Zum Mechanismus: How to generate text
von Patrick von Platen bei Hugging Face, vom 01.03.2020 und im Juli 2023
überarbeitet. Die Zahlen 0.5 × 0.4 = 0.2, temperature 0.6, top_k 50,
top_p 0.92 sowie die 9 und die 3 Wörter stammen von dort und gelten für
dessen GPT2-Beispiel.
Zur heutigen Schnittstelle die Dokumentation von Anthropic. Die Sperre der
Sampling-Parameter samt der Ausnahme für ältere Modelle steht unter
Thinking, dort
auch die Ausgabegrenzen und die Regeln zum Cache. Die Entfernung im Python-SDK
und die drei Umstiegspunkte bei Claude Sonnet 5 stehen in den
Versionshinweisen. Die Stufen
und die Empfehlungen je Modell stehen unter
Effort, der alte
Budget-Knopf unter
Extended thinking,
das Zählen unter
Token counting.
Dass effort in der Schnittstelle unter output_config sitzt, ist dem
Schema unter Messages entnommen.
Zum Gegenbeispiel: Text generation von Google.