Recableado

Un viajero de 72 años descubriendo el último continente


Claude sin hemorragias: cómo cerramos una fuga de tokens 24/7


Hay crisis que no empiezan con una explosión.

Empiezan con un contador que baja demasiado deprisa.

La Crisis de Cuota de Claude no fue una tragedia épica. Fue algo más peligroso: una fuga silenciosa, cotidiana, perfectamente técnica. La clase de problema que no parece urgente hasta que descubres que tu sistema de IA lleva horas, días, respirando por agujeros que nadie estaba mirando.

El síntoma era sencillo: la cuota desaparecía.

La causa no era una sola.

Era un sistema con demasiadas puertas abiertas.

La fuga

Primero apareció el proceso vampiro.

ClaudeClaw seguía vivo en el Mac Mini, consumiendo en segundo plano como si tuviera una silla reservada en la máquina. No estaba aportando trabajo visible. No estaba produciendo valor. Simplemente seguía ahí, conectado al cuello de la cuota, 24/7.

Después vimos el segundo agujero: el arranque.

Cada turno de Claude nacía con una mochila absurda: unos 14.000 tokens de overhead antes incluso de empezar a pensar. La razón era clara: demasiados MCPs activos, más de 18 herramientas respirando al mismo tiempo, todas entrando en escena aunque muchas no fueran necesarias para la tarea del momento.

Y luego llegó el tercer frente.

El Conductor lanzó 40 subagentes en un solo día.

Eso ya no era automatización. Era una inundación.

La IA no estaba siendo vaga. Estaba siendo demasiado obediente dentro de una arquitectura sin suficientes válvulas.


Infografía técnica de la Crisis de Cuota de Claude: de la fuga al sistema de válvulas


La intervención

La solución no fue pedirle a Claude que “gastara menos”.

Eso habría sido como pedirle educación a una tubería rota.

La solución fue rediseñar el sistema.

1. Kill Switch

Primero cerramos la fuga visible.

Los procesos en segundo plano que seguían consumiendo sin aportar trabajo real fueron eliminados. No suspendidos con buenas intenciones. Eliminados.

En un sistema de IA operativo, un proceso zombie no es una molestia: es una suscripción fantasma.

2. La poda

Después vino la parte menos glamourosa y más importante: limpiar.

MCPs redundantes fuera. Worktrees viejos de más de siete días fuera. Configuraciones que se habían acumulado por entusiasmo, experimentos y urgencias, fuera del arranque por defecto.

La poda no reduce capacidad.

Reduce ruido.

Y en IA, el ruido se paga dos veces: primero en tokens, después en criterio.

3. El Gate Global

La pieza final fue instalar una compuerta.

agent-parallel-limit.sh: máximo 5 agentes cada 60 segundos.

No para impedir que el sistema trabaje. Para impedir que se desborde. Hay una diferencia enorme entre dar autonomía y dejar que una arquitectura lance subagentes como si el contador de créditos fuera decorativo.

La IA puede correr.

Pero ahora corre por una pista.

El resultado

El sistema quedó lean.

Más ligero. Más gobernable. Más serio.

El overhead de arranque bajó entre un 60 y un 70%. Cada turno empezó a entrar más limpio. El contexto volvió a ser herramienta, no lastre. Y lo más importante: el gasto de créditos dejó de sentirse como una tormenta.

Ahora es un panel.

Interruptores. Válvulas. Límites. Trazabilidad.

Esa es la filosofía de Recableado: no apagar la máquina por miedo, sino enseñarle a respirar con disciplina.

Porque el problema real nunca fue Claude.

El problema era haber confundido potencia con libertad absoluta.

Acto final: el velocímetro

La victoria real no fue apagar cosas.

Fue medir.

Después de cerrar procesos, podar MCPs y limpiar worktrees, construimos la herramienta que faltaba: token-audit.

No queríamos suposiciones. Queríamos datos.

Ahora tenemos un comando que nos dice cuánto contexto estamos usando, qué porcentaje representa sobre la ventana de 1 millón de tokens, cuál es el cache hit y cuál es el gasto real. Es el velocímetro del sistema. El panel que convierte ansiedad en telemetría.

La frase queda escrita como ley de taller:

Si no puedes medirlo, no puedes gobernarlo.

Y entonces apareció el error invisible.

El sistema no solo estaba pesado por exceso de herramientas. Había un bug escondido en el .zshrc: un source recursivo. Una configuración llamándose a sí misma como una escalera que no termina nunca.

La metáfora era demasiado perfecta para dejarla pasar. A veces una máquina no va lenta por falta de potencia. Va lenta porque está atrapada en un bucle infinito de su propia configuración.

