Reasoning-Modelle im Vergleich
Ein Reasoning-Modell investiert zusätzliche Rechenleistung, um vor der Antwort nachzudenken — es erzeugt eine private Kette von Zwischenschritten und erst dann die endgültige Antwort. Es ist der größte einzelne Hebel für die Genauigkeit bei schwierigen Problemen in jeder großen KI von heute. Der Haken: Jeder Anbieter stellt dieselbe Idee mit einer anderen Stellschraube bereit, und Überausgaben verschwenden Geld und Latenz für null Gewinn. Diese Lektion stellt die Stellschrauben nebeneinander, damit die Fähigkeit über Claude, GPT, Gemini, DeepSeek und Qwen hinweg übertragbar wird.
- Erklären, was Test-Time-Compute (Thinking) dir bringt und was nicht
- Die Reasoning-Steuerung jedes Anbieters zuordnen: Claude effort, OpenAI reasoning.effort, Gemini thinkingBudget/thinkingLevel, DeepSeek reasoner, Qwen enable_thinking
- Eine Thinking-Tiefe nach Aufgabe wählen, statt alles standardmäßig auf Maximum zu setzen
- Den Reasoning-Trace auf jeder API korrekt auslesen, ohne ihn als Eingabe zurückzufüttern
- Die häufigen Fallen vermeiden: Überdenken, die nicht-deaktivierbaren Modelle und Effort als Qualitäts-Fix zu behandeln
Die eine Idee: Thinking ist ein Regler, kein Schalter
Jedes Reasoning-Modell sitzt auf demselben Trade-off:
- Weniger Thinking → schneller, günstiger. Richtig für Extraktion, Formatierung, einfache Q&A.
- Mehr Thinking → besser bei wirklich schwierigen Problemen (mehrstufige Mathematik, kniffliges Debugging, sorgfältige Beweise), bei höherer Latenz und höheren Kosten.
Die Falle, über die Leute stolpern: Zusätzliches Thinking bringt für eine ohnehin einfache Aufgabe nichts — du zahlst nur Latenz und Kosten. Die Fähigkeit besteht darin, Tiefe dort einzusetzen, wo sie die Antwort verändert. Diese Wahrheit ist bei jedem Modell unten identisch; nur der Name des Reglers ändert sich.
Dies ist das KI-übergreifende Gegenstück zur Claude-spezifischen Lektion Extended Thinking & Effort — lies diese für die Details der Claude Messages API.
Schritt 1 — Klassifiziere die Aufgabe, bevor du eine Stellschraube anfasst
- Extraktion, Umformatierung, Klassifizierung, kurze faktische Abfrage → minimales oder kein Thinking. Thinking hilft nicht und fügt Latenz hinzu.
- Normales Coding, Entwürfe, mehrabsätzige Analyse → medium / dynamisch. Der ausgewogene Standard bei jedem Anbieter.
- Wettbewerbsmathematik, subtiles Race-Condition-Debugging, lange Beweise, schwierige agentische Planung → high / großes Budget. Hier verdient Thinking seine Kosten.
- Beginne beim medium/dynamischen Standard des Anbieters und erhöhe den Aufwand nur dort, wo die Qualität es sichtbar verlangt.
- Höherer Aufwand ist kein Fix für einen vagen Prompt — eine klarere Spezifikation schlägt meist mehr Thinking.
Schritt 2 — Die Stellschraube, Anbieter für Anbieter
Derselbe Regler, fünf verschiedene Steueroberflächen. Das ist die Tabelle, die du offen halten solltest, wenn du eine Last zwischen Modellen portierst.
| Anbieter / Modell | Steuerung | Werte | Thinking deaktivierbar? |
|---|---|---|---|
| Claude (Extended Thinking) | effort-Tier (neuere Modelle passen die Tiefe an; ältere stellen budget_tokens bereit) | Low / Medium / High | Ja, bei den meisten — nutze ein niedriges Tier oder lass Thinking weg |
| OpenAI GPT‑5.5 / o‑Serie | reasoning.effort | minimal, low, medium (Standard), high, xhigh (GPT‑5.5 / Codex‑Max) | minimal gibt wenige/keine Reasoning-Tokens aus |
| Google Gemini 2.5 | thinkingBudget | Token-Anzahl; 0 deaktiviert; -1 = dynamisch (begrenzt ~8.192); 2.5 Pro verlangt 128–32768 oder -1 | 0 bei den meisten 2.5-Modellen |
| Google Gemini 3 | thinkingLevel (nicht mit thinkingBudget kombinieren) | gestufte Level | Nein — Gemini 3.1 Pro kann nicht deaktivieren |
DeepSeek R1 (deepseek-reasoner) | dedizierter Reasoner — denkt immer | n. v. (offene Gewichte, läuft lokal) | Nein — es ist ein reines Thinking-Modell |
| Qwen3 | enable_thinking (hybrid) + /think · /no_think Soft-Switches | an / aus, pro Turn umschaltbar | Ja — enable_thinking=False oder /no_think |
- Manche Modelle ENTFERNEN den Aus-Schalter: Gemini 3.1 Pro und DeepSeek R1 denken immer. Plane Latenz/Kosten dafür ein — du kannst sie nicht auf null drehen.
- Bei Gemini 3 ist es ein Fehler, thinkingLevel und thinkingBudget in einer Anfrage zu setzen. Wähle eines.
- Geminis dynamischer Modus (-1) begrenzt das Thinking auf ~8.192 Tokens — für die meiste Arbeit in Ordnung, aber eine harte Obergrenze bei den allerschwierigsten Problemen.
Die zwei Familien
Liest man die Tabelle von oben nach unten, teilen sich die Modelle in zwei Arten — zu wissen, welche du in der Hand hast, sagt dir, was dich erwartet:
- Hybrid / umschaltbar (Claude, OpenAI, Gemini 2.5, Qwen3): ein Modell, du drehst Thinking pro Anfrage hoch oder runter — oder aus. Am besten für gemischten Traffic, bei dem manche Aufrufe trivial und manche schwer sind.
- Dedizierte Reasoner (DeepSeek R1; Gemini 3.1 Pro in der Praxis): Das Modell denkt immer. Leite Formatierung und Extraktion nicht hierher — du zahlst bei jedem Aufruf die Thinking-Steuer. Halte ein günstiges Nicht-Thinking-Modell in der Rotation für den einfachen Traffic.
Schritt 3 — Lies den Reasoning-Trace korrekt
Jeder Anbieter liefert das Thinking getrennt von der Antwort — und die universelle Regel lautet: füge das Reasoning nicht als Eingabe im nächsten Turn wieder ein. Füttere nur die endgültige Antwort zurück (plus, bei Claude, die signierten Thinking-Blöcke, die die API dir für Tool-Schleifen aushändigt).
- Die Antwort kommt als Thinking-Block, gefolgt vom Text-Block. Iteriere über message.content und verzweige nach block.type.
- Reasoning steckt in Reasoning-Items / Summary; dir werden Reasoning-Tokens berechnet, die du nicht vollständig siehst. Persistiere den Response-State, statt rohes Reasoning erneut zu senden.
- Setze includeThoughts, um Thought-Summaries zu erhalten; Thinking-Tokens werden berechnet und in den Usage-Metadaten gemeldet.
- Der Trace kommt als reasoning_content-Feld (ältere Builds) oder reasoning zurück, getrennt von content. Bei rohen Gewichten ist es der Text zwischen den Tags <think> und </think>.
Dieselbe Aufgabe, drei Regler — Pseudo-Konfig zum Anpassen
# Claude — balanced
thinking = {"type": "enabled", "budget_tokens": 8000} # keep < max_tokens
# OpenAI — balanced
reasoning = {"effort": "medium"}
# Gemini 2.5 — let the model decide
thinking_config = {"thinking_budget": -1} # dynamic; 0 to disable
# Qwen3 (local) — turn thinking OFF for a trivial call
chat_template_kwargs = {"enable_thinking": False}Schritt 4 — Wann man KEIN Thinking ausgeben sollte
Der teure Fehler ist, alles standardmäßig auf Maximum zu setzen. Überspringe oder minimiere Thinking, wenn:
- Die Aufgabe mechanisch ist (extrahieren, umformatieren, klassifizieren, einen bekannten String übersetzen).
- Du unter einem engen Latenzbudget stehst (Chat-UIs, Autocomplete) — nutze
minimal/0//no_think. - Der Prompt unzureichend spezifiziert ist — mehr Thinking bei einer vagen Aufgabe erzeugt selbstbewusstes Herumirren, keine bessere Antwort. Korrigiere zuerst die Spezifikation.
- Du hochvolumige Batch-Arbeit machst, bei der ein paar Prozentpunkte Genauigkeit es nicht wert sind, die Token-Rechnung über Millionen von Aufrufen zu vervielfachen.
- Faustregel: Thinking zahlt sich aus, wenn das Problem eine verifizierbar korrekte Antwort hat, die mehrere voneinander abhängige Schritte erfordert. Bei offener Generierung, wo es keinen einzigen richtigen Weg gibt, bringt es wenig.
Quiz
Check yourself
0/4Flashcards
Quellen & weiterführende Literatur
- OpenAI — Reasoning models guide und Reasoning best practices
- Google AI for Developers — Gemini thinking
- Anthropic — Extended thinking
- Qwen3 — Think Deeper, Act Faster
- vLLM — Reasoning outputs (DeepSeek R1, Qwen3)
- Verwandt auf AILmanac: Extended Thinking & Effort · Ein Modell wählen · Prompts über Modelle hinweg portieren