Techniken

Chain-of-Thought-Prompting und Self-Consistency

Chain-of-Thought-Prompting bittet ein Modell, vor der Antwort Schritt für Schritt zu schlussfolgern. Wann es hilft, wann Reasoning-Modelle es überflüssig machen, und Self-Consistency.

Übersetzt aus dem englischen Original. Code, Prompts und Modellausgaben bleiben auf Englisch.

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.

  1. Senden Sie den CoT-Prompt N-mal, etwa 5-mal, mit einer Temperatur über null.
  2. Extrahieren Sie die Endantwort aus jeder Antwort.
  3. 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.