Por qué tu suscripción se agotó en horas: los valores predeterminados del context window de Codex, explicados

El martes por la mañana abres la página de uso de ChatGPT y el medidor marca un 87 % — y apenas has tocado tu agente esta semana: sin sesiones maratonianas de madrugada, sin subidas gigantes, solo una tarde normal charlando. Si ejecutas Hermes contra ChatGPT Codex OAuth (la familia gpt-5.4 / gpt-5.6), el culpable era probablemente un context window que se había fijado silenciosamente mucho más grande de lo que el proveedor anuncia. Cuanto más grande es la ventana, más input tokens arrastra cada petición y, con una suscripción, el medidor se vacía en consecuencia. La buena noticia: Hermes corrigió el comportamiento predeterminado el 23 de agosto — los slugs base de Codex vuelven a los 272K anunciados, y la ventana verificada de 900K es ahora un opt-in explícito con -900k. Esta entrada explica los mecanismos y las palancas que controlas.
Por qué un context window más grande puede costarte dinero real
Primero, una definición rápida: el context window es cuántos tokens puede leer un modelo en una sola petición — prompt del sistema, historial de la conversación y salida de las herramientas combinados. Una ventana grande significa que el agente puede «recordar» más, pero la trampa está en que cada turno reenvía toda la ventana, y todos esos input tokens cuentan contra tu uso.
En las APIs de pago por token eso es simplemente una factura; en una suscripción de ChatGPT (Plus / Pro) accedida a través de Codex OAuth, es una asignación mensual. Aumentar la ventana de 272K a 900K infla la entrada de cada petición hasta 3x+ — y si además mantienes sesiones de larga duración, agotar la asignación en horas es perfectamente realista. Eso es exactamente lo que la comunidad reportó en Discord a mediados de agosto: uso que desaparecía casi sin actividad.
Hermes había subido automáticamente el contexto de Codex a 900K el 16 de agosto (el razonamiento era «si está verificado, úsalo»), lo que colocó silenciosamente cada sesión de Codex OAuth en la ventana grande. El PR #92797, fusionado el 23 de agosto, corrigió el rumbo: los slugs base vuelven por defecto a los 272K anunciados, y los 900K son estrictamente opt-in.
Las variantes -900k del picker: opta explícitamente
En el picker /model, los modelos base de Codex ahora vienen con hermanos con sufijo -900k:
gpt-5.6-sol-900kgpt-5.6-terra-900kgpt-5.6-luna-900kgpt-5.4-900k
Son alias del lado de Hermes: elige gpt-5.6-sol-900k y el sufijo se elimina antes de que el id del modelo llegue al cable (el backend sigue viendo gpt-5.6-sol), y la facturación de uso lo cuenta como el modelo base. Simplemente estás declarando «quiero la ventana grande», lo cual es seguro porque Hermes verificó en vivo en agosto que el backend de Codex, aunque anuncia 272K, acepta en realidad ~911K input tokens para cuentas de suscripción.
Un aviso: no todos los modelos de Codex tienen una variante -900k. Los slugs que imponen genuinamente 272K — gpt-5.5 y gpt-5.4-mini — no tienen ninguna variante. Si un slug es elegible lo decide la lista verificada en vivo en agent/model_metadata.py (_CODEX_900K_ELIGIBLE_BASES); solo esos modelos reciben variantes sintetizadas en el picker.
La compaction sigue a la ventana
El context window hace más que limitar cuánto puedes meter en una sesión — también decide cuándo Hermes compacta (resume el historial antiguo para liberar espacio). El disparador es compression.threshold, por defecto el 50 % de la ventana.
Esta es la interacción sutil: al 50 %, una ventana de 272K compactaría en ~136K, desperdiciando la mitad del espacio. Así que para las rutas de Codex OAuth con slugs base gpt-5.4 / 5.5 / 5.6, Hermes sube automáticamente el disparador al 85 % (~231K) — el llamado autoraise.
Las variantes -900k funcionan al revés: al 50 % de 900K (~450K) la compaction ya ocurre lo bastante tarde, así que no se necesita ningún autoraise. El PR #92848, fusionado ese mismo día, impone exactamente eso: las variantes -900k usan siempre el compression.threshold global, y los slugs base mantienen el autoraise del 85 %. La regla práctica: el threshold de compaction sigue siempre la ventana que elegiste.
Toma el control con estas claves de config
Si los valores predeterminados no encajan con tu flujo de trabajo, todo esto es configurable:
# Turn off the 85% autoraise for 272K Codex base slugs (back to the global threshold)
hermes config set compression.codex_gpt55_autoraise false
# Keep the autoraise but hide the one-time banner
hermes config set compression.codex_gpt55_autoraise_notice false
Nota:
codex_gpt55_autoraisees un nombre de clave heredado — en realidad gobierna toda la familia gpt-5.4 / 5.5 / 5.6, no solo gpt-5.5.
Otras palancas que conviene conocer:
compression.threshold: la proporción global de compaction (por defecto 0.50).compression.model_thresholds: overrides por modelo — las claves se comparan por subcadena y gana la coincidencia más larga. Comprime más tarde un modelo con ventana de 1M ("glm-5.2-1M": 0.25) y antes uno de 128K ("claude-sonnet": 0.35).- Suelo para ventanas pequeñas: los modelos con contexto por debajo de 512K tienen un mínimo de 0.75 (solo se puede subir), de modo que la compaction nunca se dispara con la mitad de la ventana aún libre.
compression.proactive_prune_tokens: en los modelos de ventana grande el disparador del 50 % rara vez salta, así que la salida antigua de las herramientas viaja en el historial y se reenvía en cada turno. Fijar un valor (p. ej. 48000) la recupera pronto y ahorra tokens.- Para el control manual completo de la ventana de un modelo, usa el campo
context_windowenmodel_overrides— lo cubrimos en una guía de configuración completa.
La conclusión
Un context window más grande no es gratis — es una factura que pagas en cada turno. La lección de este episodio de Codex es que los valores predeterminados deberían ser conservadores y que la ventana grande debería reservarse para quienes necesitan explícitamente documentos largos e historiales largos. En la práctica: mantén los slugs base (272K) para las sesiones de todos los días, recurre a una variante -900k en /model solo cuando trabajes de verdad con documentos largos, y ajusta las claves de compaction anteriores a tu propio ritmo. Un aviso: estos cambios viven en main (fusionados el 23 de agosto, después del tag v0.20.5), así que consíguelos con hermes update — y el filtro difuso del picker /model forma parte de la reciente ola de pulido de CLI, que hace mucho más rápido encontrar las variantes -900k. Para más hábitos cotidianos de ahorro de tokens, mira nuestro resumen de consejos de productividad.