Ese hallazgo cerró el círculo: no bastaba con matar al proceso vampiro. Había que limpiar la casa eléctrica por dentro.

El número que cambió el ánimo fue este:

95% de Cache Hit.

Eso significa que, tras la poda y la limpieza, la IA dejó de tirar tokens al suelo. Empezó a reutilizar contexto con inteligencia. Ya no estábamos quemando créditos para repetirnos. Estábamos invirtiéndolos en avanzar.

Para un Vibe Coder de 72 años, el cierre no podía ser mejor: sobrevivimos a una crisis de cuota y salimos con una infraestructura más profesional, más medible y más gobernable que la de muchos equipos que aún confunden entusiasmo con arquitectura.

No fue una retirada.

Fue una mejora de mando.

Resumen técnico copiable

#!/usr/bin/env bash
# Recableado Claude Quota Crisis - technical summary
# Goal: stop background leaks, reduce startup overhead, limit agent floods,
# and measure the system instead of guessing.

set -euo pipefail

### 1. Kill Switch: stop vampire background processes

echo "[kill-switch] Looking for ClaudeClaw background processes..."

pkill -f "ClaudeClaw" 2>/dev/null || true
pkill -f "claude.*background" 2>/dev/null || true

echo "[kill-switch] Background leak sweep complete."


### 2. Pruning: reduce default context load

echo "[prune] Manual MCP audit:"
echo "  - Disable redundant MCPs"
echo "  - Keep only high-value tools in the default startup path"
echo "  - Avoid loading 18+ tools when the task does not need them"

echo "[prune] Worktrees older than 7 days:"
find . -maxdepth 3 -type d -name ".git" -mtime +7 \
  | sed 's#/.git##' \
  | sort

# Optional deletion pattern, only after review:
# find ./worktrees -maxdepth 1 -type d -mtime +7 -print -exec rm -rf {} \;


### 3. Global Gate: limit agent launches

# Save as: agent-parallel-limit.sh
# Policy: max 5 launches per 60 seconds.

cat > agent-parallel-limit.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail

LIMIT=5
WINDOW_SECONDS=60
STATE_DIR="${TMPDIR:-/tmp}/recableado-agent-gate"
STATE_FILE="$STATE_DIR/launches.log"
LOCK_FILE="$STATE_DIR/gate.lock"

mkdir -p "$STATE_DIR"

now="$(date +%s)"

(
  flock -x 200
  touch "$STATE_FILE"

  awk -v now="$now" -v window="$WINDOW_SECONDS" \
    '$1 >= now - window { print $0 }' "$STATE_FILE" > "$STATE_FILE.tmp"

  mv "$STATE_FILE.tmp" "$STATE_FILE"

  count="$(wc -l < "$STATE_FILE" | tr -d ' ')"

  if [ "$count" -ge "$LIMIT" ]; then
    echo "[agent-gate] Blocked: $count launches in the last ${WINDOW_SECONDS}s."
    echo "[agent-gate] Limit is ${LIMIT}/${WINDOW_SECONDS}s. Try again shortly."
    exit 42
  fi

  echo "$now ${*:-agent}" >> "$STATE_FILE"
  echo "[agent-gate] Allowed: $((count + 1))/${LIMIT} in current window."

) 200>"$LOCK_FILE"

# Put the real agent command here, for example:
# exec claude-agent "$@"
EOF

chmod +x agent-parallel-limit.sh


### 4. Token Speedometer: measure before governing

# Command contract for token-audit:
#   - context used as % of the 1M token window
#   - cache hit rate
#   - real credit/token spend signal
#
# Example output target:
#   context_window_used: 8.7% / 1M
#   cache_hit: 95%
#   startup_overhead: down 60-70%

token-audit

echo "[done] Lean mode enabled: fewer leaks, lower startup overhead, controlled fan-out, measured spend."

Cierre

Un sistema de IA serio no se mide solo por lo que puede hacer cuando todo va bien.

Se mide por lo que deja de hacer cuando nadie le está mirando.

Hoy Claude vuelve a ser útil porque la arquitectura volvió a tener gobierno, velocímetro y memoria limpia.

Y esa, al final, es la diferencia entre usar IA y recablearse de verdad: no salir de la crisis más prudente, sino salir con mejores instrumentos.

¿Qué te ha parecido?

G

Giora

Recableado

72 años, 42 vendiendo viajes, y 5 IAs que hacen el trabajo de un equipo entero. Pregúntame lo que quieras — sobre el blog, mi stack, o cómo pasé de un gin tonic a un prompt.

Recableado · Blog de Giora Gilead