Mi orquestador de agentes consumió entre 1 y 2 millones de tokens Opus por tarea.

Cómo se dispararon los costes

El orquestador fue construido para Claude Code y utilizaba una jerarquía de subagentes. Cada subagente heredaba la configuración del padre, ejecutaba su propio prompt y devolvía el resultado al bucle hasta que un revisor declaraba que la salida estaba "limpia". La herramienta completaba las tareas, pero el precio era astronómico.

Tres "impuestos" ocultos multiplicaron el recuento de tokens:

  • Impuesto del modelo – Los subagentes nunca especificaban un modelo, por lo que utilizaban Opus por defecto, el nivel más caro. Una operación mínima que habría cabido en un modelo más económico (Haiku o Sonnet) se facturaba a tarifas de Opus.
  • Impuesto de caché – El almacenamiento en caché de prompts (prompt caching) solo reutiliza coincidencias exactas byte por byte. Debido a que cada subagente añadía instrucciones personalizadas, cada llamada forzaba una escritura de caché en frío (cold cache write). La caché del padre no podía reutilizarse, desperdiciando el ahorro que normalmente proporciona una caché compartida.
  • Impuesto del bucle – La regla de "bucle hasta que esté limpio" mantenía el proceso vivo mientras un revisor encontrara cualquier fallo. Sin un límite estricto, el bucle se ejecutaba hasta que el modelo se detenía.

En conjunto, estos multiplicadores convirtieron un puñado de líneas de código en una avalancha de tokens.

Por qué falló la regla de presupuesto en el prompt

El diseño original intentaba frenar el gasto integrando una regla de presupuesto directamente en el system prompt. En teoría, decirle al modelo "mantente por debajo de X tokens" debería haber limitado el uso. En la práctica, una regla basada en el prompt es simplemente una preferencia. A medida que la sesión crece, el modelo comprime el contexto y puede descartar o ignorar esas instrucciones por completo. El resultado: el modelo se comportaba como si la regla nunca hubiera existido.

Trasladar la ejecución del prompt al código

El rediseño eliminó la lógica de presupuesto del prompt y la colocó en un sistema de hooks determinista que el modelo no puede anular.

  1. Selección explícita de modelo – Cada envío de subagente requiere ahora una elección concreta de modelo (Haiku, Sonnet u Opus). La herencia silenciosa ha desaparecido, por lo que las tareas económicas siguen siendo económicas.
  2. Controles estrictos mediante un hook PreToolUse – Antes de que se ejecute cualquier herramienta, el hook comprueba:
    • El número de envíos ya realizados en la sesión.
    • Si el modelo elegido cumple con un nivel mínimo (evitando el uso accidental de Opus).
    • Un número máximo de iteraciones del bucle, tras las cuales el proceso se aborta.

Si se activa cualquier control, el código aborta el subagente; el modelo de lenguaje no tiene forma de argumentar para reincorporarse.

Qué significa esto para los desarrolladores

Cualquier sistema que imponga límites de gasto, políticas de seguridad o restricciones en comandos destructivos debe tratar esas limitaciones como código, no como una guía conversacional. Un prompt puede ser sobrescrito, ignorado o perderse en la compresión interna del modelo. El código, por otro lado, se ejecuta de forma determinista y puede ser auditado.