Cómo ahorrar tokens en Claude: la guía definitiva
Antes de optimizar nada, hay que entender la mecánica. Claude no cobra por mensaje, cobra por contexto acumulado. Cada vez que envías un nuevo turno, el modelo relee toda la conversación anterior. Eso significa que una charla de treinta mensajes con unos 250 tokens de media por mensaje hace que el último prompt procese alrededor de 232.000 tokens, un multiplicador de 928 veces sobre el mensaje original. Una pregunta trivial como «¿qué variable usamos para el ID de usuario?» cuesta más de 232.000 tokens si arrastras treinta turnos de programación, aunque la respuesta ocupe cinco palabras.
Para dimensionar lo que son los tokens: no son caracteres ni palabras, son unidades intermedias. Aproximadamente, un token equivale a unas 0,75 palabras en inglés o unos 4 caracteres. Palabras comunes como «the» o «is» son un token; términos largos como «optimization» se descomponen en dos o tres. Un mensaje corto ronda los 100-200 tokens, un prompt detallado entre 300 y 600, una página de PDF entre 500 y 800, y un documento extenso supera los 50.000.
El primer hábito, y el que más rinde, es gestionar el contexto a propósito. En Claude Code, el comando /clear limpia la ventana cuando cambias de tarea: el historial viejo gasta tokens en cada turno siguiente, porque cada mensaje reenvía la conversación completa. Conviene usar /rename antes y /resume después si quieres retomar la sesión. En la app web, abrir un chat nuevo cumple exactamente la misma función. La recomendación práctica es iniciar una conversación nueva cada 15-20 mensajes; tras veinte turnos, cada prompt obliga a releer el equivalente a una novela corta. Una sesión nueva con resumen reduce el contexto de millones de tokens a menos de 5.000, recortando entre un 85% y un 95% del uso en conversaciones largas.
El segundo hábito es compactar con instrucciones explícitas. /compact no es un resumen genérico: puedes decirle exactamente qué preservar, por ejemplo «/compact Focus on code samples and API usage» o «/compact enfócate en los cambios de código y el output de tests». Esas instrucciones se fijan en CLAUDE.md bajo la sección «# Compact instructions». Compactar cuesta una llamada, así que no conviene hacerlo cada tres mensajes; la ganancia aparece en conversaciones que ya arrastran mucho. La referencia práctica es compactar cada 15-40 mensajes, idealmente al llegar al 50% de uso del contexto, sin esperar a la compactación automática (que se dispara en torno al 83,5%). Reduce el contexto un 50-70% preservando lo importante. Compactar antes de una pausa larga cuesta una décima parte que compactar al volver, porque el resumen se paga leyendo la conversación entera y esa lectura solo sale de la caché si la caché sigue viva.
La elección de modelo es clave. Todos los modelos cuentan tokens igual; lo que cambia es el precio por token y cuánto texto genera cada uno para resolver lo mismo. Un modelo que razona más escribe más, y gasta por partida doble.
| Modelo | Precio entrada (por M tokens) | Precio salida (por M tokens) | Uso ideal |
|---|---|---|---|
| Haiku 4.5 | $1 - $10 | $5 - $50 | Tareas mecánicas: renombrar, formatear, resúmenes, checks |
| Sonnet 4.6 | $3 - $20 | $15 - $100 | El 80% del código, punto dulce calidad/coste |
| Opus 4.6 | $5 - $40 | $25 - $200 | Arquitectura, razonamiento multi-paso |
La regla práctica: Haiku para tareas mecánicas (renombrar, formatear, buscar, resumir logs, traducciones cortas, generar listas), especialmente en subagentes con «model: haiku»; Sonnet para la mayoría del código, resuelve bien el 80% de las tareas de programación; Opus solo para decisiones de arquitectura o razonamiento multi-paso. Se cambia al vuelo con /model, y existe el alias opusplan (Opus para planificar + Sonnet para ejecutar), un punto óptimo: razonamiento de nivel Opus pagando tarifas de Sonnet en la generación.
La caché de prompt es la técnica con mejor relación ahorro/esfuerzo y la mayor palanca individual: puede suponer hasta un 90% de ahorro sobre contexto repetido. Claude Code reenvía todo el contexto en cada mensaje, pero cachea lo que se repite; leer de la caché cuesta 0,1 veces el precio normal de entrada, y en los modelos Opus y Sonnet más recientes, 0,05 veces. En una sesión larga es la diferencia entre pagar el CLAUDE.md una vez o pagarlo cuarenta veces. Funciona por coincidencia de prefijo: se aprovecha desde el principio de la petición hasta el primer byte que cambia. Por eso conviene colocar contenido estático (system prompts, documentación, ejemplos) al principio y contenido dinámico (mensajes del usuario) al final.
Qué rompe la caché: cambiar de modelo con /model, cambiar el nivel de esfuerzo en la mayoría de modelos, activar fast mode la primera vez, conectar o quitar un servidor MCP, /compact a mitad de una tarea, acumular muchas imágenes, y actualizar Claude Code (la nueva versión suele traer otro system prompt). Lo que la conserva: editar archivos del repositorio, cambiar el modo de permisos, invocar skills, lanzar subagentes y /rewind. La caché expira tras un rato sin actividad; la API ofrece duraciones de cinco minutos y una hora, y Claude Code elige según cómo se pague. Con API key, una pausa de más de cinco minutos hace que el siguiente mensaje pague todo el contexto otra vez.
Medir antes de optimizar es esencial. /context desglosa cada categoría: system prompt, MCP tools, mensajes, free space. /usage muestra el gasto de la sesión y qué porcentaje de la entrada llega desde la caché. /cost y /stats sirven para tendencias a largo plazo. El dato de fondo: según datos de Anthropic, el 99,4% de los tokens de Claude Code son tokens de entrada —el modelo lee 166 veces más de lo que escribe—, así que la mayor palanca es reducir lo que Claude lee, no lo que genera.
Desactivar servidores MCP no utilizados y preferir CLI nativas es otra palanca clara. Cada servidor MCP activo deja los nombres de sus herramientas e instrucciones en el contexto. Un estudio citado encontró que las definiciones de herramientas MCP podían consumir 51.000 tokens antes de escribir el primer mensaje; desactivar servidores sin usar lo bajó a 8.500, una reducción del 47% del overhead. Se gestionan con /mcp, y conviene preferir gh, aws, gcloud o sentry-cli antes que el servidor MCP equivalente. También existe la opción de auto-derir herramientas cuando superan un porcentaje del contexto (ENABLE_TOOL_SEARCH).
“Solo tres minutos: crear .claudeignore (50-70% ahorro), recortar CLAUDE.md bajo 500 líneas y el hábito de /clear al cambiar de tarea.”
Dato clave