Saltar al contenido
Claude Code

Dónde se van tus tokens de Claude Code: el informe que ya tienes en tu ordenador

El comando /insights analiza tus sesiones y te genera un HTML. Y por qué acortar prompts no sirve de nada: el 97 % de tus tokens es Claude releyendo.

Alejandro de Blas, fundador de Aducti

Fundador de Aducti. Software e IA.

8 min de lectura
Ver vídeo original

Te quedas sin límite a media tarde y el consejo que encuentras siempre es el mismo: escribe prompts más cortos. Es un consejo inútil, y tengo los números para demostrarlo.

Los saqué de mi propia máquina. Cinco meses de trabajo, 5.614.058.074 tokens. De todo eso, lo que yo he escrito es el 0,02 %.

Dos de cada diez mil.

Primero: el comando que casi nadie ejecuta

Claude Code tiene un comando llamado /insights. No aparece en claude --help porque no es un subcomando de la CLI: se escribe dentro de una sesión.

texto
/insights

Analiza todas tus sesiones guardadas y te genera un informe en HTML que se abre en el navegador. En el binario está declarado así:

js
{
  type: "prompt",
  name: "insights",
  description: "Generate a report analyzing your Claude Code sessions",
  progressMessage: "analyzing your sessions",
  source: "builtin",
  requires: { workspace: true }
}

Tarda un rato, porque no solo cuenta: pasa cada sesión por un modelo para extraer lo que no se puede contar. El informe acaba en ~/.claude/usage-data/report-<fecha>.html.

Lo que mide

La parte numérica es la que esperas:

  • Mensajes, líneas añadidas y borradas, ficheros tocados, días activos
  • Herramientas más usadas, lenguajes, commits y pushes
  • Franja horaria en la que trabajas
  • Tiempo que tardas tú en contestar

La parte que no esperas es la otra. El informe también guarda satisfaction, friction, helpfulness, outcomes, total_interruptions y tool_errors. Es decir: cuántas veces cortaste a Claude, cuántas veces la lió, y si la sesión acabó bien.

En el mío, de 43 sesiones analizadas solo 6 llegaron a Fully Achieved. Mi fricción número uno, con 21 apariciones, es wrong_approach: Claude comprometiéndose con un diagnóstico antes de medir nada.

Es incómodo de leer. Por eso merece la pena.

Segundo: de dónde salen los tokens de verdad

El informe no desglosa el consumo por tipo de token, así que fui a la fuente. Claude Code guarda cada sesión en ~/.claude/projects/*.jsonl, y cada respuesta del modelo trae su bloque usage:

json
{
  "input_tokens": 2,
  "cache_creation_input_tokens": 67312,
  "cache_read_input_tokens": 0,
  "output_tokens": 160
}

Sumando los 95 ficheros de mi máquina —424 MB de conversación— sale esto:

  • Input real (lo que escribo yo): 0,02 %
  • Output (lo que responde Claude): 0,25 %
  • Escritura de caché: 2,79 %
  • Lectura de caché: 96,93 %

A esa escala, tu prompt no se ve.

Por qué

Porque cada vez que Claude usa una herramienta, se relee la conversación entera. Lee un fichero, ejecuta un comando, hace una búsqueda: cada una de esas veces el contexto completo vuelve a entrar por la puerta.

Mi herramienta más llamada es Bash, con 3.451 llamadas. Eso son 3.451 relecturas. Editar código es la cuarta.

Por eso acortar el prompt no cambia nada: no estás tocando la variable que manda. La variable que manda es cuánto contexto arrastras y cuántas veces lo relee.

Lo que sí baja la factura

Tres cosas, por orden de impacto:

  1. Tarea nueva, chat nuevo. Es la que más pesa. Una sesión larga arrastra todo lo anterior en cada llamada a una herramienta. Si cambias de tema, cambia de sesión: el contexto viejo ya no aporta y se sigue releyendo.
  1. Compacta antes de que te lo pida. Cuando el compactado salta solo, ya llevas un rato pagando el contexto hinchado. Puedes forzarlo con /compact, y también fijar la ventana con --autocompact <tokens>.
  1. No le abras ficheros largos por si acaso. Un fichero de 400 líneas leído «para que tenga contexto» no se paga una vez: se paga en todas las llamadas siguientes de esa sesión. Pide el trozo que hace falta, no el fichero entero.

Y una cuarta que no es de tokens pero sale del propio informe: si tu fricción también es wrong_approach, di explícitamente «mide primero, no propongas ningún arreglo todavía». Ahorra sesiones enteras.

Cómo mirar tus propios números

El informe lo tienes con /insights. Para el desglose de tokens necesitas leer los .jsonl a mano: están en ~/.claude/projects/, una carpeta por proyecto, un fichero por sesión. Cada línea es un JSON; las que tienen "type":"assistant" llevan el bloque usage de arriba.

Sumando input_tokens, output_tokens, cache_creation_input_tokens y cache_read_input_tokens de todas ellas sale tu reparto real. Deduplica por message.id, porque hay líneas repetidas.

Una advertencia antes de que te asustes con el tamaño: mi carpeta ~/.claude/projects/ ocupaba 17 GB, pero 15,7 GB eran artefactos de un solo proyecto que quedaron ahí dentro. La conversación real eran 424 MB. Mira el desglose antes de sacar conclusiones.

Lo importante

El informe existe, lleva meses escribiéndose en tu disco y nadie lo abre. Ábrelo.

Y deja de acortar prompts. No es ahí donde se van tus límites.

Etiquetas:#claude-code#insights#tokens#limites#contexto#comandos

Recursos relacionados

Claude CodeDestacado
7 min

Las 5 skills de Claude que más me cambian el día a día

Marketing Skills, frontend-design, systematic-debugging, HyperFrames y skill-creator: qué hace cada una, de qué repositorio sale y cómo encadenarlas en un solo flujo.

#claude-code#skills#marketing#frontend#debugging#video#agentes
2 sept 2026
Ver recurso