Recortar costes de coding agents un 50% sin perder calidad
Usas Claude Code, Cursor o Copilot a diario y la factura sube cada semana. El mes pasado fueron $200, este mes van $350, y no has cambiado nada. El problema no es el precio de los modelos; es cómo los usas.
Esta guía no es teoría. Son las cinco palancas que mueven el 80% del gasto en coding agents, con ejemplos concretos para cada herramienta y números reales de ahorro. Si aplicas las tres primeras, puedes recortar tu factura a la mitad sin que tu agente note la diferencia.
TL;DR
- Enruta por tarea: usa modelos baratos para boilerplate, premium solo para arquitectura. Ahorro: 20-30%.
- Comprime el contexto:
CLAUDE.mdde menos de 60 líneas, sesiones cortas,/compactcada 15 turnos. Ahorro: 15-25%. - Activa prompt caching: estructura tu system prompt con contenido estático al inicio. Ahorro: 30-40% en input.
- Sesiones por tarea: una tarea = una sesión. Sin historial inflate. Ahorro: 5-10%.
- Mide antes de optimizar: añade cost tracking desde el primer día.
Aplicadas juntas, la combinación típica es un 50-65% de reducción.
Qué necesitas
- Un coding agent CLI o IDE con acceso a modelos múltiples (Claude Code, Cursor, Copilot, Codex CLI)
- Familiaridad con conceptos básicos de tokens y pricing de APIs
- Acceso a al menos dos modelos: uno barato (Haiku, GPT-4o-mini, DeepSeek V4 Flash) y uno potente (Sonnet, GPT-5.4, Claude Opus)
1. Model routing: el modelo correcto para cada tarea
La mayoría de los coding agents dejan elegir el modelo. La mayoría de la gente elige el más potente y lo deja ahí. Eso es como usar una grúa para cambiar una bombilla.
El framework de tres niveles
| Nivel | Modelo típico | Coste aproximado | Cuándo usarlo |
|---|---|---|---|
| Barato | Claude Haiku, GPT-4o-mini, DeepSeek V4 Flash | $0.15-0.60/MTok output | Boilerplate, formateo, tests simples, commit messages, sintaxis |
| Medio | Claude Sonnet 4.6, GPT-5.4, GLM-5 Turbo | $3-15/MTok output | Features normales, refactors, debugging, code review |
| Premium | Claude Opus 4.7, GPT-5.5 | $15-30/MTok output | Arquitectura multi-archivo, migraciones complejas, razonamiento profundo |
Cómo aplicarlo en cada herramienta
Cursor: Usa el selector de modelo en la barra inferior. Para autocompletado, el modelo “fast” (GPT-4o-mini o equivalente) es suficiente el 80% del tiempo. Solo cambia al modelo premium cuando vayas a hacer un refactor de varios archivos.
Claude Code: Usa el flag --model al iniciar una sesión o cambia en vivo con /model:
# Para boilerplate y tareas simples
claude --model claude-haiku-3-5-20241022 "genera los tests unitarios para auth.ts"
# Para features complejas
claude --model claude-sonnet-4-20250514 "refactoriza el sistema de pagos a event-driven"
Codex CLI (OpenAI): Especifica el modelo al lanzar:
# Tareas simples
codex --model gpt-4o-mini "ordena las imports y formatea"
# Tareas complejas
codex --model gpt-5.4 "diseña el esquema de la nueva API de webhooks"
Números reales
Si haces 50 tareas al mes y el 60% son tareas simples (boilerplate, tests, formateo):
| Escenario | Modelo único (Sonnet) | Routing 3 niveles | Ahorro |
|---|---|---|---|
| Coste mensual est. | ~$350 | ~$180 | 49% |
Los números varían según tu volumen y proveedor, pero el patrón es consistente: el routing por complejidad es la palanca de mayor impacto individual.
Ya cubrimos routing multi-modelo en profundidad en Routing multi-modelo 2026: cómo elegir el LLM correcto para cada tarea. Este tutorial se centra en la aplicación específica a coding agents.
2. Context management: el 70% del gasto es input repetido
Los datos de Beam (2026) muestran que en un coding agent típico, el 45% del consumo de tokens viene de cargar contexto, y el 25% del historial de conversación. El output real del modelo —lo que querías generar— es solo el 20%. El 10% restante son reintentos.
El contexto es el agujero negro de tu factura.
2a. Mantén los archivos de instrucciones cortos
Tu CLAUDE.md, .cursorrules o AGENTS.md se reenvía completo en cada turno. Si tiene 200 líneas, estás pagando por 200 líneas en cada una de las 30+ llamadas que hace tu agente en una sesión.
Regla: menos de 60 líneas. Si necesitas más, usa referencias a archivos en vez de incluirlo todo:
# CLAUDE.md (BIEN - 40 líneas)
## Arquitectura
- Next.js App Router con output:export
- Ver detalles en docs/architecture.md
## Comandos
- Build: npm run build
- Test: npm run test
- Lint: npm run lint:editorial
## Convenciones
- TypeScript estricto
- Tests en __tests__/ junto al componente
- No usar var, preferir const
Lo que no debes hacer: poner toda tu documentación de API, esquemas de base de datos, y guías de estilo en el archivo de instrucciones. Esa información es para cuando el agente la pida, no para cargarla siempre.
2b. Usa /compact o equivalente
En Claude Code, /compact resume la conversación para reducir el contexto. Úsalo:
- Cada 15-20 turnos de conversación
- Cuando cambias de sub-tarea dentro de la misma sesión
- Cuando notes que las respuestas se vuelven más lentas
/compact # Resume todo
/compact focus en auth # Resume pero conserva contexto de auth
Cursor y Copilot no tienen un comando equivalente directo, pero puedes lograr el mismo efecto abriendo una nueva sesión cuando cambias de tarea.
2c. Sesiones por tarea
La regla de oro: una tarea = una sesión. Las sesiones largas acumulan historial que se reenvía completo en cada turno. Una sesión de 40 turnos puede tener 10x el contexto de una de 4 turnos, aunque el trabajo real sea similar.
Patrón práctico:
# MAL: una sesión para todo el sprint
claude "haz todas las tareas del sprint 14"
# BIEN: una sesión por tarea
claude "implementa el endpoint POST /webhooks"
# (termina, cierra sesión)
claude "añade validación de payload al webhook"
# (termina, cierra sesión)
claude "escribe tests de integración para webhooks"
Números: contexto antes/después
| Métrica | Sin optimizar | Optimizado | Reducción |
|---|---|---|---|
| CLAUDE.md promedio | 180 líneas | 50 líneas | 72% |
| Turnos por sesión | 35-50 | 8-15 | 60-70% |
| Tokens de input por sesión | ~180K | ~45K | 75% |
| Coste por sesión (Sonnet) | ~$1.20 | ~$0.35 | 71% |
3. Prompt caching: 90% de descuento en contexto estático
Si usas Claude (Code, Cursor, API directa), Anthropic ofrece prompt caching: la primera vez que envías un bloque de contexto, pagas el precio completo; las veces siguientes, pagas el 10%.
Cómo funciona
El caching se activa cuando el prefijo de tu prompt es idéntico entre llamadas. Esto significa:
- El system prompt va primero
- Los archivos del proyecto y CLAUDE.md van después
- La pregunta/conversación va al final
Si estructuras bien tu prompt, el 70-80% del input es cacheable.
Cálculo real
Para un system prompt de 10K tokens + CLAUDE.md de 5K tokens, en una sesión de 30 turnos con Claude Sonnet ($3/MTok input):
| Método | Coste input (sesión) |
|---|---|
| Sin caching | 15K × 30 turnos × $3/MTok = $1.35 |
| Con caching (10% después de primera llamada) | 15K × $3/MTok + 15K × 29 × $0.30/MTok = $0.27 |
| Ahorro | 80% solo en input |
Qué hacer para que funcione
- No modifiques
CLAUDE.mddurante una sesión. Cualquier cambio invalida el cache. - No reordenes las instrucciones. El cache depende del orden exacto.
- Claude Code lo activa automáticamente si tu configuración lo permite. Verifica con
/costque ves descuentos de cache.
Cursor también soporta caching pero lo gestiona internamente. Copilot y Codex usan mecanismos propios que no son configurables directamente.
4. Prompt engineering para menos tokens
Cómo formulas tu petición al agente tiene impacto directo en el coste.
Delimita el scope
# CARO: el agente explora todo el repo
claude "arregla los tests que fallan"
# BARATO: scope exacto
claude "arregla los tests que fallan en src/auth/__tests__/login.test.ts"
La primera versión puede hacer que el agente lea 40 archivos “por si acaso”. La segunda va directo al grano.
Pide formato compacto cuando no necesitas explicaciones
# Genera 2K tokens de output con explicación
claude "explica cómo funciona este código y refactorízalo"
# Genera 500 tokens: solo el código
claude "refactoriza este código. Solo muestra el resultado final, sin explicaciones"
Para tareas mecánicas (formateo, renombrar, mover archivos), pedir “solo cambios, sin explicaciones” reduce el output un 60-80%.
Evita reintentos con instrucciones claras
Cada reintento paga el contexto completo otra vez. Un 10% de reintentos puede sumar un 30% al coste total (porque cada reintento arrastra el contexto del error + corrección).
Instrucciones que reducen reintentos:
- Nombra archivos y funciones concretas
- Proporciona el error exacto, no una descripción vaga
- Especifica la versión del framework o librería
5. Mide antes de optimizar
No puedes optimizar lo que no mides.
Claude Code
Usa /cost durante la sesión y revisa el desglose al final. También puedes comprobar tu uso en console.anthropic.com.
Cursor
Revisa el dashboard de uso en Settings → Usage. Te muestra tokens consumidos por modelo y por día.
Copilot
GitHub te muestra el consumo de Copilot en tu perfil, pero no tienes granularidad por sesión. Para tracking detallado, necesitas Copilot Enterprise con métricas de organización.
Dashboard casero
Si usas múltiples herramientas, la forma más simple es una hoja de cálculo:
| Fecha | Herramienta | Modelo | Tarea | Tokens est. | Coste est. |
|---|---|---|---|---|---|
| 2026-05-22 | Claude Code | Sonnet | Refactor auth | ~45K | $0.35 |
| 2026-05-22 | Cursor | GPT-4o-mini | Tests | ~8K | $0.01 |
Después de dos semanas, los patrones son evidentes: qué tareas queman más tokens, qué modelos usas de más, dónde están los reintentos.
Problemas comunes
“Optimicé tanto el contexto que el agente ya no tiene suficiente información” No comprimas lo esencial. El objetivo es eliminar redundancia, no información. Si el agente empieza a preguntar cosas que debería saber, tu CLAUDE.md se ha quedado demasiado corto. Añade hasta 80-100 líneas si es necesario, pero revisa que cada línea se use.
“El prompt caching no se activa”
Verifica que el system prompt es idéntico entre llamadas. Un espacio, una línea en blanco, o un archivo que cambia invalida todo el cache. En Claude Code, ejecuta /cost para ver si hay descuento de cache aplicado.
“No tengo tiempo para cambiar de modelo en cada tarea” Empieza con solo dos niveles: barato y premium. Usa el barato para todo excepto las 3-4 tareas complejas de la semana. Ese simple cambio ya te ahorra un 20-30%.
“El modelo barato genera código peor” Para las tareas donde esto pasa (arquitectura, lógica compleja), usa el modelo premium. El routing no es “usa solo lo barato”, es “usa lo barato cuando funciona, lo premium cuando se necesita”. Un 60-70% de las tareas de un dev son mecánicas y no necesitan un modelo de $15/MTok.
Siguientes pasos
- Esta semana: habilita prompt caching y acorta tu CLAUDE.md a menos de 60 líneas. Son cambios de 10 minutos con impacto inmediato.
- La semana que viene: implementa model routing con dos niveles. Empieza con “barato por defecto, premium cuando la tarea lo pide”.
- En dos semanas: revisa tu dashboard de costes. Compara con antes. Ajusta.
Para más contexto sobre cómo elegir modelos por tarea (no por agente), nuestra guía de costes LLM y routing cubre pricing, caching semántico y proveedores en profundidad. Y si quieres ir más allá con el patrón de usar modelos distintos para generar y para revisar, el patrón drafter/reviewer explica cómo implementarlo con números reales.
Fuentes
- Beam: AI Agent Token Cost Optimization — datos de consumo por categoría y ahorro con prompt caching.
- Dev.to: How to Reduce Agent Token Costs From the CLI — tácticas específicas para Claude Code y Codex CLI.
- Anthropic: Prompt Caching docs — estructura y requisitos del caching.
- Precios de modelos: páginas oficiales de Anthropic, OpenAI y Z.AI, consultados en mayo 2026.