Chain-of-Thought-Prompting (CoT) bittet ein Modell, seine Überlegungen aufzuschreiben, bevor es eine endgültige Antwort gibt. Die Idee beschrieben Wei und Kollegen bei Google 2022; sie zeigten, dass durchgerechnete Beispiele mit Zwischenschritten die Ergebnisse bei Rechen- und Logikaufgaben verbesserten.
Warum das Aufschreiben der Schritte hilft
Ein Sprachmodell erzeugt jeweils ein Token, abhängig von allem davor. Muss es sofort antworten, wird die Antwort ohne Zwischenarbeit vorhergesagt. Schreibt es zuerst die Schritte, werden diese Teil des Kontexts, aus dem die Antwort vorhergesagt wird. Schlussfolgern auf der Seite ist Arbeitsgedächtnis.
Zero-Shot-Chain-of-Thought
Die einfachste Form ergänzt eine Anweisung, zuerst zu schlussfolgern.
A warehouse ships 240 orders a day. 15% need gift wrap, which adds
4 minutes each. How many staff hours a day does gift wrap take?
Work through the problem step by step, then give the final answer
on its own line as "Answer: <number> hours".
Zwei Details zählen. Fordern Sie die Überlegung vor der Antwort an, und geben Sie der Antwort eine feste Markierung, damit Ihr Code sie findet.
Few-Shot-Chain-of-Thought
Hier zeigen die Beispiele neben dem Ergebnis auch den Gedankengang, sodass das Modell die Methode nachahmt.
Q: A plan costs $12 a month or $120 a year. How much does the yearly
plan save over 2 years?
Reasoning: Monthly for 2 years is 12 x 24 = $288. Yearly for 2 years
is 120 x 2 = $240. The difference is 288 - 240 = $48.
Answer: $48
Q: {{question}}
Reasoning:
Nutzen Sie das, wenn die Aufgabe ein bestimmtes Verfahren hat, das befolgt werden soll.
Strukturiertes Schlussfolgern
Trennen Sie bei Antworten, die Code liest, das Denken vom Ergebnis mit Tags oder Feldern.
Think through the eligibility rules inside <reasoning> tags.
Then give the decision inside <decision> tags as "approve" or "reject".
Setzen Sie in JSON das Feld für die Überlegung vor das Feld für das Urteil. Felder werden der Reihe nach erzeugt, eine Überlegung nach dem Urteil kann es also nicht mehr beeinflussen. Siehe Prompts für strukturierte Ausgabe.
Reasoning-Modelle ändern den Rat
Viele aktuelle Modelle schlussfolgern intern, bevor sie antworten, oft unter einer Einstellung namens Thinking, Reasoning Effort oder Extended Thinking. Für diese Modelle gilt:
- Fügen Sie nicht „denke Schritt für Schritt“ hinzu. Sie tun es bereits, und die Anweisung kann die Ausgabe verlängern, ohne sie zu verbessern.
- Beschreiben Sie Ziel und Einschränkungen und lassen Sie das Modell seinen Ansatz wählen.
- Nutzen Sie die Steuerung des Anbieters, um festzulegen, wie viel Reasoning aufgewendet wird, statt der Prompt-Formulierung.
- Bitten Sie dennoch um eine kurze Begründung in der Ausgabe, wenn ein Mensch die Antwort prüfen muss.
Explizites Chain-of-Thought bleibt nützlich bei kleineren, schnelleren Modellen, die nicht intern schlussfolgern, und immer dann, wenn die Überlegung in der Antwort sichtbar sein soll.
Wann Chain-of-Thought hilft und wann nicht
| Aufgabe | Hilft es? |
|---|---|
| Mehrstufige Arithmetik oder Logik | Ja |
| Entscheidungen mit mehreren anzuwendenden Regeln | Ja |
| Debugging: die Ursache aus Symptomen finden | Ja |
| Einfache Klassifikation oder Extraktion | Selten; es verursacht Kosten |
| Kreatives Schreiben | Nein |
| Nachschlagen eines Fakts in mitgeliefertem Text | Nein |
Die Kosten sind real: Schlussfolgern sind Ausgabe-Tokens, die meist teurer abgerechnet werden als Eingabe-Tokens und Latenz hinzufügen.
Ein Vorbehalt zu Erklärungen
Die aufgeschriebene Überlegung ist eine plausible Darstellung, keine garantierte Spur dessen, wie die Antwort entstand. Ein Modell kann zu einem Schluss kommen und eine Begründung schreiben, die richtig klingt. Behandeln Sie die Überlegung als etwas, das zu überprüfen ist, besonders wenn eine Entscheidung Menschen betrifft.
Self-Consistency
Self-Consistency, 2022 von Wang und Kollegen beschrieben, baut auf Chain-of-Thought auf. Führen Sie denselben Reasoning-Prompt mehrfach mit aktiviertem Sampling aus, damit die Wege abweichen, und nehmen Sie die häufigste Endantwort.
- Senden Sie den CoT-Prompt N-mal, etwa 5-mal, mit einer Temperatur über null.
- Extrahieren Sie die Endantwort aus jeder Antwort.
- Geben Sie die Antwort zurück, die am häufigsten vorkommt.
Verschiedene Denkwege machen verschiedene Fehler, aber richtige Wege neigen dazu, übereinzustimmen. Die Abstimmung filtert den gelegentlichen Ausrutscher heraus.
Setzen Sie es ein, wenn das Problem eine richtige Antwort hat, die sich exakt vergleichen lässt (eine Zahl, ein Label, ein Ja oder Nein), und die Genauigkeit das N-Fache der Kosten wert ist.
Verzichten Sie darauf, wenn die Antworten Freitext sind, über den sich nicht abstimmen lässt, oder wenn ein einzelner Aufruf schon zuverlässig ist. Sind die Stimmen gleichmäßig verteilt, werten Sie das als Zeichen dafür, dass die Frage mehrdeutig oder der Prompt unterspezifiziert ist.
Vom Schlussfolgern zu Pipelines
Wenn die Schritte eines Problems vorab bekannt sind, bitten Sie nicht einen Prompt, alle durchzudenken. Geben Sie jedem Schritt einen eigenen Prompt. Das ist Prompt Chaining. Hängen die Schritte von Informationen ab, die das Modell abrufen muss, kombinieren Sie Schlussfolgern mit Werkzeugen: Das ist ReAct-Prompting.
Prüfen Sie zuerst den Prompt
Schlussfolgern kann eine unklare Frage nicht reparieren. Ein CoT-Prompt mit vagem Ziel oder widersprüchlichen Regeln überlegt sorgfältig auf die falsche Antwort hin. Schicken Sie ihn durch den PromptFlowEngine-Prompt-Analyzer, bevor Sie Tokens für das Schlussfolgern ausgeben.