Aller au contenu principal

Reflexion etendue (Extended Thinking)

La reflexion etendue est une fonctionnalite avancee qui donne a Claude le temps de raisonner sur des problemes complexes avant de generer sa reponse finale. C’est le monologue interne de Claude — vous pouvez voir comment il aborde votre probleme etape par etape.

Fonctionnement

Quand vous activez la reflexion etendue, la reponse de Claude inclut deux parties au lieu d’une :

  1. Partie raisonnement : le processus de reflexion interne de Claude
  2. Partie texte : la reponse finale que vous vouliez

La partie raisonnement montre exactement comment Claude decompose votre probleme, ce qu’il considere, et comment il arrive a sa reponse finale.

Compromis

  • Meilleure precision sur les taches complexes
  • Cout plus eleve (vous payez pour tous les tokens de reflexion)
  • Latence accrue (la reflexion prend du temps)

La decision doit etre basee sur les donnees : si vous avez deja optimise votre prompt mais n’obtenez toujours pas la precision souhaitee, c’est le moment de considerer la reflexion etendue.

Le systeme de signature

Le contenu de raisonnement est accompagne d’une signature cryptographique. Cette signature garantit que le texte de reflexion ne peut pas etre modifie. Si vous voulez inclure le raisonnement precedent dans une conversation de suivi, la signature verifie que le contenu n’a pas ete altere.

Contenu expurge

Parfois, la reflexion de Claude est signalee par les systemes de securite. Dans ce cas, vous recevez un champ redactedContent au lieu du texte lisible. Le contenu expurge est chiffre mais fonctionnel — vous pouvez le repasser a Claude sans perdre le contexte.

Implementation

additional_model_fields["thinking"] = {
    "type": "enabled",
    "budget_tokens": thinking_budget
}

Le thinking_budget controle combien de tokens Claude peut depenser pour le raisonnement. Le minimum est 1024 tokens. Utilisez vos evaluations pour trouver le bon budget selon votre cas d’usage.

def chat(
    messages,
    system=None,
    temperature=1.0,
    stop_sequences=[],
    tools=None,
    tool_choice="auto",
    text_editor=None,
    thinking=False,
    thinking_budget=1024
):

Il existe une chaine de test speciale qui force Claude a renvoyer du contenu expurge, utile pour verifier que votre code gere les deux cas correctement.