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

    Entrada de Streaming

    Comprendiendo los dos modos de entrada para Claude Agent SDK y cuándo usar cada uno

    Descripción General

    El Claude Agent SDK admite dos modos de entrada distintos para interactuar con agentes:

    • Modo de Entrada de Streaming (Predeterminado y Recomendado) - Una sesión interactiva persistente
    • Entrada de Mensaje Único - Consultas de una sola vez que usan el estado de sesión y la reanudación

    Esta guía explica las diferencias, beneficios y casos de uso para cada modo para ayudarte a elegir el enfoque correcto para tu aplicación.

    Modo de Entrada de Streaming (Recomendado)

    El modo de entrada de streaming es la forma preferida de usar el Claude Agent SDK. Proporciona acceso completo a las capacidades del agente y permite experiencias ricas e interactivas.

    Permite que el agente opere como un proceso de larga duración que recibe entrada del usuario, maneja interrupciones, presenta solicitudes de permisos y gestiona la administración de sesiones.

    Cómo Funciona

    Beneficios

    Subida de Imágenes

    Adjunta imágenes directamente a los mensajes para análisis visual y comprensión

    Mensajes en Cola

    Envía múltiples mensajes que se procesan secuencialmente, con capacidad de interrumpir

    Integración de Herramientas

    Acceso completo a todas las herramientas y servidores MCP personalizados durante la sesión

    Soporte de Hooks

    Usa hooks de ciclo de vida para personalizar el comportamiento en varios puntos

    Retroalimentación en Tiempo Real

    Ve las respuestas mientras se generan, no solo los resultados finales

    Persistencia de Contexto

    Mantén el contexto de conversación a través de múltiples turnos naturalmente

    Ejemplo de Implementación

    import { query } from "@anthropic-ai/claude-agent-sdk";
    import { readFileSync } from "fs";
    
    async function* generateMessages() {
      // Primer mensaje
      yield {
        type: "user" as const,
        message: {
          role: "user" as const,
          content: "Analiza esta base de código para problemas de seguridad"
        }
      };
      
      // Esperar condiciones o entrada del usuario
      await new Promise(resolve => setTimeout(resolve, 2000));
      
      // Seguimiento con imagen
      yield {
        type: "user" as const,
        message: {
          role: "user" as const,
          content: [
            {
              type: "text",
              text: "Revisa este diagrama de arquitectura"
            },
            {
              type: "image",
              source: {
                type: "base64",
                media_type: "image/png",
                data: readFileSync("diagram.png", "base64")
              }
            }
          ]
        }
      };
    }
    
    // Procesar respuestas de streaming
    for await (const message of query({
      prompt: generateMessages(),
      options: {
        maxTurns: 10,
        allowedTools: ["Read", "Grep"]
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }

    Entrada de Mensaje Único

    La entrada de mensaje único es más simple pero más limitada.

    Cuándo Usar Entrada de Mensaje Único

    Usa entrada de mensaje único cuando:

    • Necesites una respuesta de una sola vez
    • No necesites adjuntos de imagen, hooks, etc.
    • Necesites operar en un entorno sin estado, como una función lambda

    Limitaciones

    El modo de entrada de mensaje único no admite:

    • Adjuntos de imagen directos en mensajes
    • Encolado dinámico de mensajes
    • Interrupción en tiempo real
    • Integración de hooks
    • Conversaciones multi-turno naturales

    Ejemplo de Implementación

    import { query } from "@anthropic-ai/claude-agent-sdk";
    
    // Consulta simple de una sola vez
    for await (const message of query({
      prompt: "Explica el flujo de autenticación",
      options: {
        maxTurns: 1,
        allowedTools: ["Read", "Grep"]
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }
    
    // Continuar conversación con gestión de sesión
    for await (const message of query({
      prompt: "Ahora explica el proceso de autorización",
      options: {
        continue: true,
        maxTurns: 1
      }
    })) {
      if (message.type === "result") {
        console.log(message.result);
      }
    }
    • Descripción General
    • Modo de Entrada de Streaming (Recomendado)
    • Cómo Funciona
    • Beneficios
    • Ejemplo de Implementación
    • Entrada de Mensaje Único
    • Cuándo Usar Entrada de Mensaje Único
    • Limitaciones
    • Ejemplo de Implementación