Réflexion étendue - Amazon Bedrock

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Réflexion étendue

La pensée étendue permet d'Claudeaméliorer les capacités de raisonnement pour les tâches complexes, tout en fournissant différents niveaux de transparence dans son processus de step-by-step réflexion avant qu'il ne donne sa réponse finale. Chaque fois que vous activez le mode de réflexion de Claude, vous devez définir un budget pour le nombre maximum de jetons que Claude peut utiliser pour son processus de raisonnement interne.

Les modèles suivants sont pris en charge :

Modèle ID du modèle

Claude Opus4,5

anthropic.claude-opus-4-5-20251101-v1:0

Claude Opus 4

anthropic.claude-opus-4-20250514-v1:0

Claude Sonnet 4

anthropic.claude-sonnet-4-20250514-v1:0

Claude Sonnet 4.5

anthropic.claude-sonnet-4-5-20250929-v1:0

Claude Haiku 4.5

anthropic.claude-haiku-4-5-20251001-v1:0

Claude 3.7 Sonnet

anthropic.claude-3-7-sonnet-20250219-v1:0

Claude Sonnet 4.5

anthropic.claude-opus-4-5-20251101-v1:0

Note

Le comportement de l’API diffère entre les modèles Claude 3.7 et Claude 4. Pour de plus amples informations, veuillez consulter Différences de raisonnement entre les versions du modèle.

Bonnes pratiques et considérations pour une réflexion étendue

Directives d’utilisation

  • Sélection des tâches : utilisez la réflexion approfondie pour les tâches particulièrement complexes qui tirent parti du step-by-step raisonnement, comme les mathématiques, le codage et l'analyse.

  • Gestion du contexte : il n’est pas nécessaire de supprimer vous-même les blocs de réflexion précédents. L’API Anthropic ignore automatiquement les blocs de réflexion des tours précédents et ils ne sont pas inclus dans le calcul de l’utilisation du contexte.

  • Ingénierie de requête : consultez les conseils de définition d’invites étendues d’Anthropic si vous souhaitez optimiser les capacités de réflexion de Claude.

Considérations sur les performances

  • Temps de réponse : préparez-vous à des temps de réponse potentiellement plus longs en raison du traitement supplémentaire requis pour le processus de raisonnement. Tenez compte du fait que la génération de blocs de réflexion peut augmenter le temps de réponse global.

  • Exigences de diffusion : la diffusion est requise lorsque max_tokens est supérieure à 21 333. Lorsque d’une diffusion, préparez-vous à gérer à la fois les blocs de contenu thinking et text dès leur arrivée.

Compatibilité des fonctionnalités

  • La réflexion n’est pas compatible avec les modifications temperature, top_p et top_k, ni avec l’utilisation forcée d’outils.

  • Vous ne pouvez pas préremplir les réponses lorsque la réflexion est activée.

  • Les modifications apportées au budget de réflexion invalident les préfixes d’invite mis en cache qui incluent des messages. Cependant, les invites du système mises en cache et les définitions d’outils continueront de fonctionner lorsque les paramètres de réflexion changent.

Utilisation des budgets de réflexion

  • Optimisations budgétaires : le budget minimum est de 1 024 jetons. Anthropic suggère de commencer par le minimum et d’augmenter progressivement le budget de réflexion afin de trouver la plage optimale pour votre cas d’utilisation. Un plus grand nombre de jetons peut permettre un raisonnement plus complet et nuancé, mais les rendements peuvent également diminuer en fonction de la tâche. Le budget de réflexion est un objectif plutôt qu’une limite stricte. L’utilisation réelle des jetons peut varier en fonction de la tâche.

  • Paramètres minimaux et optimaux : le budget minimum est de 1 024 jetons. Nous vous suggérons de commencer par le minimum et d’augmenter progressivement le budget de réflexion afin de trouver la gamme optimale pour les performances les plus adaptées à Claude pour votre cas d’utilisation. Un nombre de jetons plus élevé peut permettre d’atteindre un raisonnement plus complet et nuancé, mais les rendements peuvent également diminuer en fonction de la tâche. Le budget de réflexion est un objectif plutôt qu’une limite stricte : l’utilisation réelle des jetons peut varier en fonction de la tâche.

  • Expérimentation : le modèle peut fonctionner différemment selon les paramètres du budget de réflexion maximal. L’augmentation du budget de réflexion maximal peut permettre au modèle de réfléchir mieux ou plus sérieusement, au prix d’une latence accrue. Pour les tâches critiques, pensez à tester différents paramètres budgétaires afin de trouver l’équilibre optimal entre qualité et performance.

  • Budgets importants : pour les budgets supérieurs à 32 000, nous vous recommandons d’utiliser le traitement par lots afin d’éviter les problèmes de réseau. Les demandes qui poussent le modèle à penser au-dessus de 32 000 jetons entraînent des demandes de longue durée qui peuvent entraîner des délais d’expiration du système et des limites de connexions ouvertes. Veuillez noter que les limites de max_tokens varient selon les modèles Claude. Pour de plus amples informations, veuillez consulter Nombre maximal de jetons et taille de fenêtre contextuelle avec une réflexion étendue.

  • Suivi de l’utilisation des jetons : surveillez l’utilisation des jetons en pensant à l’optimisation des coûts et des performances.

