stop_reason
qui indique pourquoi le modèle a arrêté de générer sa réponse. Comprendre ces valeurs est crucial pour construire des applications robustes qui gèrent différents types de réponses de manière appropriée.
Pour plus de détails sur stop_reason
dans la réponse de l’API, consultez la référence de l’API Messages.
Qu’est-ce que stop_reason ?
Le champstop_reason
fait partie de chaque réponse réussie de l’API Messages. Contrairement aux erreurs, qui indiquent des échecs dans le traitement de votre requête, stop_reason
vous indique pourquoi Claude a terminé avec succès la génération de sa réponse.
Exemple de réponse
Valeurs de stop reason
end_turn
La raison d’arrêt la plus courante. Indique que Claude a terminé sa réponse naturellement.max_tokens
Claude s’est arrêté parce qu’il a atteint la limitemax_tokens
spécifiée dans votre requête.
stop_sequence
Claude a rencontré une de vos séquences d’arrêt personnalisées.tool_use
Claude appelle un outil et s’attend à ce que vous l’exécutiez.pause_turn
Utilisé avec les outils serveur comme la recherche web lorsque Claude doit mettre en pause une opération de longue durée.refusal
Claude a refusé de générer une réponse en raison de préoccupations de sécurité.Meilleures pratiques pour gérer les raisons d’arrêt
1. Toujours vérifier stop_reason
Prenez l’habitude de vérifier lestop_reason
dans votre logique de gestion des réponses :
2. Gérer max_tokens avec élégance
Lorsqu’une réponse est tronquée en raison des limites de tokens :3. Implémenter une logique de nouvelle tentative pour pause_turn
Pour les outils serveur qui peuvent se mettre en pause :Stop reasons vs erreurs
Il est important de distinguer entre les valeursstop_reason
et les erreurs réelles :
Stop reasons (réponses réussies)
- Partie du corps de la réponse
- Indiquent pourquoi la génération s’est arrêtée normalement
- La réponse contient du contenu valide
Erreurs (requêtes échouées)
- Codes de statut HTTP 4xx ou 5xx
- Indiquent des échecs de traitement de requête
- La réponse contient des détails d’erreur
Considérations de streaming
Lors de l’utilisation du streaming,stop_reason
est :
null
dans l’événement initialmessage_start
- Fourni dans l’événement
message_delta
- Non fourni dans aucun autre événement
Modèles courants
Gestion des flux de travail d’utilisation d’outils
Assurer des réponses complètes
stop_reason
, vous pouvez construire des applications plus robustes qui gèrent avec élégance différents scénarios de réponse et offrent de meilleures expériences utilisateur.