Guía de prompting de GPT-5.6: dos defaults que facturan 1,5x y 10x más
Contenido
Hacer buen prompting con GPT-5.6 se reduce casi todo a dos parámetros del request, y ambos vienen con el default caro. En nuestra matriz de 50 llamadas, omitir reasoning_effort facturó 1,5x más que fijarlo en "none", con respuestas idénticas; dejar sin marcar un prefijo estable lo factura a 10x la tarifa de lectura cacheada en cada llamada. Esta guía es el playbook de forma de request que sale de las mediciones de nuestra guía de costes de GPT-5.6: cómo se ve un request bien armado, cómo ajustar el nivel de esfuerzo según la tarea, cómo estructurar un prompt para que la cache trabaje, y qué se rompe al portar prompts desde GPT-5.5.
TL;DR
- Fija
reasoning_efforten todos los requests de GPT-5.6: omitirlo facturó 1,5x más que"none"con respuestas idénticas en nuestra matriz de 4 tareas. - Los niveles aceptados van de
noneaxhigh;"max"devuelve un 400 tanto en Sol como en Terra. - Marca los prefijos estables con breakpoints de cache explícitos: las lecturas cacheadas facturan al 10% de la tarifa de input y las escrituras al 1,25x, así que marca lo que se repite, no lo que solo parece estable.
prompt_cache_optionsy los breakpoints devuelven un 400 en GPT-5.5 y anteriores; controla el rollout por versión.
¿Cómo debería verse un request de GPT-5.6?
Parte de esta forma y borra lo que no necesites. Fija las dos palancas de forma explícita en lugar de heredar los defaults caros:
{
"model": "gpt-5.6-terra",
"reasoning_effort": "low",
"prompt_cache_options": { "mode": "explicit", "ttl": "30m" },
"prompt_cache_key": "tenant-42",
"messages": [
{ "role": "system", "content": "…stable instructions…",
"prompt_cache_breakpoint": { "mode": "explicit" } },
{ "role": "user", "content": "…the part that changes per request…" }
]
}
La regla de orden detrás de esto: todo lo estable va antes del breakpoint, todo lo que cambia por request va después, y nada dinámico (timestamps, nombres de usuario, documentos recuperados que difieren en cada llamada) debe quedar dentro del bloque marcado, porque un solo byte que cambie vuelve a facturar el bloque con la prima de escritura del 1,25x. El prompt_cache_key enruta las repeticiones a la misma cache; usa una clave estable por tenant o sesión, y ten en cuenta el límite blando documentado de unos 15 requests por minuto por clave.
¿Cómo deberías configurar reasoning_effort?
Siempre de forma explícita: lo único que hay que evitar es no configurarlo. En nuestras mediciones, las peticiones sin reasoning_effort costaron 1,5 veces más que las fijadas en "none", y las respuestas fueron idénticas en toda la matriz. Los valores aceptados son none, low, medium, high, xhigh; "max" se rechaza con un 400 que lista el rango válido. Esto es lo que compró el ajuste en nuestra verificación matemática de una línea, sobre Luna:
reasoning_effort | Tokens de razonamiento | Respuesta | Coste por llamada |
|---|---|---|---|
none | 0 | correcta | $0.000062 |
low | 52 | correcta | $0.000410 |
medium | 85 | correcta | $0.000608 |
high | 74 | correcta | $0.000542 |
GPT-5.6 fue la única familia de nuestro estudio de anatomía del uso de tokens que mantuvo la respuesta correcta con el pensamiento totalmente desactivado en esa verificación, lo que hace de none un valor por defecto defendible para extracción, clasificación, formateo y llamadas con forma de retrieval. Cuando sí razona, los tokens son invisibles y se facturan a la tarifa de salida completa: el 88% del cargo de salida en el ejemplo matemático con el ajuste por defecto fue cadena de razonamiento que no puedes leer. Sube el dial cuando tus evals digan que la tarea lo necesita, no porque el valor por defecto ya lo haya gastado.
¿Cómo estructurar un prompt para que la caché rinda?
Organiza el prompt en capas por orden de estabilidad y márcalas: primero las instrucciones de sistema, luego las definiciones de tools, después los documentos de referencia, cada una terminando en un breakpoint, con el turno volátil del usuario tras la última marca. Tienes cuatro escrituras de caché por petición; en el modo implícito por defecto, un breakpoint automático sobre el último mensaje consume una de ellas, así que el modo explícito te da las cuatro completas y, más importante, cachea solo lo que marcas.
La ganancia está en la reutilización parcial, y está medida. Con un bloque estable A y una cola B intercambiada, el medidor volvió a facturar solo la cola: 1.212 tokens leídos a la tarifa cacheada, 1.210 escritos de nuevo a la tarifa premium, de un prompt de 2.431 tokens, cuadrando con el tarifario hasta el dígito. De ahí salen tres reglas de presupuesto:
- Las lecturas se facturan al 10% de la tarifa de entrada, así que un prefijo por capas en caliente aplana el lado de entrada de la factura.
- Las escrituras se facturan a 1,25x, así que un bloque marcado que nunca se vuelve a leer cuesta un 25% más que no cachearlo. Marca lo que se repite, no todo lo que parece estable.
- En repeticiones completas la longitud coincidente puede caer por debajo de la marca (1.897 cacheados de una escritura de 2.422 tokens en una prueba), así que presupuesta sobre la tarifa con descuento, no sobre conteos de coincidencia exacta; nuestro estudio de mínimos de caché tiene los pisos por familia.
El piso de ttl: "30m" es un mínimo garantizado, no un tope, y es 6 veces los 5 minutos por defecto de Claude; ya no hay un nivel de 24 horas, así que las cargas de batch diario que se apoyaban en retención extendida deberían recalcular el punto de equilibrio.
¿Qué se rompe al portar prompts desde GPT-5.5?
Dos cosas se rompen de forma ruidosa y una en silencio. Ruidosas: prompt_cache_options y prompt_cache_breakpoint devuelven un 400 limpio en GPT-5.5 y anteriores (prompt_cache_options is not supported on this model), así que cualquier constructor de prompts compartido necesita una compuerta por versión. También ruidosa: el effort "max", que algunas configuraciones de 5.5 arrastraban, se rechaza.
En silencio, y más caro: GPT-5.6 razona por defecto donde una carga de 5.5 pudo haber tenido el razonamiento desactivado. Un prompt portado que nunca fija reasoning_effort hereda el impuesto por omisión de 1,5x al mismo tarifario. La migración de caché va en sentido contrario: la detección automática de prefijos de 5.5 no necesitaba marcado pero no se podía disparar ni depurar; en 5.6 el mismo prompt no hace nada hasta que lo marcas, y entonces reporta cada escritura en usage.prompt_tokens_details.cache_write_tokens, donde un fallo aparece como un cero en un campo que tú creaste en lugar de como silencio.
¿En qué tier conviene correr el prompt?
La misma estructura de request corre en los tres tiers, así que elegir tier es una decisión de precio, no de prompting: Sol a $5/$30 por millón de tokens, Terra a la mitad, Luna a un quinto. Con el prefijo estable, keyed y caliente, el descuento por lectura cacheada aplana el lado de input en todos los tiers, así que el precio de output pasa a ser el diferenciador; baja de tier todo lo que permitan tus evals de calidad de output. La aritmética completa de tiers, incluido el punto de equilibrio del write-premium por tier, está en la guía de costos.
FAQ
¿GPT-5.6 admite reasoning_effort: “max”?
No. Los requests con "max" devuelven un 400 que lista none hasta xhigh como valores válidos, tanto en Sol como en Terra. Las cargas que quieran el tope deben enviar xhigh de forma explícita.
¿Los breakpoints de cache funcionan en GPT-5.5?
No. GPT-5.5 y versiones anteriores rechazan prompt_cache_options y los marcadores de breakpoint con un 400. En esos modelos vuelves a la detección automática de prefijo, que no se puede disparar, keyear ni depurar; ahí trata el comportamiento del cache como best-effort y aplica version-gate a cualquier prompt builder que emita los campos nuevos.
¿Cuántos breakpoints debería usar un prompt en la práctica?
Tantas capas como se repitan de verdad, hasta el límite: cuatro writes por request, uno de los cuales lo consume el auto-breakpoint implícito salvo que cambies a modo explícito. Un prompt en capas típico necesita dos o tres (instrucciones, tools, bloque de referencia), y un quinto marcador se acepta sin error, pero simplemente comparte los slots de write, porque una marca posterior cubre todo lo anterior.
Todos los números de esta guía se midieron a través del gateway de Synthorai con los modelos GPT-5.6 del día de lanzamiento y cuadran con el medidor usage.cost en vivo; la metodología y las pruebas en crudo están en la guía de costos y en el estudio de mínimos de prompt cache. Verifica contra tus propios registros de uso; las tarifas y los valores aceptados pueden cambiar.