Fonctionnement de la réflexion étendue

Lorsque la réflexion étendue est activée, Claude crée des blocs de contenu thinking dans lesquels elle produit son raisonnement interne. Claude intègre les informations issues de ce raisonnement avant d’élaborer une réponse finale. La réponse de l’API inclura des blocs de contenu thinking, suivis de blocs de contenu text.

Voici un exemple du format de réponse par défaut :

{ "content": [ { "type": "thinking", "thinking": "Let me analyze this step by step...", "signature": "WaUjzkypQ2mUEVM36O2TxuC06KN8xyfbJwyem2dw3URve/op91XWHOEBLLqIOMfFG/UvLEczmEsUjavL...." }, { "type": "text", "text": "Based on my analysis..." } ] }

Pour plus d’informations sur le format de réponse de la réflexion étendue, consultez l’API Messages Demande et réponse d’Anthropic.

Utilisation de la réflexion étendue

Pour activer la réflexion étendue, ajoutez un objet thinking, le paramètre thinking étant défini sur activé et budget_tokens défini sur un budget symbolique spécifié pour la réflexion étendue.

Le paramètre budget_tokens détermine le nombre maximum de jetons que Claude est autorisé à utiliser pour son processus de raisonnement interne. Dans les 4 modèles de Claude, cette limite s’applique aux jetons de réflexion complets, et non au résultat résumé. Des budgets plus importants peuvent améliorer la qualité des réponses en permettant une analyse plus approfondie des problèmes complexes, mais Claude risque de ne pas utiliser la totalité du budget alloué, en particulier pour les plages supérieures à 32 000.

La valeur de budget_tokens doit être définie sur une valeur inférieure à max_tokens. Toutefois, lorsque vous utilisez Réflexion entrelacée (bêta) avec des outils, vous pouvez dépasser cette limite, car la limite de jetons devient l’ensemble de votre fenêtre de contexte (200 000 jetons).

Réflexion résumée

Lorsque la réflexion étendue est activée, l’API Messages pour les 4 modèles Claude renvoie un résumé du processus de réflexion complet de Claude. La réflexion résumée permet de tirer pleinement parti des avantages de la réflexion étendue en termes d’intelligence, tout en empêchant toute utilisation abusive.

Voici quelques considérations importantes pour une réflexion résumée :

  • Les jetons de réflexion complets générés par la demande initiale vous sont facturés, et non les jetons récapitulatifs.

  • Le nombre de jetons de sortie facturés ne correspondra pas au nombre de jetons que vous voyez dans la réponse.

  • L’invite fournie au modèle de résumé est sujette à modification.

  • Les premières lignes de réflexion sont plus verbeuses, fournissant un raisonnement détaillé particulièrement utile à des fins d’ingénierie de requête.

Note

Claude 3.7 Sonnet renvoie toujours le résultat de la réflexion dans son intégralité.

Pour accéder à l’ensemble des résultats de réflexion relatifs au 4 modèles Claude, contactez l’équipe chargée de votre compte.

Diffusion de réflexion

