Loading...
    • Guía para desarrolladores
    • Referencia de API
    • MCP
    • Recursos
    • Notas de la versión
    Search...
    ⌘K
    Primeros pasos
    Introducción a ClaudeInicio rápido
    Modelos y precios
    Descripción general de modelosElegir un modeloNovedades en Claude 4.5Migración a Claude 4.5Deprecación de modelosPrecios
    Construir con Claude
    Descripción general de característicasUsar la API de MessagesVentanas de contextoMejores prácticas de prompting
    Capacidades
    Almacenamiento en caché de promptsEdición de contextoPensamiento extendidoEsfuerzoStreaming de MessagesProcesamiento por lotesCitasSoporte multilingüeConteo de tokensEmbeddingsVisiónSoporte de PDFAPI de FilesResultados de búsquedaSalidas estructuradasComplemento de Google Sheets
    Herramientas
    Descripción generalCómo implementar el uso de herramientasUso eficiente de herramientas en tokensStreaming de herramientas de grano finoHerramienta BashHerramienta de ejecución de códigoLlamada de herramientas programáticaHerramienta de uso de computadoraHerramienta de editor de textoHerramienta de búsqueda webHerramienta de búsqueda webHerramienta de memoriaHerramienta de búsqueda de herramientas
    Habilidades del agente
    Descripción generalInicio rápidoMejores prácticasUsar habilidades con la API
    SDK del agente
    Descripción generalSDK de TypeScriptSDK de PythonGuía de migración
    Guías
    Entrada de streamingManejo de permisosGestión de sesionesSalidas estructuradas en el SDKAlojamiento del SDK del agenteModificar prompts del sistemaMCP en el SDKHerramientas personalizadasSuagentes en el SDKComandos de barra en el SDKHabilidades del agente en el SDKSeguimiento de costos y usoListas de tareasComplementos en el SDK
    MCP en la API
    Conector MCPServidores MCP remotos
    Claude en plataformas de terceros
    Amazon BedrockMicrosoft FoundryVertex AI
    Ingeniería de prompts
    Descripción generalGenerador de promptsUsar plantillas de promptsMejorador de promptsSé claro y directoUsar ejemplos (prompting multishot)Dejar pensar a Claude (CoT)Usar etiquetas XMLDale un rol a Claude (prompts del sistema)Rellenar la respuesta de ClaudeEncadenar prompts complejosConsejos de contexto largoConsejos de pensamiento extendido
    Probar y evaluar
    Definir criterios de éxitoDesarrollar casos de pruebaUsar la herramienta de evaluaciónReducir latencia
    Fortalecer protecciones
    Reducir alucinacionesAumentar consistencia de salidaMitigar ataques de jailbreakRechazos de streamingReducir fuga de promptsMantener a Claude en personaje
    Administración y monitoreo
    Descripción general de Admin APIAPI de uso y costosAPI de análisis de Claude Code
    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
    Guías

    Gestión de Sesiones

    Entendiendo cómo el Claude Agent SDK maneja las sesiones y la reanudación de sesiones

    Gestión de Sesiones

    El Claude Agent SDK proporciona capacidades de gestión de sesiones para manejar el estado de conversación y la reanudación. Las sesiones te permiten continuar conversaciones a través de múltiples interacciones mientras mantienes el contexto completo.

    Cómo Funcionan las Sesiones

    Cuando inicias una nueva consulta, el SDK crea automáticamente una sesión y devuelve un ID de sesión en el mensaje inicial del sistema. Puedes capturar este ID para reanudar la sesión más tarde.

    Obteniendo el ID de Sesión

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Ayúdame a construir una aplicación web",
      options: {
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of response) {
      // El primer mensaje es un mensaje de inicialización del sistema con el ID de sesión
      if (message.type === 'system' && message.subtype === 'init') {
        sessionId = message.session_id
        console.log(`Sesión iniciada con ID: ${sessionId}`)
        // Puedes guardar este ID para reanudación posterior
      }
    
      // Procesar otros mensajes...
      console.log(message)
    }
    
    // Más tarde, puedes usar el sessionId guardado para reanudar
    if (sessionId) {
      const resumedResponse = query({
        prompt: "Continúa donde lo dejamos",
        options: {
          resume: sessionId
        }
      })
    }

    Reanudando Sesiones

    El SDK soporta reanudar sesiones desde estados de conversación previos, habilitando flujos de trabajo de desarrollo continuo. Usa la opción resume con un ID de sesión para continuar una conversación previa.

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // Reanudar una sesión previa usando su ID
    const response = query({
      prompt: "Continúa implementando el sistema de autenticación desde donde lo dejamos",
      options: {
        resume: "session-xyz", // ID de sesión de conversación previa
        model: "claude-sonnet-4-5",
        allowedTools: ["Read", "Edit", "Write", "Glob", "Grep", "Bash"]
      }
    })
    
    // La conversación continúa con contexto completo de la sesión previa
    for await (const message of response) {
      console.log(message)
    }

    El SDK maneja automáticamente la carga del historial de conversación y contexto cuando reanudas una sesión, permitiendo a Claude continuar exactamente donde lo dejó.

    Bifurcando Sesiones

    Al reanudar una sesión, puedes elegir continuar la sesión original o bifurcarla en una nueva rama. Por defecto, reanudar continúa la sesión original. Usa la opción forkSession (TypeScript) o la opción fork_session (Python) para crear un nuevo ID de sesión que comience desde el estado reanudado.

    Cuándo Bifurcar una Sesión

    Bifurcar es útil cuando quieres:

    • Explorar diferentes enfoques desde el mismo punto de partida
    • Crear múltiples ramas de conversación sin modificar la original
    • Probar cambios sin afectar el historial de la sesión original
    • Mantener rutas de conversación separadas para diferentes experimentos

    Bifurcar vs Continuar

    ComportamientoforkSession: false (por defecto)forkSession: true
    ID de SesiónIgual que el originalNuevo ID de sesión generado
    HistorialSe añade a la sesión originalCrea nueva rama desde el punto de reanudación
    Sesión OriginalModificadaPreservada sin cambios
    Caso de UsoContinuar conversación linealBifurcar para explorar alternativas

    Ejemplo: Bifurcando una Sesión

    import { query } from "@anthropic-ai/claude-agent-sdk"
    
    // Primero, capturar el ID de sesión
    let sessionId: string | undefined
    
    const response = query({
      prompt: "Ayúdame a diseñar una 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(`Sesión original: ${sessionId}`)
      }
    }
    
    // Bifurcar la sesión para probar un enfoque diferente
    const forkedResponse = query({
      prompt: "Ahora rediseñemos esto como una API GraphQL en su lugar",
      options: {
        resume: sessionId,
        forkSession: true,  // Crea un nuevo ID de sesión
        model: "claude-sonnet-4-5"
      }
    })
    
    for await (const message of forkedResponse) {
      if (message.type === 'system' && message.subtype === 'init') {
        console.log(`Sesión bifurcada: ${message.session_id}`)
        // Este será un ID de sesión diferente
      }
    }
    
    // La sesión original permanece sin cambios y aún puede ser reanudada
    const originalContinued = query({
      prompt: "Añade autenticación a la API REST",
      options: {
        resume: sessionId,
        forkSession: false,  // Continuar sesión original (por defecto)
        model: "claude-sonnet-4-5"
      }
    })
    • Cómo Funcionan las Sesiones
    • Obteniendo el ID de Sesión
    • Reanudando Sesiones
    • Bifurcando Sesiones
    • Cuándo Bifurcar una Sesión
    • Bifurcar vs Continuar
    • Ejemplo: Bifurcando una Sesión