Saltar al contenido principal

Claude Code cache miss y coste de tokens: por que un turn sale caro

A
10 min de lecturaClaude Code

Un cache miss en Claude Code no es una linea de recargo separada. Primero separa ruta, cache creation, cache read, invalidadores recientes y superficie de facturacion.

Claude Code cache miss y coste de tokens: por que un turn sale caro

Un cache miss en Claude Code suele significar que el prefijo reutilizable no paso por la lectura barata de cache. El turn se vuelve caro porque esa parte del contexto fue procesada de nuevo, escrita de nuevo en prompt cache o solo coincidio parcialmente. Los output tokens siguen siendo otra parte normal del coste.

A fecha 24 de mayo de 2026, la matematica de Anthropic explica el 12.5x que circula en muchas conversaciones tecnicas. Una escritura de cache de 5 minutos cuesta 1.25x el input base, mientras que una lectura de cache cuesta 0.1x para los mismos tokens. 1.25 / 0.1 = 12.5. Eso es una comparacion entre escritura y lectura, no una tarifa oficial separada por "cache miss".

Antes de cambiar tu flujo, ponle nombre a la ruta que genero el numero: uso de suscripcion, facturacion con API key, estimacion de Agent SDK, Bedrock, Vertex, Foundry o gateway. Luego compara cache_creation_input_tokens, cache_read_input_tokens, modelo, cambios de MCP, comandos como /compact, version de Claude Code, marcas de tiempo y la superficie de facturacion que corresponde a esa ruta. Sin esa disciplina, un invalidator normal parece un bug.

Respuesta rapida: prueba la ruta antes de tocar el cache

PreguntaRespuesta cortaPrueba que debes recoger
Un cache miss es una tarifa separada?No. Significa que el prefijo no se leyo barato desde cache y tuvo que procesarse o escribirse otra vez.Campos de creation/read dentro de la misma ruta.
Por que aparece 12.5x?Escritura de 5 minutos a 1.25x dividida por lectura a 0.1x para el mismo volumen.Pagina actual de precios de Anthropic y campos de usage.
Que revisar primero?El propietario de la ruta: suscripcion, API key, SDK, proveedor cloud o gateway./status, /cost, Claude Console, Usage and Cost API, invoice del proveedor.
Cuando es sospechoso?Cuando turns parecidos repiten high creation y low read con modelo, MCP, ruta y timing estables.Timestamps, version, modelo, lista MCP y deltas de campos.
Que no hacer primero?No compactar, cambiar provider o declarar bug sin identificar el invalidator.Nombrar el cambio que pudo alterar el prefijo.

Si la duda real es que ruta esta activa, usa primero Claude Code API key vs subscription billing. Si el problema mas amplio es contexto pesado por demasiados MCP o definiciones de herramientas, el camino correcto es Claude Code MCP context overload. El cache miss explica la economia de entrada de un turn; no sustituye un diagnostico de limites, plan o factura del proveedor.

El 12.5x es matematica entre write y read

La pagina de precios de Claude API separa input normal, cache write, cache read y output. La estructura publica actual dice que una escritura de cache de 5 minutos cuesta 1.25x del input base, una escritura de 1 hora cuesta 2x y una lectura de cache cuesta 0.1x.

text
5-minute cache write / cache read = 1.25 / 0.1 = 12.5 1-hour cache write / cache read = 2.0 / 0.1 = 20

Esa formula solo debe usarse cuando comparas el mismo volumen de prefijo. Si ayer ese bloque fue leido desde cache y hoy se escribio, el contraste explica por que el turn parece caro. Pero la formula no demuestra una linea de recargo llamada cache miss fee, ni demuestra por si sola un bug de Claude Code.

Una nueva conversacion, un cambio de modelo, conectar o desconectar MCP servers, un intervalo largo de inactividad, actualizar Claude Code o ejecutar /compact pueden producir una nueva cache creation esperable. El riesgo aumenta cuando el prefijo es grande: historial largo, contexto de proyecto, tool results, definiciones MCP, subagents, file packs o system prompt extenso. Un miss pequeno puede ser ruido; una creation grande y repetida en turns parecidos merece investigacion.

Libro de tokens: el total no cuenta toda la historia

Libro de cache creation y cache read tokens en Claude Code

No diagnostiques un turn caro solo con total tokens. El total mide tamano, pero no explica por que el coste subio. Separa la lectura por clases.