Vous pouvez diffuser des réponses de réflexion étendue à l’aide d’événements envoyés par le serveur (SSE). Lorsque la diffusion est activée pour une réflexion étendue, vous recevez du contenu de réflexion via des événements thinking_delta. Il n’est pas garanti que les événements diffusés en continu reviendront à un rythme constant. Il peut y avoir des délais entre les événements de diffusion. Pour plus de documentation sur la diffusion via l’API Messages, consultez Diffusion de messages.

Voici comment gérer le streaming en pensant en utilisant InvokeModelWithResponseStream:

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "messages": [ { "role": "user", "content": "What is 27 * 453?" } ] }

Réponse :

event: message_start data: {"type": "message_start", "message": {"id": "msg_01...", "type": "message", "role": "assistant", "content": [], "model": "claude-3-7-sonnet-20250219", "stop_reason": null, "stop_sequence": null}} event: content_block_start data: {"type": "content_block_start", "index": 0, "content_block": {"type": "thinking", "thinking": ""}} event: content_block_delta data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "Let me solve this step by step:\n\n1. First break down 27 * 453"}} event: content_block_delta data: {"type": "content_block_delta", "index": 0, "delta": {"type": "thinking_delta", "thinking": "\n2. 453 = 400 + 50 + 3"}} // Additional thinking deltas... event: content_block_delta data: {"type": "content_block_delta", "index": 0, "delta": {"type": "signature_delta", "signature": "EqQBCgIYAhIM1gbcDa9GJwZA2b3hGgxBdjrkzLoky3dl1pkiMOYds..."}} event: content_block_stop data: {"type": "content_block_stop", "index": 0} event: content_block_start data: {"type": "content_block_start", "index": 1, "content_block": {"type": "text", "text": ""}} event: content_block_delta data: {"type": "content_block_delta", "index": 1, "delta": {"type": "text_delta", "text": "27 * 453 = 12,231"}} // Additional text deltas... event: content_block_stop data: {"type": "content_block_stop", "index": 1} event: message_delta data: {"type": "message_delta", "delta": {"stop_reason": "end_turn", "stop_sequence": null}} event: message_stop data: {"type": "message_stop"}
À propos du comportement de diffusion avec réflexion

Lorsque vous utilisez le streaming avec la fonction de réflexion activée, vous remarquerez peut-être que le texte arrive parfois en gros morceaux, alternant avec une token-by-token diffusion plus petite. Il s’agit d’un comportement attendu, en particulier pour ce qui est du contenu de réflexion. Le système de diffusion doit traiter le contenu par lots pour des performances optimales, ce qui peut entraîner ce schéma de diffusion.

Réflexion approfondie avec utilisation d’outils

La réflexion approfondie peut être utilisée avec Utilisation d’outil, ce qui permet à Claude de raisonner grâce à la sélection d’outils et au traitement des résultats. Lorsque vous utilisez la réflexion étendue en combinaison avec l’utilisation d’outils, tenez compte des limitations suivantes :

  • Limitation du choix d’outils : l’utilisation d’outils avec la fonctionnalité de réflexion ne prend en charge que tool_choice: any. Elle ne prend pas en charge la fourniture d’un outil spécifique, auto, ou de toute autre valeur.

  • Préservation des blocs de réflexion : lors de l’utilisation de l’outil, vous devez renvoyer les blocs de réflexion à l’API pour le dernier message de l’assistant. Incluez de nouveau le bloc complet non modifié dans l’API pour maintenir la continuité du raisonnement.

Voici comment fonctionne la gestion des fenêtres contextuelles avec les outils :

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" } ] }

La première réponse est la suivante :

{ "content": [ { "type": "thinking", "thinking": "The user wants to know the current weather in Paris. I have access to a function `get_weather`...", "signature": "BDaL4VrbR2Oj0hO4XpJxT28J5TILnCrrUXoKiiNBZW9P+nr8XSj1zuZzAl4egiCCpQNvfyUuFFJP5CncdYZEQPPmLxYsNrcs...." }, { "type": "text", "text": "I can help you get the current weather information for Paris. Let me check that for you" }, { "type": "tool_use", "id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "name": "get_weather", "input": { "location": "Paris" } } ] }

La poursuite de la conversation sur l’utilisation de l’outil générera une autre réponse. Notez que thinking_block est transmis ainsi que tool_use_block. Si la transmission n’a pas lieu, une erreur se produit.

{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" }, { "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user wants to know the current weather in Paris. I have access to a function `get_weather`…", "signature": "BDaL4VrbR2Oj0hO4XpJxT28J5TILnCrrUXoKiiNBZW9P+nr8XSj1zuZzAl4egiCCpQNvfyUuFFJP5CncdYZEQPPmLxY", }, { "type": "tool_use", "id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "name": "get_weather", "input": { "location": "Paris" } } ] }, { "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_01CswdEQBMshySk6Y9DFKrfq", "content": "Current temperature: 88°F" } ] } ] }

