# Guía corta para gastar menos tokens

Nada de esto es magia: el coste sube con el tamaño del contexto que Claude tiene que procesar en cada mensaje. Si mantienes ese contexto pequeño y bien elegido, el gasto baja solo. Esto es lo que dice la documentación oficial de Claude Code, resumido para el día a día.

## Qué modelo para qué tarea

- **Sonnet** resuelve bien la mayoría de tareas de programación del día a día y cuesta menos que Opus. Es el que uso por defecto.
- **Opus** lo reservo para decisiones de arquitectura complejas o razonamiento en varios pasos, no para todo.
- **Haiku** es el indicado para subagentes con tareas simples y acotadas: se indica con `model: haiku` en la configuración del subagente.
- Cambias de modelo con `/model` (se guarda como el que usas por defecto) o de un vistazo con `/model <nombre>`.
- El nivel de esfuerzo (`/effort`) también pesa: `low` para tareas breves donde no hace falta pensar mucho, `high` es el equilibrio por defecto, `max` solo para lo realmente complejo (puede sobrepensar, así que pruébalo antes de dejarlo fijo).

## Qué no cargar en el contexto

- **Limpia entre tareas.** `/clear` cuando cambias a algo que no tiene nada que ver con lo anterior: el contexto viejo se paga en cada mensaje siguiente, aunque no lo estés usando.
- **Da instrucciones concretas de qué resumir.** `/compact` sin más resume todo; `/compact Céntrate en los cambios de código` le dice qué conservar.
- **Escribe prompts concretos.** "Mejora este código" dispara una exploración amplia y cara; "añade validación de entrada a la función de login en auth.ts" deja a Claude trabajar con pocas lecturas de archivo.
- **Prefiere herramientas de línea de comandos cuando existan** (`gh`, `aws`, `gcloud`…): no añaden un listado de herramientas al contexto como sí hace un servidor MCP.
- **Delega lo verboso a subagentes.** Ejecutar tests, leer documentación larga o procesar logs consume mucho contexto: si lo haces desde un subagente, el ruido se queda ahí y a la conversación principal solo vuelve el resumen.

## Limpiar skills y conectores

- `/mcp` te enseña los servidores MCP configurados; desactiva los que no uses. Las definiciones de herramientas MCP ya se cargan bajo demanda por defecto, pero el nombre de cada herramienta y las instrucciones del servidor sí ocupan espacio desde el principio.
- `/skill-doctor` te dice cuánto contexto cuesta cada skill que tienes activa y con qué frecuencia la usas de verdad, para decidir cuáles apagar. Empieza por las que más contexto cuestan.
- `/skills` lista qué skills tienes y deja cambiar su visibilidad; para borrar una del todo, se elimina su carpeta en `~/.claude/skills/<nombre>/` o `.claude/settings.local.json` según dónde viva.
- El `CLAUDE.md` del proyecto se carga entero al empezar cada sesión, así que instrucciones muy específicas de un flujo concreto (una revisión de PR, una migración) mejor como skill, que solo se carga cuando se invoca. La recomendación oficial es mantener el `CLAUDE.md` por debajo de 200 líneas, solo con lo esencial.

## Repartir trabajo entre agentes

- Un `/background` o un `/fork` mandan trabajo a una sesión aparte que consume su propio contexto: úsalos para lo que de verdad conviene aislar, no para todo.
- Con equipos de agentes, cada compañero mantiene su propia ventana de contexto: mejor equipos pequeños, con encargos concretos y cerrados, y apagar a cada uno en cuanto termine su parte. Cargar CLAUDE.md, conectores MCP y skills es automático para cada uno, así que cuanto más metas en el prompt con el que lo arrancas, más contexto de partida le das.
- Para tareas simples dentro de un equipo o de un flujo con subagentes, asigna un modelo más barato (Haiku) en vez de heredar el modelo principal para todo.

## Fuentes

- [Manage costs effectively](https://code.claude.com/docs/en/costs) — sección «Reduce token usage», Claude Code, code.claude.com/docs.
- [Model configuration](https://code.claude.com/docs/en/model-config) — elección de modelo y niveles de esfuerzo.
- [Skills](https://code.claude.com/docs/en/skills) — `/skill-doctor`, `/skills` y cómo eliminar una skill.

## Una nota mía

No hace falta aplicar las cuatro cosas a la vez. Yo empiezo por `/clear` entre tareas y por no dejar Opus puesto por defecto para todo: con eso solo ya se nota. El resto lo voy metiendo según el proyecto lo pide.
