Loading...
    • Guide du développeur
    • Référence API
    • MCP
    • Ressources
    • Notes de version
    Search...
    ⌘K
    Premiers pas
    Introduction à ClaudeDémarrage rapide
    Modèles et tarification
    Aperçu des modèlesChoisir un modèleNouveautés dans Claude 4.5Migration vers Claude 4.5Dépréciation des modèlesTarification
    Créer avec Claude
    Aperçu des fonctionnalitésUtiliser l'API MessagesFenêtres de contexteMeilleures pratiques de prompting
    Capacités
    Mise en cache des promptsÉdition de contexteRéflexion étendueEffortStreaming de messagesTraitement par lotsCitationsSupport multilingueComptage de tokensEmbeddingsVisionSupport PDFAPI FilesRésultats de rechercheSorties structuréesComplément Google Sheets
    Outils
    AperçuComment implémenter l'utilisation d'outilsUtilisation d'outils efficace en tokensStreaming d'outils granulaireOutil BashOutil d'exécution de codeAppel d'outils programmatiqueOutil Computer useOutil Éditeur de texteOutil Web fetchOutil Web searchOutil MemoryOutil Tool search
    Compétences d'agent
    AperçuDémarrage rapideMeilleures pratiquesUtiliser les compétences avec l'API
    Agent SDK
    AperçuSDK TypeScriptSDK PythonGuide de migration
    Guides
    Streaming d'entréeGestion des permissionsGestion des sessionsSorties structurées dans le SDKHébergement de l'Agent SDKModification des prompts systèmeMCP dans le SDKOutils personnalisésSous-agents dans le SDKCommandes slash dans le SDKCompétences d'agent dans le SDKSuivi des coûts et de l'utilisationListes de tâchesPlugins dans le SDK
    MCP dans l'API
    Connecteur MCPServeurs MCP distants
    Claude sur les plateformes tierces
    Amazon BedrockMicrosoft FoundryVertex AI
    Ingénierie des prompts
    AperçuGénérateur de promptsUtiliser les modèles de promptsAméliorateur de promptsÊtre clair et directUtiliser des exemples (prompting multi-shots)Laisser Claude réfléchir (CoT)Utiliser les balises XMLDonner un rôle à Claude (prompts système)Pré-remplir la réponse de ClaudeEnchaîner les prompts complexesConseils pour le contexte longConseils pour la réflexion étendue
    Tester et évaluer
    Définir les critères de succèsDévelopper des cas de testUtiliser l'outil d'évaluationRéduire la latence
    Renforcer les garde-fous
    Réduire les hallucinationsAugmenter la cohérence des résultatsAtténuer les jailbreaksRefus en streamingRéduire les fuites de promptsGarder Claude dans le rôle
    Administration et surveillance
    Aperçu de l'API AdminAPI d'utilisation et de coûtsAPI Claude Code Analytics
    Console
    Log in
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...
    Loading...

    Solutions

    • AI agents
    • Code modernization
    • Coding
    • Customer support
    • Education
    • Financial services
    • Government
    • Life sciences

    Partners

    • Amazon Bedrock
    • Google Cloud's Vertex AI

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Company

    • Anthropic
    • Careers
    • Economic Futures
    • Research
    • News
    • Responsible Scaling Policy
    • Security and compliance
    • Transparency

    Learn

    • Blog
    • Catalog
    • Courses
    • Use cases
    • Connectors
    • Customer stories
    • Engineering at Anthropic
    • Events
    • Powered by Claude
    • Service partners
    • Startups program

    Help and security

    • Availability
    • Status
    • Support
    • Discord

    Terms and policies

    • Privacy policy
    • Responsible disclosure policy
    • Terms of service: Commercial
    • Terms of service: Consumer
    • Usage policy
    Guides

    Gestion des Sessions

    Comprendre comment le SDK Claude Agent gère les sessions et la reprise de session

    Gestion des Sessions

    Le SDK Claude Agent fournit des capacités de gestion de session pour gérer l'état de conversation et la reprise. Les sessions vous permettent de continuer les conversations à travers plusieurs interactions tout en maintenant le contexte complet.

    Comment Fonctionnent les Sessions

    Lorsque vous démarrez une nouvelle requête, le SDK crée automatiquement une session et retourne un ID de session dans le message système initial. Vous pouvez capturer cet ID pour reprendre la session plus tard.

    Obtenir l'ID de Session

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Aidez-moi à construire une application web",
      options: {
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of response) {
      // Le premier message est un message d'initialisation système avec l'ID de session
      if (message.type === 'system' && message.subtype === 'init') {
        sessionId = message.session_id
        console.log(`Session démarrée avec l'ID : ${sessionId}`)
        // Vous pouvez sauvegarder cet ID pour une reprise ultérieure
      }
    
      // Traiter les autres messages...
      console.log(message)
    }
    
    // Plus tard, vous pouvez utiliser le sessionId sauvegardé pour reprendre
    if (sessionId) {
      const resumedResponse = query({
        prompt: "Continuez là où nous nous sommes arrêtés",
        options: {
          resume: sessionId
        }
      })
    }

    Reprendre les Sessions

    Le SDK prend en charge la reprise de sessions à partir d'états de conversation précédents, permettant des flux de travail de développement continus. Utilisez l'option resume avec un ID de session pour continuer une conversation précédente.

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // Reprendre une session précédente en utilisant son ID
    const response = query({
      prompt: "Continuez l'implémentation du système d'authentification là où nous nous sommes arrêtés",
      options: {
        resume: "session-xyz", // ID de session de la conversation précédente
        model: "claude-sonnet-4-5",
        allowedTools: ["Read", "Edit", "Write", "Glob", "Grep", "Bash"]
      }
    })
    
    // La conversation continue avec le contexte complet de la session précédente
    for await (const message of response) {
      console.log(message)
    }

    Le SDK gère automatiquement le chargement de l'historique de conversation et du contexte lorsque vous reprenez une session, permettant à Claude de continuer exactement là où il s'était arrêté.

    Bifurquer les Sessions

    Lors de la reprise d'une session, vous pouvez choisir soit de continuer la session originale soit de la bifurquer en une nouvelle branche. Par défaut, reprendre continue la session originale. Utilisez l'option forkSession (TypeScript) ou l'option fork_session (Python) pour créer un nouvel ID de session qui démarre à partir de l'état repris.

    Quand Bifurquer une Session

    La bifurcation est utile lorsque vous voulez :

    • Explorer différentes approches à partir du même point de départ
    • Créer plusieurs branches de conversation sans modifier l'originale
    • Tester des changements sans affecter l'historique de session original
    • Maintenir des chemins de conversation séparés pour différentes expériences

    Bifurquer vs Continuer

    ComportementforkSession: false (par défaut)forkSession: true
    ID de SessionIdentique à l'originalNouvel ID de session généré
    HistoriqueS'ajoute à la session originaleCrée une nouvelle branche à partir du point de reprise
    Session OriginaleModifiéePréservée inchangée
    Cas d'UsageContinuer une conversation linéaireBifurquer pour explorer des alternatives

    Exemple : Bifurquer une Session

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // D'abord, capturer l'ID de session
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Aidez-moi à concevoir une API REST",
      options: { model: "claude-sonnet-4-5" }
    })
    
    for await (const message of response) {
      if (message.type === 'system' && message.subtype === 'init') {
        sessionId = message.session_id
        console.log(`Session originale : ${sessionId}`)
      }
    }
    
    // Bifurquer la session pour essayer une approche différente
    const forkedResponse = query({
      prompt: "Maintenant, redessinons ceci comme une API GraphQL à la place",
      options: {
        resume: sessionId,
        forkSession: true,  // Crée un nouvel ID de session
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of forkedResponse) {
      if (message.type === 'system' && message.subtype === 'init') {
        console.log(`Session bifurquée : ${message.session_id}`)
        // Ce sera un ID de session différent
      }
    }
    
    // La session originale reste inchangée et peut toujours être reprise
    const originalContinued = query({
      prompt: "Ajoutez l'authentification à l'API REST",
      options: {
        resume: sessionId,
        forkSession: false,  // Continuer la session originale (par défaut)
        model: "claude-sonnet-4-5"
      }
    })
    • Comment Fonctionnent les Sessions
    • Obtenir l'ID de Session
    • Reprendre les Sessions
    • Bifurquer les Sessions
    • Quand Bifurquer une Session
    • Bifurquer vs Continuer
    • Exemple : Bifurquer une Session