Loading...
    • Guida per sviluppatori
    • Riferimento API
    • MCP
    • Risorse
    • Note di rilascio
    Search...
    ⌘K
    Primi passi
    Introduzione a ClaudeAvvio rapido
    Modelli e prezzi
    Panoramica dei modelliScelta di un modelloNovità in Claude 4.5Migrazione a Claude 4.5Deprecazioni dei modelliPrezzi
    Costruisci con Claude
    Panoramica delle funzionalitàUtilizzo dell'API MessagesFinestre di contestoBest practice per i prompt
    Capacità
    Prompt cachingModifica del contestoExtended thinkingSforzoStreaming di messaggiElaborazione batchCitazioniSupporto multilingueConteggio dei tokenEmbeddingsVisioneSupporto PDFAPI FilesRisultati di ricercaOutput strutturatiComponente aggiuntivo Google Sheets
    Strumenti
    PanoramicaCome implementare l'uso degli strumentiUso efficiente dei token con gli strumentiStreaming granulare degli strumentiStrumento BashStrumento di esecuzione del codiceChiamata programmatica degli strumentiStrumento Computer useStrumento Editor di testoStrumento Web fetchStrumento Web searchStrumento MemoryStrumento Tool search
    Agent Skills
    PanoramicaAvvio rapidoBest practiceUtilizzo di Skills con l'API
    Agent SDK
    PanoramicaTypeScript SDKPython SDKGuida alla migrazione
    Guide
    Streaming InputGestione dei permessiGestione delle sessioniOutput strutturati nell'SDKHosting dell'Agent SDKModifica dei prompt di sistemaMCP nell'SDKStrumenti personalizzatiSubagent nell'SDKSlash Commands nell'SDKAgent Skills nell'SDKTracciamento dei costi e dell'utilizzoElenchi di attivitàPlugin nell'SDK
    MCP nell'API
    Connettore MCPServer MCP remoti
    Claude su piattaforme di terze parti
    Amazon BedrockMicrosoft FoundryVertex AI
    Prompt engineering
    PanoramicaGeneratore di promptUsa modelli di promptMiglioratore di promptSii chiaro e direttoUsa esempi (multishot prompting)Lascia che Claude pensi (CoT)Usa tag XMLDai a Claude un ruolo (prompt di sistema)Precompila la risposta di ClaudeConcatena prompt complessiSuggerimenti per il contesto lungoSuggerimenti per extended thinking
    Test e valutazione
    Definisci i criteri di successoSviluppa casi di testUtilizzo dello strumento di valutazioneRiduzione della latenza
    Rafforza i guardrail
    Riduci le allucinazioniAumenta la coerenza dell'outputMitiga i jailbreakStreaming dei rifiutiRiduci la perdita di promptMantieni Claude nel personaggio
    Amministrazione e monitoraggio
    Panoramica dell'Admin APIAPI di utilizzo e costiAPI Claude Code Analytics
    Console
    Log in
    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
    Guide

    Gestione delle Sessioni

    Comprendere come il Claude Agent SDK gestisce le sessioni e la ripresa delle sessioni

    Gestione delle Sessioni

    Il Claude Agent SDK fornisce capacità di gestione delle sessioni per gestire lo stato delle conversazioni e la ripresa. Le sessioni ti permettono di continuare le conversazioni attraverso più interazioni mantenendo il contesto completo.

    Come Funzionano le Sessioni

    Quando avvii una nuova query, l'SDK crea automaticamente una sessione e restituisce un ID di sessione nel messaggio di sistema iniziale. Puoi catturare questo ID per riprendere la sessione in seguito.

    Ottenere l'ID di Sessione

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Aiutami a costruire un'applicazione web",
      options: {
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of response) {
      // Il primo messaggio è un messaggio di inizializzazione del sistema con l'ID di sessione
      if (message.type === 'system' && message.subtype === 'init') {
        sessionId = message.session_id
        console.log(`Sessione avviata con ID: ${sessionId}`)
        // Puoi salvare questo ID per la ripresa successiva
      }
    
      // Elabora altri messaggi...
      console.log(message)
    }
    
    // Successivamente, puoi usare il sessionId salvato per riprendere
    if (sessionId) {
      const resumedResponse = query({
        prompt: "Continua da dove avevamo lasciato",
        options: {
          resume: sessionId
        }
      })
    }

    Riprendere le Sessioni

    L'SDK supporta la ripresa delle sessioni da stati di conversazione precedenti, abilitando flussi di lavoro di sviluppo continui. Usa l'opzione resume con un ID di sessione per continuare una conversazione precedente.

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // Riprendi una sessione precedente usando il suo ID
    const response = query({
      prompt: "Continua a implementare il sistema di autenticazione da dove avevamo lasciato",
      options: {
        resume: "session-xyz", // ID di sessione dalla conversazione precedente
        model: "claude-sonnet-4-5",
        allowedTools: ["Read", "Edit", "Write", "Glob", "Grep", "Bash"]
      }
    })
    
    // La conversazione continua con il contesto completo dalla sessione precedente
    for await (const message of response) {
      console.log(message)
    }

    L'SDK gestisce automaticamente il caricamento della cronologia delle conversazioni e del contesto quando riprendi una sessione, permettendo a Claude di continuare esattamente da dove aveva lasciato.

    Biforcazione delle Sessioni

    Quando riprendi una sessione, puoi scegliere di continuare la sessione originale o biforcala in un nuovo ramo. Per impostazione predefinita, la ripresa continua la sessione originale. Usa l'opzione forkSession (TypeScript) o l'opzione fork_session (Python) per creare un nuovo ID di sessione che inizia dallo stato ripreso.

    Quando Biforcare una Sessione

    La biforcazione è utile quando vuoi:

    • Esplorare approcci diversi dallo stesso punto di partenza
    • Creare più rami di conversazione senza modificare l'originale
    • Testare modifiche senza influenzare la cronologia della sessione originale
    • Mantenere percorsi di conversazione separati per esperimenti diversi

    Biforcazione vs Continuazione

    ComportamentoforkSession: false (predefinito)forkSession: true
    ID di SessioneStesso dell'originaleNuovo ID di sessione generato
    CronologiaSi aggiunge alla sessione originaleCrea un nuovo ramo dal punto di ripresa
    Sessione OriginaleModificataPreservata invariata
    Caso d'UsoContinua conversazione lineareBiforca per esplorare alternative

    Esempio: Biforcazione di una Sessione

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // Prima, cattura l'ID di sessione
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Aiutami a progettare un'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(`Sessione originale: ${sessionId}`)
      }
    }
    
    // Biforca la sessione per provare un approccio diverso
    const forkedResponse = query({
      prompt: "Ora riprogettiamolacome un'API GraphQL invece",
      options: {
        resume: sessionId,
        forkSession: true,  // Crea un nuovo ID di sessione
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of forkedResponse) {
      if (message.type === 'system' && message.subtype === 'init') {
        console.log(`Sessione biforcata: ${message.session_id}`)
        // Questo sarà un ID di sessione diverso
      }
    }
    
    // La sessione originale rimane invariata e può ancora essere ripresa
    const originalContinued = query({
      prompt: "Aggiungi l'autenticazione all'API REST",
      options: {
        resume: sessionId,
        forkSession: false,  // Continua la sessione originale (predefinito)
        model: "claude-sonnet-4-5"
      }
    })
    • Come Funzionano le Sessioni
    • Ottenere l'ID di Sessione
    • Riprendere le Sessioni
    • Biforcazione delle Sessioni
    • Quando Biforcare una Sessione
    • Biforcazione vs Continuazione
    • Esempio: Biforcazione di una Sessione