MedidorQue significaComo usarlo
Input tokens normalesEntrada procesada por el modelo sin lectura barata de cache.Coste base cuando no hay cache o solo coincide una parte.
cache_creation_input_tokensTokens escritos en prompt cache o procesados como creation.Una escritura esperada puede ser normal; creation alta repetida es la senal.
cache_read_input_tokensTokens leidos desde una entrada de cache existente.Read alto frente a creation suele indicar reutilizacion correcta.
Output tokensRespuesta generada por el modelo.El ahorro de input no vuelve gratis el output.
Uso de suscripcionVentanas de plan, seat usage, reset y limites incluidos.No se compara directamente con una factura API.
/cost y campos del SDKEstimaciones locales o de cliente.Sirven para tendencia, pero son mas debiles que la factura.
Console, Usage and Cost API, invoice de proveedorSuperficie autoritativa para su ruta.Prueba final de gasto y soporte.

La documentacion de Agent SDK cost tracking trata total_cost_usd y costUSD como estimaciones. Eso no las invalida: son utiles para detectar una sesion descontrolada y comparar turns similares. Pero para una decision financiera vuelve a Claude Console, Usage and Cost API, factura cloud, registros del gateway o la superficie de suscripcion correspondiente.

Cuando no sabes que ruta esta activa, empieza con una comprobacion minima:

bash
claude /status /cost

/status ayuda a identificar cuenta o ruta. /cost puede servir para monitorizar gasto de estilo API, pero la prueba de facturacion pertenece a la ruta que produjo esa ejecucion.

Que acciones invalidan el cache en Claude Code

Matriz de invalidadores de cache por modelo MCP compact y cambios de ruta

La documentacion de Claude Code prompt caching se basa en prefix matching. Si cambia una parte temprana de la solicitud, lo que viene despues puede dejar de coincidir aunque el texto del usuario parezca parecido. Por eso la pregunta no es solo "cuantos tokens", sino "que cambio justo antes del turn caro".

Accion recienteRiesgoSiguiente comprobacion
Cambiar de modeloAltoCompara model y timestamp antes y despues del spike.
Conectar o desconectar MCP serversAltoLas tool definitions pueden cambiar el prefijo temprano.
Denegar una herramienta completaAltoWhole-tool denial cambia el contexto de herramientas disponibles.
Ejecutar /compactAltoReescribe el conversation context y puede romper reuse.
Actualizar Claude CodeAltoLa version puede cambiar prompt shape o cache scope.
Cambiar provider, API route o gatewayAltoCambian cache scope y billing owner.
Mucho tiempo inactivoMedioEl TTL pudo expirar antes del siguiente read.
Subagents, forks, worktrees o directoriosMedioEl contexto puede dividirse por path, proceso o agent scope.
Editar archivosMenorAgrega contexto, pero no siempre cambia el prefijo temprano.
Cambiar output style o permission modeMenorRegistralo si coincide con el momento del spike.
/recap o rewindMenorPuede ser util, pero verifica los campos de usage.

La interpretacion conservadora evita falsas alarmas. Una cache write despues de un cambio significativo puede ser esperada. Una cache creation repetida con la misma ruta, modelo, MCP setup, intervalo corto y contexto parecido tiene mucho mas peso diagnostico.

Evidencia por ruta: no mezcles cinco contratos

Una misma sesion local de Claude Code puede mostrar numeros que vienen de contratos distintos. Subscription login, API key, Agent SDK, cloud provider y gateway pueden exponer usage o cost, pero no son el mismo contador.

RutaQue puede significar el numeroPrueba mas fuerte
Claude subscription loginUso de plan o seat, ventanas de limite, reset timing e included usage.Lenguaje de Help Center, estado de cuenta, /status, mensajes del plan.
Claude API keyFacturacion API pay-as-you-go por tokens.Claude Console, Usage and Cost API, project billing settings.
Agent SDKUsage y cost estimate desde mensajes del SDK.Campos SDK mas Console o Usage and Cost API.
Bedrock, Vertex, FoundryUso de modelo por proveedor, limites de cache y factura del proveedor.Invoice cloud y logs de request de esa ruta.
GatewayRegistros del gateway y pass-through hacia upstream.Logs del gateway y upstream billing si esta disponible.

Claude Code costs y el articulo de Help Center sobre uso y limites importan porque separan subscription usage de API billing. No uses un mensaje de limite de suscripcion para probar gasto API. No uses una estimacion de SDK para probar que se cobro un asiento de suscripcion.

Si el sintoma real es una interrupcion por ventana de plan, mira Claude Code rate limit o Claude Code rate limit reached. La matematica de cache ayuda a explicar consumo de input, pero no es todo el playbook de recuperacion de cuota.

