1. Qué cambia con la actualización del 2 de noviembre
A fecha de 4 de noviembre de 2026, la novedad publicada por Anthropic el día 2 es Message Threads en beta. La primera petición envía el historial y las siguientes solo los mensajes nuevos y el identificador de la respuesta anterior. Optimiza la carga y el procesamiento repetidos; no amplía la ventana de contexto. La marca de agua anunciada el día 3 es una función distinta.
OpenAI permite enlazar Responses mediante previous_response_id o usar un objeto Conversations. Conviene comparar la propiedad del registro, la herencia de instrucciones y la recuperación. Las propuestas de esta guía son análisis editorial: no hemos medido rendimiento ni ejecutado pruebas sobre datos de clientes.
Claude Platform release notes · Claude Message threads · OpenAI conversation state
2. Cuatro contratos de estado
Separa la conversación empresarial, el puntero del proveedor y el diario de acciones terminadas. La aplicación conserva el registro principal; el identificador remoto es una optimización del adaptador. Confundirlos dificulta recuperar un proceso o cambiar de proveedor sin repetir acciones.
La tabla compara contratos, no calidad de los modelos. Revisa también el proyecto, los modelos autorizados y los controles de datos. Message Threads de Messages API no es la misma función que session threads de Claude Managed Agents.
| Modo | Quién conserva el contexto | Continuación y recuperación |
|---|---|---|
| Historial de la aplicación | Diario completo propio | Reproducción y borrado propios |
| Claude Message Threads | Estado temporal remoto y copia propia | Caduca en 5 minutos; reconstruir ante thread_not_found |
| OpenAI previous_response_id | Cadena de Responses | Reenviar instructions; revisar almacenamiento |
| OpenAI Conversations | Objeto de conversación persistente | Gestionar conversación y retención específicas |
3. Ejemplo mínimo de dos turnos
El ejemplo usa un ticket sintético. Instala el SDK oficial con el helper documentado, fija su versión y configura modelos disponibles en proyectos aprobados. Es una ilustración sin ejecutar; enviarla a las API genera cargos.
El helper de Claude añade la cabecera beta al crear el hilo en el primer envío. En OpenAI se repite instructions: previous_response_id no hereda las instrucciones de nivel superior de la respuesta anterior. El adaptador debe representar esa diferencia de forma explícita.
# Documentation example only; not executed for this article.
# Use approved API projects and synthetic input. Requests incur API charges.
import os
import anthropic
from openai import OpenAI
rules = "Use only the synthetic fixture and cite its ticket ID."
a = anthropic.Anthropic()
thread = a.beta.messages.thread(
model=os.environ["CLAUDE_MODEL"], max_tokens=256, system=rules
)
thread.send({"role": "user", "content": "SYN-1: delivery is on Friday."})
reply_a = thread.send({"role": "user", "content": "Which day for SYN-1?"})
# Stored-state example: use only where the project's retention policy permits it.
o = OpenAI()
first = o.responses.create(
model=os.environ["OPENAI_MODEL"], instructions=rules,
input="SYN-1: delivery is on Friday.", store=True
)
reply_o = o.responses.create(
model=os.environ["OPENAI_MODEL"], instructions=rules,
previous_response_id=first.id, input="Which day for SYN-1?", store=True
)
Claude Message threads · Anthropic Python SDK thread helper · OpenAI Responses create: instructions
4. Transferencia y facturación se miden por separado
Un hilo no activa automáticamente la caché. Claude necesita sus controles de caché y OpenAI sigue facturando la entrada histórica de una cadena. Un cuerpo HTTP más pequeño no demuestra que todo el trabajo anterior sea gratuito ni que la latencia baje un porcentaje fijo.
Ejemplo aritmético original: con 8000 unidades de texto iniciales, 700 nuevas por turno posterior y 20 turnos, reenviar todo suma 293000 unidades; el envío incremental suma 21300. No incluye respuestas ni protocolo y no representa tokens facturados. Mide bytes UTF-8, caché, reintentos y coste por tarea aceptada.
Claude Message threads · OpenAI conversation state · Claude prompt caching · OpenAI prompt caching
5. La caducidad como ruta normal
Los hilos de Claude caducan a los cinco minutos desde la última petición y se eliminan, como máximo, una hora después del último uso. Caducidad y eliminación no son el mismo momento. Conserva el historial completo en tu aplicación; la memoria del helper no sobrevive al proceso.
Una respuesta correcta tampoco confirma que se guardó ese turno. Si aparece thread_not_found, reconstruye un hilo desde el historial completo. Antes de reproducir contexto, consulta qué acciones empresariales ya terminaron. El diagrama propone una recuperación que evita repetirlas.
- Guardar entrada y versión de configuración
- Obtener un único escritor y el último ID
- Enviar mensajes nuevos con correlación
- Éxito: guardar ID y recibos de herramientas
- Caducidad: reconstruir desde el diario
- Estado incierto: conciliar antes de repetir
6. Concurrencia y efectos de las herramientas
Cada ID de respuesta de Claude admite una sola continuación. Dos trabajadores pueden recibir thread_already_continued o thread_continue_in_flight. Un cambio de configuración fija puede producir thread_fingerprint_mismatch. Los errores de validación documentados se producen antes de la inferencia; no generalices esa propiedad a cualquier timeout.
Usa una cola con un escritor por conversación y una revisión de base de datos para actualizar el puntero. Las herramientas necesitan su propia clave de idempotencia y recibos persistidos. Tras una desconexión, comprueba esos recibos antes de volver a enviar un correo, cobrar o crear un ticket.
7. Elegir según la retención permitida
Message Threads no cumple actualmente los requisitos de ZDR. El contenido se mantiene cifrado en memoria del servidor y no se escribe en almacenamiento duradero, pero sigue existiendo retención temporal. Responses y Conversations de OpenAI requieren revisar sus controles específicos.
Elige primero la política de conservación permitida. En una reproducción gestionada por tu aplicación, conserva los elementos de respuesta y sus relaciones con llamadas de herramientas, no solo el texto final. Aplica permisos por usuario e inquilino y una política de borrado a tu propia copia.
Claude Message threads · OpenAI API data controls · Claude API data retention
8. Pruebas que pueden detectar fallos
Prepara tareas sintéticas con respuesta conocida: conversaciones cortas y largas, herramientas, caducidad, reinicio del trabajador y dos envíos simultáneos. Compara primero dos modos sobre el mismo modelo. Cambiar también proveedor, modelo y caché impediría atribuir el resultado.
Registra aceptación, peticiones, bytes, primer token, duración completa, tokens y caché, recuperaciones, acciones duplicadas y coste bruto. Incluye los fallos. Una mejora de latencia no compensa referencias incorrectas, pérdida de historial o efectos externos duplicados.
9. Despliegue y mantenimiento
Empieza por una tarea de lectura con historial largo y conserva el adaptador de reproducción completa. Fija el modelo y la configuración por conversación; si cambian system o tools, crea un estado nuevo.
Revisa conjuntamente caducidad, recuperación, exactitud y coste por tarea aceptada. Si el beneficio es pequeño o la retención no encaja, mantener historial local sigue siendo una decisión válida. La suscripción de chat no sustituye los permisos del proyecto API.