La réponse de l’API ne comprendra désormais que du texte

{ "content": [ { "type": "text", "text": "Currently in Paris, the temperature is 88°F (31°C)" } ] }

Préservation des blocs de réflexion

Lors de l’utilisation de l’outil, vous devez transmettre les blocs de réflexion à l’API, et vous devez inclure le bloc complet non modifié à l’API. Cela est essentiel pour maintenir le flux de raisonnement et l’intégrité des conversations du modèle.

Astuce

Bien que vous puissiez omettre les blocs thinking des rotations de rôles assistant précédentes, nous vous suggérons de toujours renvoyer tous les blocs de réflexion à l’API pour toute conversation à plusieurs tours. L’API effectuera les opérations suivantes :

  • Filtrer automatiquement les blocs de réflexion fournis

  • Utiliser les blocs de réflexion pertinents nécessaires pour préserver le raisonnement du modèle

  • Ne facturer que les jetons d’entrée pour les blocs présentés à Claude

Lorsque Claude invoque des outils, il suspend la construction d’une réponse dans l’attente d’informations externes. Une fois les résultats de l’outil renvoyés, Claude continuera à construire cette réponse existante. Cela nécessite de préserver les blocs de réflexion lors de l’utilisation de l’outil, pour les raisons suivantes :

  • Continuité du raisonnement : les blocs Claude de réflexion capturent step-by-step le raisonnement qui a conduit aux demandes d'outils. Lorsque vous publiez les résultats d’un outil, inclure la réflexion d’origine permet à Claude de poursuivre son raisonnement là où il s’est arrêté.

  • Maintenance du contexte : bien que les résultats des outils apparaissent sous forme de messages utilisateur dans la structure de l’API, ils font partie d’un flux de raisonnement continu. La préservation des blocs de réflexion permet de maintenir ce flux conceptuel entre plusieurs appels d’API.

Important

Lorsque vous fournissez des blocs de réflexion, la séquence complète des blocs de réflexion consécutifs doit correspondre aux résultats générés par le modèle lors de la demande initiale ; vous ne pouvez pas réorganiser ou modifier la séquence de ces blocs.

Réflexion entrelacée (bêta)

Avertissement

Interleaved Thinking est mis à votre disposition sous la forme d'un « service bêta » tel que défini dans les conditions de service. AWS Il est soumis à votre accord AWS et aux conditions de AWS service, ainsi qu'au modèle EULA applicable.

Les 4 modèles Claude prennent en charge la réflexion entrelacée, une fonctionnalité qui permet à Claude de réfléchir entre les appels d’outils et d’exécuter un raisonnement plus sophistiqué après avoir reçu les résultats de l’outil. Cela permet des interactions agentiques plus complexes où Claude peut effectuer les opérations suivantes :

  • Raisonner sur les résultats d’un appel d’outil avant de décider de la marche à suivre

  • Enchaîner plusieurs appels d’outils avec des étapes de raisonnement entre les deux

  • Prendre des décisions plus nuancées en fonction de résultats intermédiaires

Pour activer la réflexion entrelacée, ajoutez l’en-tête bêta interleaved-thinking-2025-05-14 à votre demande d’API.

Note

Avec la réflexion entrelacée, le paramètre budget_tokens peut dépasser le paramètre max_tokens, car il représente le budget total pour tous les blocs de réflexion en un tour d’assistant.

Thinking Block Clearing (version bêta)

Avertissement

Thinking Block Clearing est disponible sous la forme d'un « service bêta » tel que défini dans les conditions AWS de service.

Note

Cette fonctionnalité est actuellement prise en charge sur Claude Sonnet 4/4.5, Claude Haiku 4.5 et Claude Opus 4/4.1/4.5.

