Entendiendo la ventana de contexto

La “ventana de contexto” se refiere a la totalidad del texto que un modelo de lenguaje puede consultar y referenciar cuando genera nuevo texto, más el nuevo texto que genera. Esto es diferente del gran corpus de datos con el que se entrenó el modelo de lenguaje, y en su lugar representa una “memoria de trabajo” para el modelo. Una ventana de contexto más grande permite que el modelo entienda y responda a indicaciones más complejas y extensas, mientras que una ventana de contexto más pequeña puede limitar la capacidad del modelo para manejar indicaciones más largas o mantener la coherencia en conversaciones extensas.

El diagrama a continuación ilustra el comportamiento estándar de la ventana de contexto para las solicitudes de API1:

1Para interfaces de chat, como claude.ai, las ventanas de contexto también se pueden configurar en un sistema de “primero en entrar, primero en salir”.

  • Acumulación progresiva de tokens: A medida que la conversación avanza por turnos, cada mensaje del usuario y respuesta del asistente se acumula dentro de la ventana de contexto. Los turnos anteriores se conservan completamente.
  • Patrón de crecimiento lineal: El uso del contexto crece linealmente con cada turno, conservando completamente los turnos anteriores.
  • Capacidad de 200K tokens: La ventana de contexto total disponible (200,000 tokens) representa la capacidad máxima para almacenar el historial de conversación y generar nueva salida de Claude.
  • Flujo de entrada-salida: Cada turno consiste en:
    • Fase de entrada: Contiene todo el historial de conversación anterior más el mensaje actual del usuario
    • Fase de salida: Genera una respuesta de texto que se convierte en parte de una entrada futura

La ventana de contexto con pensamiento extendido

Cuando se utiliza el pensamiento extendido, todos los tokens de entrada y salida, incluidos los tokens utilizados para pensar, cuentan para el límite de la ventana de contexto, con algunos matices en situaciones de múltiples turnos.

Los tokens del presupuesto de pensamiento son un subconjunto de tu parámetro max_tokens, se facturan como tokens de salida y cuentan para los límites de tasa.

Sin embargo, los bloques de pensamiento anteriores son automáticamente eliminados del cálculo de la ventana de contexto por la API de Anthropic y no forman parte del historial de conversación que el modelo “ve” para los turnos subsiguientes, preservando la capacidad de tokens para el contenido real de la conversación.

El diagrama a continuación demuestra la gestión especializada de tokens cuando el pensamiento extendido está habilitado:

  • Eliminación del pensamiento extendido: Los bloques de pensamiento extendido (mostrados en gris oscuro) se generan durante la fase de salida de cada turno, pero no se transmiten como tokens de entrada para los turnos subsiguientes. No necesitas eliminar los bloques de pensamiento tú mismo. La API de Anthropic lo hace automáticamente si los devuelves.
  • Detalles técnicos de implementación:
    • La API excluye automáticamente los bloques de pensamiento de turnos anteriores cuando los devuelves como parte del historial de conversación.
    • Los tokens de pensamiento extendido se facturan como tokens de salida solo una vez, durante su generación.
    • El cálculo efectivo de la ventana de contexto se convierte en: context_window = (input_tokens - previous_thinking_tokens) + current_turn_tokens.
    • Los tokens de pensamiento incluyen tanto bloques thinking como bloques redacted_thinking.

Esta arquitectura es eficiente en tokens y permite un razonamiento extenso sin desperdicio de tokens, ya que los bloques de pensamiento pueden ser sustanciales en longitud.

Puedes leer más sobre la ventana de contexto y el pensamiento extendido en nuestra guía de pensamiento extendido.

La ventana de contexto con pensamiento extendido y uso de herramientas

El diagrama a continuación ilustra la gestión de tokens de la ventana de contexto cuando se combina el pensamiento extendido con el uso de herramientas:

1

Arquitectura del primer turno

  • Componentes de entrada: Configuración de herramientas y mensaje del usuario
  • Componentes de salida: Pensamiento extendido + respuesta de texto + solicitud de uso de herramienta
  • Cálculo de tokens: Todos los componentes de entrada y salida cuentan para la ventana de contexto, y todos los componentes de salida se facturan como tokens de salida.
2

Manejo de resultados de herramientas (turno 2)

  • Componentes de entrada: Cada bloque en el primer turno así como el tool_result. El bloque de pensamiento extendido debe devolverse con los resultados de herramienta correspondientes. Este es el único caso en el que tienes que devolver bloques de pensamiento.
  • Componentes de salida: Después de que los resultados de la herramienta han sido devueltos a Claude, Claude responderá solo con texto (sin pensamiento extendido adicional hasta el siguiente mensaje del usuario).
  • Cálculo de tokens: Todos los componentes de entrada y salida cuentan para la ventana de contexto, y todos los componentes de salida se facturan como tokens de salida.
3

Tercer paso

  • Componentes de entrada: Todas las entradas y la salida del turno anterior se transmiten con la excepción del bloque de pensamiento, que puede eliminarse ahora que Claude ha completado todo el ciclo de uso de herramientas. La API eliminará automáticamente el bloque de pensamiento si lo devuelves, o puedes eliminarlo tú mismo en esta etapa. Aquí es también donde agregarías el siguiente turno del Usuario.
  • Componentes de salida: Ya que hay un nuevo turno del Usuario fuera del ciclo de uso de herramientas, Claude generará un nuevo bloque de pensamiento extendido y continuará desde allí.
  • Cálculo de tokens: Los tokens de pensamiento anteriores se eliminan automáticamente de los cálculos de la ventana de contexto. Todos los otros bloques anteriores aún cuentan como parte de la ventana de tokens, y el bloque de pensamiento en el turno actual del Asistente cuenta como parte de la ventana de contexto.
  • Consideraciones para el uso de herramientas con pensamiento extendido:
    • Al publicar resultados de herramientas, debe incluirse todo el bloque de pensamiento sin modificar que acompaña a esa solicitud de herramienta específica (incluidas las partes de firma/redactadas).
    • El sistema utiliza firmas criptográficas para verificar la autenticidad del bloque de pensamiento. No preservar los bloques de pensamiento durante el uso de herramientas puede romper la continuidad del razonamiento de Claude. Por lo tanto, si modificas los bloques de pensamiento, la API devolverá un error.

No hay entrelazamiento de pensamiento extendido y llamadas a herramientas - no verás pensamiento extendido, luego llamadas a herramientas, luego más pensamiento extendido, sin un turno de usuario que no sea tool_result entre medio. Además, el uso de herramientas dentro del bloque de pensamiento extendido no está actualmente soportado, aunque Claude puede razonar sobre qué herramientas debería usar y cómo llamarlas dentro del bloque de pensamiento.

Puedes leer más sobre el uso de herramientas con pensamiento extendido en nuestra guía de pensamiento extendido

Gestión de la ventana de contexto con modelos Claude más nuevos

En los modelos Claude más nuevos (comenzando con Claude 3.7 Sonnet), si la suma de tokens de indicación y tokens de salida excede la ventana de contexto del modelo, el sistema devolverá un error de validación en lugar de truncar silenciosamente el contexto. Este cambio proporciona un comportamiento más predecible pero requiere una gestión más cuidadosa de los tokens.

Para planificar tu uso de tokens y asegurarte de mantenerte dentro de los límites de la ventana de contexto, puedes usar la API de conteo de tokens para estimar cuántos tokens utilizarán tus mensajes antes de enviarlos a Claude.

Consulta nuestra tabla de comparación de modelos para ver una lista de tamaños de ventana de contexto por modelo.

Siguientes pasos