Cuando abres Claude Code y empiezas a trabajar, el coste de cada mensaje no es fijo. Depende de cuánto contexto acumula la sesión. A medida que la conversación crece, cada respuesta procesa más tokens, y eso se nota en la factura.
Hay dos comandos que cambian esto: /compact y /clear. Son sencillos, pero entender cuándo usar cada uno requiere saber cómo funciona el contexto por debajo.
Cómo procesa Claude el historial
Cada vez que envías un mensaje, el modelo no "recuerda" la conversación anterior de forma mágica. Lo que ocurre es que todo el historial se envía de nuevo en cada petición, junto con tu nuevo mensaje. Así es como los LLMs mantienen el contexto: enviando todo desde el principio cada vez.
Esto tiene una consecuencia directa: cuanto más larga es la sesión, más tokens se procesan en cada turno, y más caro resulta.
La caché de prompts: el amortiguador que tiene un límite
Anthropic implementa una caché de prompts que evita reprocesar el contexto cuando los mensajes llegan en intervalos cortos. La caché almacena el contexto ya procesado y lo reutiliza, lo que reduce el coste de los tokens de entrada de forma significativa.
Pero tiene un TTL (tiempo de vida) de 5 minutos.
Si respondes antes de que expire, Claude reutiliza el contexto cacheado. Si tardas más de 5 minutos entre mensajes —porque estás probando algo en el navegador, revisando código, o simplemente pensando— la caché expira. El siguiente mensaje vuelve a procesar todo el historial desde cero, como si fuera la primera vez.
Además, los tokens de salida (la respuesta de Claude) nunca se cachean. Siempre cuestan igual, independientemente del tamaño del contexto.
Un ejemplo concreto
Imagina una sesión de trabajo de dos horas adaptando templates de una aplicación Symfony: login, registro, perfil de usuario, emails con MJML, favicon, fuentes dinámicas desde un panel de administración y formularios de contacto con modales.
Al final de la sesión el historial incluye:
- Decenas de archivos leídos completos
- Varios errores y sus correcciones
- Fragmentos de código intercambiados en ambas direcciones
- Resúmenes automáticos de compactación anteriores
Cada mensaje en esa fase final procesa un contexto de cientos de miles de tokens. Si además hay pausas entre mensajes mientras pruebas en el navegador, la caché expira repetidamente y esos tokens se facturan una y otra vez.
El mismo trabajo dividido en tres sesiones más cortas, con un /clear entre cada bloque temático, habría costado notablemente menos, porque cada sesión arranca con un contexto mínimo.
/compact: comprimir sin perder el hilo
/compact genera un resumen estructurado del historial y lo sustituye por ese resumen. El contexto se reduce drásticamente, pero Claude mantiene suficiente información para continuar la tarea.
Es el comando adecuado cuando:
- Llevas un buen rato en la misma tarea y el contexto ha crecido mucho
- Todavía no has terminado y necesitas seguir en la misma sesión
- Hay mucho ruido acumulado: archivos leídos que ya no son relevantes, errores intermedios, código descartado
El resumen que genera /compact es lo suficientemente detallado para retomar el trabajo, pero ocupa una fracción del espacio original. A partir de ese punto, cada mensaje vuelve a ser barato.
Úsalo a mitad de tarea, no al final.
/clear: empezar desde cero
/clear elimina el historial completamente. No genera resumen ni conserva nada. Es más barato que /compact porque no produce tokens de salida para el resumen.
Es el comando adecuado cuando:
- Terminaste una tarea y vas a empezar otra diferente
- Cambiaste de proyecto
- El contexto acumulado no tiene ninguna utilidad para lo que viene
Si acabas de resolver un bug en el módulo de pagos y ahora vas a trabajar en los templates de email, no hay ninguna razón para arrastrar el contexto del bug. Un /clear y empiezas limpio.
Cuándo no usar ninguno
Si la sesión es corta y enfocada —menos de 20 o 30 minutos, una sola tarea bien delimitada— el coste del contexto es marginal y no merece interrumpir el flujo para ejecutar un comando.
El problema aparece en sesiones largas y variadas, o cuando hay muchas pausas que hacen expirar la caché repetidamente. Ahí es donde /compact y /clear marcan una diferencia real.
La regla práctica
| Situación | Comando |
|---|---|
| Misma tarea, contexto largo, quiero continuar | /compact |
| Cambio de tarea o de proyecto | /clear |
| Sesión corta y enfocada | Ninguno |
| Pausa larga en medio de una sesión larga | /compact antes de pausar |
El momento ideal para /compact es justo antes de una pausa prolongada o cuando notas que las respuestas empiezan a volverse más lentas por el peso del contexto. Así, cuando retomes, el siguiente mensaje parte de una base ligera y la caché tiene algo que reutilizar.