Thinking Block Clearing est une fonctionnalité du modèle Anthropic Claude (en version bêta). Grâce à cette fonctionnalité, Claude peut automatiquement effacer les anciens blocages de pensée des tours précédents. Pour utiliser la suppression des blocs Thinking, vous devez les ajouter context-management-2025-06-27 à la liste des en-têtes bêta sur le paramètre de requête anthropic_beta. Vous devrez également spécifier l'utilisation des options de configuration suivantes clear_thinking_20251015 et choisir l'une des options de configuration suivantes.

Voici les contrôles disponibles pour la stratégie de gestion du contexte clear_thinking_20251015. Elles sont toutes facultatives ou comportent des valeurs par défaut :

Option de configuration Description

keep

par défaut : 1 tour de réflexion

Définit le nombre de tours d'assistant récents avec des blocs de réflexion à préserver. Utilisez {"type": "thinking_turns", "value": N} où N doit être > 0 pour conserver les N derniers tours ou {"type": "all"} pour conserver tous les blocs de réflexion.

Request
{ "anthropic_version": "bedrock-2023-05-31", "max_tokens": 10000, "anthropic_beta": [ "context-management-2025-06-27" ], "thinking": { "type": "enabled", "budget_tokens": 4000 }, "tools": [ { "name": "get_weather", "description": "Get current weather for a location", "input_schema": { "type": "object", "properties": { "location": { "type": "string" } }, "required": [ "location" ] } } ], "messages": [ { "role": "user", "content": "What's the weather in Paris?" }, { "role": "assistant", "content": [ { "type": "thinking", "thinking": "The user is asking for the weather in Paris. I have access to a get_weather function that takes a location as a parameter. I have all the information I need to make this call - the location is \"Paris\".\n\nLet me call the get_weather function with \"Paris\" as the location.", "signature": "ErgDCkgIChABGAIqQC/Ccv8GC+5VfcMEiq78XmpU2Ef2cT+96pHKMedKcRNuPz1x0kFlo5HBpW0r1NcQFVQUPuj6PDmP7jdHY7GsrUwSDKNBMogjaM7wYkwfPhoMswjlmfF09JLjZfFlIjB03NkghGOxLbr3VCQHIY0lMaV9UBvt7ZwTpJKzlz+mulBysfvAmDfcnvdJ/6CZre4qnQJsTZaiXdEgASwPIc5jOExBguerrtYSWVC/oPjSi7KZM8PfhP/SPXupyLi8hwYxeqomqkeG7AQhD+3487ecerZJcpJSOSsf0I1OaMpmQEE/b7ehnvTV/A4nLhxIjP4msyIBW+dVwHNFRFlpJLBHUJvN99b4run6YmqBSf4y9TyNMfOr+FtfxedGE0HfJMBd4FHXmUFyW5y91jAHMWqwNxDgacaKkFCAMaqce5rm0ShOxXn1uwDUAS3jeRP26Pynihq8fw5DQwlqOpo7vvXtqb5jjiCmqfOe6un5xeIdhhbzWddhEk1Vmtg7I817pM4MZjVaeQN02drPs8QgDxihnP6ZooGhd6FCBP2X3Ymdlj5zMlbVHxmSkA4wcNtg4IAYAQ==" }, { "type": "tool_use", "id": "toolu_bdrk_01U7emCvL5v5z5GT7PDr2vzc", "name": "get_weather", "input": { "location": "Paris" } } ] }, { "role": "user", "content": [ { "type": "tool_result", "tool_use_id": "toolu_bdrk_01U7emCvL5v5z5GT7PDr2vzc", "content": "Current temperature: 88°F" } ] } ], "context_management": { "edits": [ { "type": "clear_thinking_20251015", "keep": { "type": "thinking_turns", "value": 1 } } ] } }
Response
{ "model": "claude-haiku-4-5-20251001", "id": "msg_bdrk_01KyTbyFbdG2kzPwWMJY1kum", "type": "message", "role": "assistant", "content": [ { "type": "text", "text": "The current weather in Paris is **88°F** (approximately 31°C). It's quite warm! If you need more detailed information like humidity, wind conditions, or a forecast, please let me know." } ], "stop_reason": "end_turn", "stop_sequence": null, "usage": { "input_tokens": 736, "cache_creation_input_tokens": 0, "cache_read_input_tokens": 0, "cache_creation": { "ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 0 }, "output_tokens": 47 }, "context_management": { "applied_edits": [...] } }

Réflexion étendue avec mise en cache des invites

La mise en cache des invites avec la fonctionnalité de réflexion comporte plusieurs considérations importantes :

Suppression du contexte des blocs de réflexion

  • Les blocs de réflexion des tours précédents sont supprimés du contexte, ce qui peut affecter les points d’arrêt du cache.

  • Lorsque vous poursuivez des conversations utilisant des outils, les blocs de réflexion sont mis en cache et sont considérés comme des jetons d’entrée lorsqu’ils sont lus depuis le cache. Cela crée un compromis dans lequel les blocs de réflexion ne consomment pas visuellement de l’espace dans la fenêtre contextuelle, mais ils seront tout de même pris en compte dans l’utilisation de votre jeton d’entrée une fois mis en cache.

  • Si la réflexion se désactive, les demandes échoueront si vous transmettez le contenu de réflexion au cours du tour d’utilisation actuel de l’outil. Dans d’autres contextes, le contenu de réflexion transmis à l’API est simplement ignoré.

Modèles d’invalidation du cache

  • Les modifications apportées aux paramètres de réflexion (telles que l’activation, la désactivation ou la modification de l’allocation budgétaire) invalident les points d’arrêt du cache de messages.

  • Réflexion entrelacée (bêta) amplifie l’invalidation du cache, car des blocages de réflexion peuvent survenir entre plusieurs appels d’outils.

  • Les invites et les outils du système restent en cache même si vous pensez à modifier les paramètres ou à supprimer des blocs.

Note

Bien que les blocs de réflexion soient supprimés pour les calculs fastidieux et contextuels, ils doivent être préservés lors de la poursuite des conversations utilisant des outils, en particulier dans le cas de la réflexion entrelacée.

Présentation du comportement de mise en cache des blocs de réflexion

Lorsque la réflexion étendue est associée à l’utilisation d’outils, les blocs de réflexion présentent un comportement de mise en cache spécifique qui affecte le comptage des jetons. La séquence suivante montre comment cela fonctionne.

  1. La mise en cache ne se produit que lorsque vous effectuez une demande ultérieure incluant les résultats de l’outil.

  2. Lorsque la demande suivante est faite, l’historique des conversations précédentes (y compris les blocs de réflexion) peut être mis en cache.

  3. Ces blocs de réflexion mis en cache sont considérés comme des jetons d’entrée dans vos statistiques d’utilisation lorsqu’ils sont lus depuis le cache.

  4. Lorsqu'un bloc non-tool-result utilisateur est inclus, tous les blocs de réflexion précédents sont ignorés et retirés de leur contexte.

Voici un exemple de flux détaillé :

Demande 1 :

User: "What's the weather in Paris?"

Réponse 1 :

[thinking_block 1] + [tool_use block 1]

Demande 2 :

User: "What's the weather in Paris?", Assistant: [thinking_block_1] + [tool_use block 1], User: [tool_result_1, cache=True]

Réponse 2 :

[thinking_block 2] + [text block 2]

La demande 2 écrit un cache du contenu de la demande (et non de la réponse). Le cache inclut le message utilisateur d’origine, le premier bloc de réflexion, le bloc d’utilisation de l’outil et le résultat de l’outil.

Demande 3 :

User: ["What's the weather in Paris?"], Assistant: [thinking_block_1] + [tool_use block 1], User: [tool_result_1, cache=True], Assistant: [thinking_block_2] + [text block 2], User: [Text response, cache=True]

Comme un bloc non-tool-result utilisateur a été inclus, tous les blocs de réflexion précédents sont ignorés. Cette demande sera traitée de la même manière que la demande suivante :

Demande 3 Alternative :

User: ["What's the weather in Paris?"] Assistant: [tool_use block 1] User: [tool_result_1, cache=True] Assistant: [text block 2] User: [Text response, cache=True]

Ce comportement est constant, qu’il s’agisse d’une réflexion régulière ou d’une réflexion entrelacée.

Nombre maximal de jetons et taille de fenêtre contextuelle avec une réflexion étendue

Dans les anciens modèles Claude (antérieurs à Claude 3.7 Sonnet), si la somme des jetons d’invite et des max_tokens dépassait la fenêtre contextuelle du modèle, le système ajustait automatiquement max_tokens pour qu’il s’adapte à la limite de contexte. Cela signifiait que vous pouviez définir une valeur max_tokens élevée et que le système la réduirait silencieusement selon les besoins. Les modèles Claude 3.7 et 4 max_tokens (qui incluent votre budget de réflexion lorsque la réflexion est activée) sont imposés en tant que limite stricte. Le système renvoie désormais une erreur de validation si jetons d’invite + max_tokens dépasse la taille de la fenêtre contextuelle.

La fenêtre contextuelle avec réflexion étendue

Lors du calcul de l’utilisation d’une fenêtre de contexte avec la fonction de réflexion activée, il convient de prendre en compte certaines considérations :

  • Les blocs de réflexion des tours précédents sont supprimés et ne sont pas pris en compte dans votre fenêtre contextuelle.

  • La réflexion sur le tour actuel compte dans le calcul max_tokens de votre limite pour ce tour.

La fenêtre contextuelle effective est calculée comme suit : fenêtre de contexte = (jetons d’entrée actuels - jetons de réflexion précédents) + (jetons de réflexion + jetons de réflexion chiffrés + jetons de sortie de texte).

Gestion des jetons avec la réflexion étendue et à l’utilisation d’outils

Lorsque la réflexion étendue est associée à l’utilisation d’outils, les blocs de réflexion doivent être explicitement préservés et renvoyés avec les résultats de l’outil. Le calcul efficace de la fenêtre contextuelle pour une réflexion étendue avec l’utilisation d’outils devient le suivant :

context window = (current input tokens + previous thinking tokens + tool use tokens) + (thinking tokens + encrypted thinking tokens + text output tokens)

Gestion des jetons avec la réflexion étendue

Compte tenu de la fenêtre contextuelle max_tokens et du comportement des modèles Extended Thinking Claude 3.7 et 4, vous devrez peut-être effectuer l’une des actions suivantes :

  • Surveiller et gérer plus activement l’utilisation de vos jetons.

  • Ajuster les valeurs max_tokens en fonction de l’évolution de la longueur de votre invite.

  • Sachez que les blocs de pensée précédents ne s’accumulent pas dans votre fenêtre contextuelle. Cette modification a été apportée pour offrir un comportement plus prévisible et transparent, d’autant plus que les limites maximales de jetons ont considérablement augmenté.

Considérations relatives au coût des jetons de réflexion étendue

Le processus de réflexion entraîne des frais pour les éléments suivants :

  • Jetons utilisés pendant la réflexion (jetons de sortie)

  • Blocs de réflexion du dernier tour de l’assistant inclus dans les demandes suivantes (jetons d’entrée)

  • Jetons de sortie de texte standard

Astuce

Lorsque la réflexion étendue est activée, une invite spécialisée du système à 28 ou 29 jetons est automatiquement incluse pour prendre en charge cette fonctionnalité.

Le paramètre budget_tokens détermine le nombre maximum de jetons 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, mais Claude risque de ne pas utiliser la totalité du budget alloué, en particulier pour les plages supérieures à 32 000.

Avec la réflexion entrelacée, le paramètre budget_tokens peut dépasser le paramètre max_tokens, car il représente le budget total pour tous les blocs de réflexion en un tour d’assistant.

Lorsque vous utilisez la réflexion résumée, gardez à l’esprit les informations suivantes :

  • Jetons d’entrée : jetons figurant dans votre demande initiale

  • Jetons de sortie (facturés) : les jetons de réflexion originaux Claude générés en interne

  • Jetons de sortie (visibles) : les jetons de réflexion résumés que vous voyez dans la réponse

  • Aucuns frais : jetons utilisés pour générer le résumé

  • Le champ summary_status peut indiquer si les limites du jeton ont une incidence sur le résumé

  • Le nombre de jetons de sortie facturés ne correspondra pas au nombre de jetons que vous voyez dans la réponse. Vous êtes facturé pour l’ensemble du processus de réflexion, et non pour le résumé que vous voyez.