29 puntos por remin1994 2026-03-17 | 4 comentarios | Compartir por WhatsApp

Mientras trabajaba con Claude Code, de repente me dio curiosidad saber cómo es que el servidor de Claude reconoce datos como el archivo CLAUDE.md, los skills o cosas como rules / memory.

Así que hice directamente un proxy MITM y creé una herramienta para poder ver el tráfico.

Funciona cambiando el baseURL al ejecutar Claude Code, para capturar y mostrar la comunicación HTTP que ocurre dentro de Claude Code.

Estas son algunas cosas que pude descubrir con esta herramienta.

Con solo decir hello ya se envían 12 KB

  • Es la situación al abrir Claude Code y enviar hello de inmediato.
  • Se mandan content[0] la lista de skills ~2 KB, content[1] CLAUDE.md ~10 KB, y content[2] el texto real de entrada, hello.
  • Es decir, si CLAUDE.md tiene 500 líneas, se envía completo en cada request, y esa es la razón por la que conviene mantener CLAUDE.md conciso.

Mientras más crece la conversación, más se agranda cada request como bola de nieve

  • Se reenvía todo messages[] en cada request. — turno 1: 15 KB, turno 10: 200 KB, turno 30: 1 MB+
  • Incluso las respuestas que dio Claude también se incluyen dentro del request message.
  • Pude ver que, si no se hace /clear de forma periódica en la ventana de contexto, además del desperdicio de tokens, el contexto anterior se va pegando siempre al posterior y eso puede degradar el rendimiento.

Las herramientas MCP se cargan solo cuando hacen falta

  • Al principio solo se cargan N herramientas integradas (varía según la versión de Claude), y cuando hace falta usar una MCP tool, el servidor llama a ToolSearch para encontrar la herramienta que se va a usar.
  • Después, en cada llamada, se agregan las herramientas encontradas arriba y se invocan de esa forma.
  • O sea, como las MCP Tool se cargan dinámicamente, las herramientas de MCP que no se han usado en realidad no generan un gran consumo de tokens.

Los subagentes se ejecutan con un contexto completamente aislado

  • Un subagente es como abrir una sesión nueva sin ningún historial de conversación del padre.
  • En Inspector pueden comparar visualmente, lado a lado, las dos llamadas del padre y del subagente.

Adjuntar una sola imagen agrega varios cientos de KB

  • Si adjuntan una captura de pantalla, se codifica en base64 y se inserta en línea dentro del body JSON.
  • Se puede verificar en tiempo real cuánto hace crecer el request una imagen.

Pueden instalarlo con el siguiente comando.

brew install --cask kangraemin/tap/claude-inspector && sleep 2 && open -a "Claude Inspector"   

GitHub: https://github.com/kangraemin/claude-inspector

Por ahora es solo para macOS y, como es una versión inicial, si me sugieren mejoras las voy a recibir con mucho interés.

Ojalá lo prueben y les ayude a aprender. ¡Gracias!

4 comentarios

 
winterjung 2026-03-18

En el artículo suspiciously precise floats, or,
how I got Claude's real limits
, vi un análisis que decía que, a diferencia del costo de la API, en el plan de suscripción no hay costo por lectura de caché. También me parece que, mientras más larga sea la sesión, podría haber cierta diferencia entre el costo calculado y el costo real.

 
remin1994 2026-03-18

Oh... es un texto que no conocía para nada... ¡lo revisaré! ¡Gracias!

 
kgcrom 2026-03-18

https://github.com/badlogic/lemmy/tree/main/apps/claude-trace
Con esto revisé el prompt y qué herramientas se usaron; también tendré que probar el que hiciste.
Gracias por compartirlo. :+1:

 
remin1994 2026-03-17

Adicionalmente, después de la solicitud se puede ver en la respuesta la cantidad de tokens usados en esa request.

Modelo: claude-sonnet-4-6
Tamaño de la solicitud: 68.9 KB

"usage": {
  "input_tokens": 3,
  "cache_creation_input_tokens": 12394,
  "cache_read_input_tokens": 6499,
  "cache_creation": {
    "ephemeral_5m_input_tokens": 0,
    "ephemeral_1h_input_tokens": 12394
  },
  "output_tokens": 74,
  "service_tier": "standard",
  "inference_geo": "not_available"
}

Además, también calculé el costo por request aplicando el precio de cada modelo, así que espero que lo usen mucho jaja.

Lectura de caché: 6.5K tok × $0.3/MTok = $0.0019
Escritura de caché: 12.4K tok × $3.75/MTok = $0.0465
Entrada sin caché: 3 tok × $3/MTok = $0.0000
Salida: 74 tok × $15/MTok = $0.0011

Total: $0.0495
Tasa de aciertos de caché: 34%