Umgang mit Stop-Gründen
Wenn Sie eine Anfrage an die Messages API stellen, enthält Claudes Antwort ein stop_reason
-Feld, das angibt, warum das Modell die Generierung seiner Antwort beendet hat. Das Verständnis dieser Werte ist entscheidend für die Entwicklung robuster Anwendungen, die verschiedene Antworttypen angemessen behandeln.
Einzelheiten zu stop_reason
in der API-Antwort finden Sie in der Messages API-Referenz.
Was ist stop_reason?
Das Feld stop_reason
ist Teil jeder erfolgreichen Messages API-Antwort. Im Gegensatz zu Fehlern, die auf Probleme bei der Verarbeitung Ihrer Anfrage hinweisen, teilt Ihnen stop_reason
mit, warum Claude die Generierung seiner Antwort erfolgreich abgeschlossen hat.
Stop-Reason-Werte
end_turn
Der häufigste Stop-Grund. Zeigt an, dass Claude seine Antwort natürlich beendet hat.
max_tokens
Claude hat gestoppt, weil es das in Ihrer Anfrage angegebene max_tokens
-Limit erreicht hat.
stop_sequence
Claude ist auf eine Ihrer benutzerdefinierten Stop-Sequenzen gestoßen.
tool_use
Claude ruft ein Tool auf und erwartet, dass Sie es ausführen.
pause_turn
Wird bei Server-Tools wie der Websuche verwendet, wenn Claude eine lang laufende Operation pausieren muss.
Best Practices für den Umgang mit Stop-Gründen
1. Überprüfen Sie immer stop_reason
Machen Sie es sich zur Gewohnheit, den stop_reason
in Ihrer Antwortverarbeitungslogik zu überprüfen:
2. Behandeln Sie max_tokens elegant
Wenn eine Antwort aufgrund von Token-Limits abgeschnitten wird:
3. Implementieren Sie eine Wiederholungslogik für pause_turn
Für Server-Tools, die möglicherweise pausieren:
Stop-Gründe vs. Fehler
Es ist wichtig, zwischen stop_reason
-Werten und tatsächlichen Fehlern zu unterscheiden:
Stop-Gründe (erfolgreiche Antworten)
- Teil des Antwortkörpers
- Zeigen an, warum die Generierung normal gestoppt wurde
- Antwort enthält gültige Inhalte
Fehler (fehlgeschlagene Anfragen)
- HTTP-Statuscodes 4xx oder 5xx
- Zeigen Fehler bei der Anfrageverarbeitung an
- Antwort enthält Fehlerdetails
Streaming-Überlegungen
Bei Verwendung von Streaming ist stop_reason
:
null
im erstenmessage_start
-Event- Bereitgestellt im
message_delta
-Event - Nicht-null in allen anderen Events
Häufige Muster
Behandlung von Tool-Use-Workflows
Sicherstellen vollständiger Antworten
Durch die richtige Behandlung von stop_reason
-Werten können Sie robustere Anwendungen erstellen, die verschiedene Antwortszenarien elegant behandeln und bessere Benutzererfahrungen bieten.