Orden de correccion: cambia poco y mide el siguiente turn

Escalera de correccion de Claude Code cache miss y paquete de soporte

Un turn caro no exige redisenar todo el flujo. Cambia una variable, verifica y conserva la comparacion en la misma ruta.

  1. Identifica la ruta. Suscripcion, API key, SDK estimate, provider route o gateway route.
  2. Lee los campos de cache. Compara cache_creation_input_tokens y cache_read_input_tokens en varios turns parecidos.
  3. Nombra el invalidator. Modelo, MCP, whole-tool denial, /compact, upgrade, provider, TTL, subagent, fork, worktree o directory scope.
  4. Estabiliza el prefijo temprano. No cambies modelo ni MCP setup a mitad de la misma tarea sin razon.
  5. Separa trabajos no relacionados con /clear. Mezclar tareas hace el prefijo grande e inestable.
  6. Usa /compact en cortes naturales. Sirve cuando la conversacion es demasiado grande, pero no es el primer remedio para un miss.
  7. Evalua 1-hour TTL por cadence. Tiene multiplicador de escritura mayor y solo compensa si los read posteriores lo recuperan.
  8. Verifica el siguiente turn parecido. Una correccion real reduce repeated creation y aumenta read con modelo y ruta estables.

Si cambias modelo, reduces MCP, compactas y cambias gateway al mismo tiempo, el resultado puede bajar pero no sabras por que. La trazabilidad importa mas que el gesto grande.

Paquete para un spike sospechoso

No escales con una frase vaga. Prepara datos que permitan comparar la misma ruta y la misma forma de contexto.

EvidenciaPor que importa
Timestamp y zona horariaPermite alinear usage records e invoices.
Version de Claude CodeUn upgrade puede cambiar prompt shape.
ModeloEl cambio de modelo es un invalidator conocido.
Ruta activaSuscripcion, API key, SDK, provider y gateway no se mezclan.
Lista MCP antes y despuesConnect/disconnect puede cambiar el prefijo temprano.
Cambios de permisos de herramientasWhole-tool denial cambia tool context.
/compact, /clear, /recap, rewind historyAcciones que alteran conversation shape.
cache_creation_input_tokens y cache_read_input_tokensPrueba central de write frente a read.
Turns parecidos con hit y missUna comparacion pesa mas que una captura aislada.
Billing surfaceConsole, Usage and Cost API, invoice del proveedor o subscription usage.

Una cache write despues de un cambio de contexto no basta para acusar un bug. Creation alta repetida con ruta, modelo, MCP setup, timing y contexto similares si justifica un support packet.

Preguntas frecuentes

Un cache miss en Claude Code es una tarifa separada?

No. Es mejor leerlo como el lado caro de prompt caching: el prefijo reutilizable no fue leido desde cache al precio bajo y se proceso o escribio de nuevo. Mira token class y ruta, no una linea de recargo.

De donde sale el 12.5x?

Sale de los multiplicadores actuales de Anthropic. Una escritura de cache de 5 minutos cuesta 1.25x input base y una lectura cuesta 0.1x. Para los mismos tokens, 1.25 / 0.1 = 12.5.

Que campos prueban el comportamiento de cache?

Empieza con cache_creation_input_tokens y cache_read_input_tokens. Creation alta con read bajo significa que el prefijo no se reutilizo barato. La repeticion en turns parecidos es la senal fuerte.

/compact reduce el coste?

A veces, pero no es una correccion universal. Puede reducir una conversacion demasiado grande en un corte natural, aunque tambien reescribe contexto y puede romper reuse.

Debo usar 1-hour TTL?

Solo si la ruta lo soporta y el patron de reutilizacion compensa el write mas caro. Un TTL largo ayuda cuando habra lecturas futuras, no por si mismo.

/cost es mi factura de Claude?

No. /cost y los campos SDK son estimaciones utiles para monitoring. La prueba final es Claude Console, Usage and Cost API, invoice de proveedor, gateway records o la superficie de suscripcion activa.

Cuando puedo sospechar un bug de cache?

Cuando ya tienes same-route evidence: timestamp, version, model, route, MCP setup, permission changes, cache fields, turns comparables y billing surface. Antes de eso, un invalidator normal o TTL expiry es mas probable.

Share:

laozhang.ai

One API, All AI Models

AI Image

Gemini 3 Pro Image

$0.05/img
80% OFF
AI Video

Sora 2 · Veo 3.1

$0.15/video
Async API
AI Chat

GPT · Claude · Gemini

200+ models
Official Price
Served 100K+ developers
|@laozhang_cn|Get $0.1