Script de gestión de presupuesto de tokens para evitar facturas sorpresa en la API de Cloud Code
1. Bloqueo de cargos mediante la configuración de un límite de tokens
Si alguna vez te has llevado una sorpresa al ver la factura de la API después de ejecutar un proyecto pequeño, es porque no tenías un límite de presupuesto. Los agentes mantienen el contexto de la conversación mucho más largo de lo que piensas y leen repetidamente el contenido de archivos innecesarios. Si se dejan desatendidos, se desvanecen cientos de miles de tokens en un solo día. Debes abrir el archivo ~/.claude/settings.json para limitar directamente el uso diario y por sesión.
A continuación se muestra cómo agregar el objeto budget al archivo de configuración global del usuario:
- Abre la terminal y utiliza un editor para abrir el archivo ~/.claude/settings.json.
- Introduce sessionLimit con un valor de 500000 y dailyLimit con un valor de 2000000 dentro del bloque JSON.
- Especifica warningThreshold en 0.75 y establece autoCompactAt en 0.60, luego guarda los cambios.
Cuando la capacidad de contexto alcanza el 60 por ciento, el historial de la conversación se comprime automáticamente y se elimina el desperdicio innecesario de tokens. Como la sesión se bloquea antes de alcanzar el límite diario, puedes olvidarte de la preocupación de exceder el presupuesto.
2. Creación de un rompedor de bucles para la detención forzosa tras 3 errores consecutivos
Si un agente se atasca en el mismo gancho debido a errores de sintaxis o problemas con las rutas de los archivos, entra en un bucle infinito sin poder resolverlo. Si dejas este estado desatendido, los tokens de la sesión se agotarán en pocos minutos. No sirve de nada limitarse a escribir en el aviso que tenga cuidado. Es necesario vincular un sistema de ganchos basado en scripts de shell para bloquearlo físicamente.
Crea un script de gancho que finalice el proceso inmediatamente si detecta el mismo error 3 veces seguidas.
- Crea el archivo .claude/hooks/loop-breaker.sh en el directorio del proyecto y asígnale permisos de ejecución.
- Dentro del script, consulta un archivo de estado temporal para incrementar el contador de errores en 1, y si el recuento acumulado es de 3 o más, emite un error estándar y devuelve un código de salida 2 para detener el trabajo a la fuerza.
- Registra la ruta de dicho script en el elemento PostToolUseFailure del archivo .claude/settings.json para que se supervise en tiempo real.
Al colocar este mecanismo, desaparece el fenómeno en el que el agente quema tokens intentando corregir código erróneo de forma indefinida. Puedes ahorrar el tiempo que se desperdiciaba en el infierno de la depuración.
3. Enrutamiento de modelos según la naturaleza de la tarea y separación de las secciones de aprobación manual
Si dejas todas las tareas de programación enteramente en manos de Claude, el presupuesto no lo resistirá. Las tareas simples de formato o la escritura de código repetitivo (boilerplate) deben delegarse en modelos ligeros, mientras que las operaciones irreversibles, como las migraciones de bases de datos, deben ser aprobadas directamente por el desarrollador. Utiliza alias de shell para construir un entorno de ejecución adecuado a la dificultad de la tarea.
A continuación se muestra la configuración para separar los comandos de delegación del agente según la naturaleza de la tarea:
- Abre el archivo ~/.bashrc o ~/.zshrc.
- Registra el comando
alias cc-quick='claude --model claude-haiku-3-20250307 --token-budget 100000' para tareas simples de documentación.
- Agrega el comando
alias cc-dev='claude --model claude-sonnet-4-20250514 --token-budget 500000 --thinking-budget 8000' para el desarrollo general de funciones y reinicia la terminal.
Al aplicar este método, el agente maneja de forma segura el 90 por ciento de la programación repetitiva simple, y la proporción de relaciones públicas completadas por millón de tokens aumenta notablemente. Es la forma más realista de reducir con certeza a la mitad los costes innecesarios de la API.