Cómo optimizar Claude Code y reducir tokens

En Claude Code, el costo escala con el tamaño del contexto: cuanto más texto procesa Claude en cada mensaje, más tokens gastas. La buena noticia es que casi todo se reduce a una idea: mantener el contexto pequeño. Aquí van las técnicas que de verdad mueven la aguja, ordenadas de mayor a menor impacto.
Antes de optimizar, mide: /usage te muestra el gasto de la sesión y /context qué está ocupando tu ventana de contexto. También puedes ponerlo en la status line para verlo siempre.
1. Gestiona el contexto a propósito
/clearentre tareas distintas. El contexto viejo gasta tokens en cada mensaje siguiente. Cuando cambies a algo no relacionado, limpia. (Usa/renameantes y/resumedespués si quieres volver.)/compactcon instrucciones. Puedes decirle qué conservar al resumir:/compact enfócate en los cambios de código y el output de tests. Y dejarlo fijo en tu CLAUDE.md con una sección de instrucciones de compactación.
2. Elige el modelo correcto
No todo necesita el modelo más caro:
- Sonnet resuelve bien la mayoría del código y cuesta menos que Opus.
- Opus resérvalo para decisiones de arquitectura o razonamiento multi-paso.
- Haiku para tareas simples, especialmente en subagentes (
model: haiku).
Cambias con /model a mitad de sesión, o bajas el esfuerzo de razonamiento con /effort para tareas que no necesitan pensar tanto (el extended thinking se factura como tokens de salida).
3. Delega lo verboso en subagentes
Correr tests, traer documentación o procesar logs puede inflar tu contexto. Si lo delegas a un subagente, el output ruidoso se queda en su ventana y a tu conversación principal vuelve solo el resumen. Es de las formas más limpias de ahorrar.
4. Mantén tu CLAUDE.md liviano
Tu CLAUDE.md se carga entero en cada sesión, así que esos tokens están presentes aunque estés en otra cosa. Apunta a menos de 200 líneas y mueve las instrucciones de flujos específicos (revisión de PRs, migraciones) a skills, que se cargan solo cuando se invocan.
5. Recorta el overhead de MCP
Cada servidor MCP añade definiciones de herramientas al contexto:
- Desactiva los que no uses con
/mcp. - Prefiere un CLI cuando exista (
gh,aws,gcloud): suele ser más eficiente en tokens que el servidor MCP equivalente, porque no agrega listados de herramientas.
6. Preprocesa con hooks
Un hook puede filtrar datos antes de que Claude los vea. En vez de leer un log de 10.000 líneas para encontrar errores, un hook hace grep ERROR y devuelve solo eso: de decenas de miles de tokens a unos cientos.
7. Escribe prompts específicos
"Mejora este código" dispara un escaneo amplio y caro. "Añade validación de input a la función login en auth.ts" deja que Claude trabaje con lecturas mínimas. Y para tareas complejas, usa plan mode (Shift+Tab) antes de implementar: explorar y aprobar un plan evita rehacer trabajo caro por ir en la dirección equivocada.
Resumen
| Técnica | Cuándo |
|---|---|
/clear |
Al cambiar de tarea |
/compact con foco |
Sesión larga que se acerca al límite |
| Modelo según tarea (Haiku/Sonnet/Opus) | Siempre |
| Delegar en subagentes | Tests, docs, logs verbosos |
| CLAUDE.md < 200 líneas | Siempre |
| Desactivar MCP sin usar / preferir CLI | Siempre |
| Prompts específicos + plan mode | Tareas complejas |
Preguntas frecuentes
¿Cómo veo cuántos tokens estoy gastando en Claude Code?
Con /usage (gasto y estadísticas de la sesión) y /context (qué ocupa tu ventana de contexto). Puedes mostrar el uso de contexto de forma continua en la status line.
¿Cuál es la forma más rápida de reducir tokens?
Usar /clear al cambiar de tarea y elegir un modelo más barato (Haiku/Sonnet) para lo que no necesita Opus. Después, delegar el trabajo verboso a subagentes.
¿Reducir tokens empeora los resultados?
No si lo haces bien: un contexto más limpio y prompts más específicos suelen dar mejores respuestas, no peores. El ruido innecesario distrae al modelo además de costar dinero.
¿El CLAUDE.md afecta el costo?
Sí: se carga completo en cada sesión. Mantenlo por debajo de 200 líneas y mueve lo específico a skills o reglas con scope por ruta.