Construire avec la réflexion étendue
La réflexion étendue donne à Claude 3.7 Sonnet des capacités de raisonnement améliorées pour les tâches complexes, tout en offrant une transparence sur son processus de réflexion étape par étape avant de fournir sa réponse finale.
Comment fonctionne la réflexion étendue
Lorsque la réflexion étendue est activée, Claude crée des blocs de contenu thinking
où il expose son raisonnement interne. Claude intègre les insights de ce raisonnement avant d’élaborer une réponse finale.
La réponse de l’API inclura à la fois des blocs de contenu thinking
et text
.
Dans les conversations à plusieurs tours, seuls les blocs de réflexion associés à une session d’utilisation d’outil ou au tour assistant
en dernière position sont visibles pour Claude et sont facturés comme des tokens d’entrée ; les blocs de réflexion associés aux messages assistant
précédents ne sont pas visibles pour Claude pendant l’échantillonnage et ne sont pas facturés comme des tokens d’entrée.
Mise en œuvre de la réflexion étendue
Ajoutez le paramètre thinking
et un budget de tokens spécifié à utiliser pour la réflexion étendue à votre requête API.
Le paramètre budget_tokens
détermine le nombre maximum de tokens que Claude est autorisé à utiliser pour son processus de raisonnement interne. Des budgets plus importants peuvent améliorer la qualité des réponses en permettant une analyse plus approfondie des problèmes complexes, bien que Claude puisse ne pas utiliser la totalité du budget alloué, en particulier pour des plages supérieures à 32K.
Votre budget_tokens
doit toujours être inférieur au max_tokens
spécifié.
La réponse de l’API inclura à la fois des blocs de contenu thinking et text :
Comprendre les blocs de réflexion
Les blocs de réflexion représentent le processus de pensée interne de Claude. Afin de permettre à Claude de résoudre des problèmes avec des restrictions internes minimales tout en maintenant nos normes de sécurité et nos API sans état, nous avons mis en œuvre les éléments suivants :
- Les blocs de réflexion contiennent un champ
signature
. Ce champ contient un jeton cryptographique qui vérifie que le bloc de réflexion a été généré par Claude, et est vérifié lorsque les blocs de réflexion sont renvoyés à l’API. Lors du streaming des réponses, la signature est ajoutée via unsignature_delta
à l’intérieur d’un événementcontent_block_delta
juste avant l’événementcontent_block_stop
. Il n’est strictement nécessaire de renvoyer les blocs de réflexion que lors de l’utilisation d’outils avec la réflexion étendue. Sinon, vous pouvez omettre les blocs de réflexion des tours précédents, ou laisser l’API les supprimer pour vous si vous les renvoyez. - Occasionnellement, le raisonnement interne de Claude sera signalé par nos systèmes de sécurité. Dans ce cas, nous chiffrons tout ou partie du bloc
thinking
et le renvoyons sous forme de blocredacted_thinking
. Ces blocs de réflexion expurgés sont déchiffrés lorsqu’ils sont renvoyés à l’API, permettant à Claude de poursuivre sa réponse sans perdre le contexte. - Les blocs
thinking
etredacted_thinking
sont renvoyés avant les blocstext
dans la réponse.
Voici un exemple montrant à la fois des blocs de réflexion normaux et expurgés :
Voir des blocs de réflexion expurgés dans votre sortie est un comportement attendu. Le modèle peut toujours utiliser ce raisonnement expurgé pour informer ses réponses tout en maintenant les garde-fous de sécurité.
Si vous devez tester la gestion de la réflexion expurgée dans votre application, vous pouvez utiliser cette chaîne de test spéciale comme invite : ANTHROPIC_MAGIC_STRING_TRIGGER_REDACTED_THINKING_46C9A13E193C177646C7398A98432ECCCE4C1253D5E2D82641AC0E52CC2876CB
Lorsque vous renvoyez des blocs thinking
et redacted_thinking
à l’API dans une conversation à plusieurs tours, vous devez inclure le bloc complet non modifié à l’API pour le dernier tour de l’assistant.
Ceci est crucial pour maintenir le flux de raisonnement du modèle. Nous suggérons de toujours renvoyer tous les blocs de réflexion à l’API. Pour plus de détails, consultez la section Préserver les blocs de réflexion.
Suggestions pour gérer la réflexion expurgée en production
Lors de la création d’applications destinées aux clients qui utilisent la réflexion étendue :
- Sachez que les blocs de réflexion expurgés contiennent du contenu chiffré qui n’est pas lisible par l’homme
- Envisagez de fournir une explication simple comme : “Une partie du raisonnement interne de Claude a été automatiquement chiffrée pour des raisons de sécurité. Cela n’affecte pas la qualité des réponses.”
- Si vous montrez des blocs de réflexion aux utilisateurs, vous pouvez filtrer les blocs expurgés tout en préservant les blocs de réflexion normaux
- Soyez transparent sur le fait que l’utilisation des fonctionnalités de réflexion étendue peut occasionnellement entraîner le chiffrement de certains raisonnements
- Implémentez une gestion appropriée des erreurs pour gérer gracieusement la réflexion expurgée sans casser votre interface utilisateur
Streaming de la réflexion étendue
Lorsque le streaming est activé, vous recevrez le contenu de réflexion via des événements thinking_delta
. Voici comment gérer le streaming avec la réflexion :
Exemple de sortie en streaming :
À propos du comportement du streaming avec la réflexion
Lors de l’utilisation du streaming avec la réflexion activée, vous pourriez remarquer que le texte arrive parfois en plus gros morceaux alternant avec une livraison plus petite, token par token. C’est un comportement attendu, en particulier pour le contenu de réflexion.
Le système de streaming doit traiter le contenu par lots pour des performances optimales, ce qui peut entraîner ce modèle de livraison “par morceaux”. Nous travaillons continuellement à améliorer cette expérience, avec des mises à jour futures axées sur un streaming plus fluide du contenu de réflexion.
Les blocs redacted_thinking
n’auront pas de deltas associés et seront envoyés comme un seul événement.
[Le reste de la traduction continue dans le prochain message en raison de la limite de caractères…]
Was this page helpful?