Reasoning
Warum ein Sprachmodell klüger antwortet, wenn es vorher Zwischenschritte aufschreibt – und was dieses „Nachdenken“ ist und was nicht.
Reasoning (Schlussfolgern) heißt bei Sprachmodellen: Vor der eigentlichen Antwort schreibt das Modell eine Kette von Zwischenschritten – Ansatz, Rechnung, Prüfung, Korrektur. Erst dann antwortet es. Man spricht auch von Chain of Thought (Gedankenkette) oder einfach vom „Nachdenken“.
Das hilft, weil jedes erzeugte Token dem Modell einen weiteren Rechendurchgang verschafft und aufgeschriebene Zwischenergebnisse als Notizzettel dienen. Moderne Reasoning-Modelle wurden gezielt darauf trainiert. Der Preis: mehr Tokens, also mehr Zeit und Kosten.
Schnell oder gründlich
Drei Aufgaben, bei denen die spontane Antwort naheliegt – und falsch ist. Vergleiche „direkt antworten“ mit „erst nachdenken“:
Warum Aufschreiben hilft
Ein Transformer hat für jedes Token einen festen Rechenaufwand: einmal durch alle Schichten, dann kommt das nächste Token. Mehr Rechenschritte als Schichten kann er für ein einzelnes Token nicht machen. Eine schwierige Aufgabe in einem einzigen Token zu lösen – etwa „Die Antwort ist 0,05“ – ist deshalb so, als müsste man sie in einem Sekundenbruchteil im Kopf lösen.
Zwei Effekte kommen zusammen:
Mehr Rechenzeit
Jedes Zwischentoken ist ein weiterer Durchgang durch das ganze Netz. 500 Zwischentokens heißt 500-mal so viel Rechenarbeit.
Notizzettel
Was aufgeschrieben ist, steht im Kontextfenster und kann per Aufmerksamkeit wieder gelesen werden. Zwischenergebnisse gehen nicht verloren.
Selbstkorrektur
Trainierte Modelle prüfen ihre Zwischenschritte und schreiben Dinge wie „Moment, das stimmt nicht“ – und rechnen neu.
Wie Modelle es gelernt haben
Anfangs war es ein Trick: 2022 zeigten Forscher, dass Sprachmodelle bei Rechen- und Logikaufgaben deutlich besser werden, wenn man ihnen Beispiele mit Rechenweg zeigt oder einfach „Denke Schritt für Schritt“ dazuschreibt.
Seit 2024 gibt es Modelle, die das von sich aus und viel gründlicher tun. Sie wurden mit bestärkendem Lernen auf überprüfbaren Aufgaben trainiert (siehe Training): Mathematikaufgaben mit bekannter Lösung, Programmieraufgaben mit Tests. Das Modell probiert, und Lösungswege, die zum richtigen Ergebnis führen, werden verstärkt. Niemand gibt dabei vor, wie es denken soll. Verhaltensweisen wie Nachprüfen, Zurückgehen und einen anderen Ansatz versuchen sind dabei von selbst entstanden – weil sie häufiger zum Ziel führen.
Das Denkbudget
Bei vielen Modellen lässt sich einstellen, wie viel nachgedacht werden darf – als Stufe („niedrig / mittel / hoch“) oder als Höchstzahl an Denk-Tokens. Mehr Budget hilft bei schweren Aufgaben, aber mit abnehmendem Nutzen:
Wann es sich lohnt
Lohnt sich
- Mathematik, Rechnen, Logik
- Programmieren, Fehlersuche, Code-Review
- mehrstufige Planung
- Analysen mit vielen Faktoren
- Aufgaben, bei denen man selbst Papier nehmen würde
Lohnt sich kaum
- einfache Fakten („Hauptstadt von …“)
- Übersetzen, Umformulieren
- Smalltalk
- kreatives Schreiben (teils sogar schlechter)
- wenn Antwortzeit wichtiger ist als Gründlichkeit
Zeigt das Denken, was wirklich passiert?
Nur bedingt. Der Denktext ist selbst erzeugter Text – er hilft dem Modell, ist aber kein Protokoll seiner inneren Berechnung. Untersuchungen haben gezeigt, dass Modelle Faktoren, die ihre Antwort beeinflusst haben, im Denktext manchmal nicht erwähnen, oder einen Lösungsweg aufschreiben, der nachträglich zur Antwort passt.
Der Denktext ist also nützlich zum Nachvollziehen und Prüfen, aber kein Beweis dafür, wie das Modell intern zu seinem Ergebnis kam. Manche Anbieter zeigen außerdem nur eine Zusammenfassung des Denkens, nicht den vollständigen Text.
Für Entwickler übersetzt
| Begriff | Entspricht ungefähr |
|---|---|
| Direkte Antwort | ein verschachtelter Einzeiler – geht oft gut, ist aber schwer richtig zu bekommen |
| Reasoning | Zwischenvariablen mit sprechenden Namen: jeder Schritt klein und prüfbar |
| Selbstkorrektur | Assertions zwischendurch, und bei Fehlschlag ein anderer Ansatz |
| Denkbudget | ein Iterations- oder Zeitlimit |
| Denk-Tokens | Debug-Ausgaben, die man mitbezahlt – auch wenn der Nutzer sie nicht sieht |
// Direkt: alles in einem Ausdruck
double ball = 1.10 - 1.00; // 0.10 – falsch
// Mit Zwischenschritten: Annahme hinschreiben und prüfen
// ball + schlaeger = 1.10 und schlaeger = ball + 1.00
// → ball + ball + 1.00 = 1.10 → 2·ball = 0.10
double ball2 = 0.10 / 2; // 0.05
assert Math.abs(ball2 + (ball2 + 1.00) - 1.10) < 1e-9; // Probe