Umgang mit Stop-Gründen
Verstehen Sie, warum Claude die Antwortgenerierung stoppt und wie Sie verschiedene Stop-Gründe in Ihren Anwendungen handhaben.
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 gestoppt hat. Das Verständnis dieser Werte ist entscheidend für die Entwicklung robuster Anwendungen, die verschiedene Antworttypen angemessen handhaben.
Für Details über stop_reason
in der API-Antwort siehe die Messages API-Referenz.
Was ist stop_reason?
Das stop_reason
-Feld ist Teil jeder erfolgreichen Messages API-Antwort. Im Gegensatz zu Fehlern, die Ausfälle bei der Verarbeitung Ihrer Anfrage anzeigen, teilt Ihnen stop_reason
mit, warum Claude seine Antwortgenerierung erfolgreich abgeschlossen hat.
Stop-Grund-Werte
end_turn
Der häufigste Stop-Grund. Zeigt an, dass Claude seine Antwort natürlich beendet hat.
max_tokens
Claude stoppte, 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 mit Server-Tools wie Websuche verwendet, wenn Claude eine langwierige Operation pausieren muss.
refusal
Claude weigerte sich, eine Antwort aufgrund von Sicherheitsbedenken zu generieren.
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 Antwortbehandlungslogik zu überprüfen:
2. Behandeln Sie max_tokens elegant
Wenn eine Antwort aufgrund von Token-Limits abgeschnitten wird:
3. Implementieren Sie Wiederholungslogik für pause_turn
Für Server-Tools, die pausieren können:
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ültigen Inhalt
Fehler (fehlgeschlagene Anfragen)
- HTTP-Statuscodes 4xx oder 5xx
- Zeigen Ausfälle bei der Anfrageverarbeitung an
- Antwort enthält Fehlerdetails
Streaming-Überlegungen
Bei der Verwendung von Streaming ist stop_reason
:
null
im anfänglichenmessage_start
-Event- Bereitgestellt im
message_delta
-Event - Nicht in anderen Events bereitgestellt
Häufige Muster
Umgang mit Tool-Use-Workflows
Sicherstellen vollständiger Antworten
Durch die ordnungsgemäße Behandlung von stop_reason
-Werten können Sie robustere Anwendungen erstellen, die verschiedene Antwortszenarios elegant handhaben und bessere Benutzererfahrungen bieten.