Phase 15 - Lesson 13
Presupuestos de Acción, Límites de Iteración y Gobernadores de Costo
This lesson includes a graded coding exercise that runs in your browser, unlocked with lifetime access.
El costo mensual de LLM de un agente de comercio electrónico de tamaño mediano aumentó de
,200 a $4,800 después de que su equipo habilitara la habilidad "order-tracking". Eso no es un error de precios. Es un agente que encontró un nuevo bucle (loop) y siguió gastando dentro de él. El Agent Governance Toolkit de Microsoft (2 de abril de 2026) codifica la defensa contra esta clase:max_tokenspor solicitud, presupuestos de tokens y dólares por tarea, límites por día/mes, límites de iteración, enrutamiento de modelos en capas, almacenamiento de prompts en caché, ventanas de contexto, puntos de verificación HITL en acciones costosas, interruptores de apagado (kill switches) en caso de incumplimiento del presupuesto. El Claude Code Agent SDK de Anthropic incluye las mismas primitivas con diferentes nombres. Los límites de velocidad financiera — por ejemplo, cortar el acceso ante un gasto mayor a $50 en 10 minutos — detectan bucles más rápido que los límites mensuales.Tipo: Aprender Lenguajes: Python (biblioteca estándar, simulador de gobernador de costos en capas) Prerrequisitos: Fase 15 · 10 (Modos de permiso), Fase 15 · 12 (Ejecución durable) Tiempo: ~60 minutos
El Problema
Los agentes autónomos gastan dinero real en cada turno. La salida incorrecta de un chatbot es una respuesta incorrecta; el bucle incorrecto de un agente es una factura. El término documentado por la industria para este modo de falla es "Denial of Wallet" (Denegación de Cartera) — el agente sigue razonando, sigue llamando herramientas, sigue facturando y nada lo detiene porque nada fue diseñado para hacerlo.
La solución no es un solo número. Es una pila de límites en diferentes escalas de tiempo y granularidades: por solicitud, por tarea, por hora, por día, por mes. Una pila bien diseñada detecta un bucle descontrolado en cuestión de minutos, una fuga lenta en horas y un lanzamiento defectuoso en un día. Esta misma pila permite mantener un presupuesto cuando el agente es de largo alcance (long-horizon) y autónomo.
Esta es una lección de ingeniería: la matemática es trivial, la disciplina es donde los equipos fallan. Todos los límites de la lista a continuación se mencionan en el Agent Governance Toolkit de Microsoft o en la documentación del Claude Code Agent SDK de Anthropic.
El Concepto
La pila del gobernador de costos
max_tokenspor solicitud. Simple. Evita que una sola llamada genere una finalización ilimitada.- Presupuesto de tokens por tarea. En toda la ejecución, no exceder los N tokens. Parada estricta al alcanzar el límite.
- Presupuesto en dólares por tarea. Igual que con los tokens pero en moneda local.
max_budget_usden Claude Code.- Límite de llamadas por herramienta. No más de N llamadas
WebFetch, N llamadasshell_exec, etc.- Límite de iteración (
max_turns). Iteraciones totales del bucle del agente; evita bucles de razonamiento infinitos.- Límite por minuto / por hora / por día / por mes. Ventanas móviles. Detecta fugas a diferentes escalas de tiempo.
- Límite de velocidad financiera. Por ejemplo, "si el gasto supera los $50 en 10 minutos, cortar el acceso". Detecta el consumo basado en bucles antes de que se activen los límites mensuales.
- Enrutamiento de modelos en capas. Predetermina un modelo más pequeño; escala a uno más grande solo cuando un clasificador determine que la tarea lo justifica.
- Almacenamiento de prompts en caché. El prompt del sistema y el contexto estable se almacenan en la caché del proveedor; el costo en tokens de reenvío es casi cero.
- Ventanas de contexto. Compactación / resumen para mantener el contexto activo por debajo de un umbral; reducción directa del costo de tokens.
- Puntos de verificación HITL en acciones costosas. Antes de una acción que se sabe que es costosa (llamada a herramienta larga, descarga grande, actualización costosa del modelo), requiere la confirmación de un humano.
- Interruptor de apagado (kill switch) en caso de incumplimiento de presupuesto. La sesión se aborta cuando se activa cualquier límite. El límite se registra; requiere una ruta separada de reactivación.
Por qué la pila y no un solo límite
Un solo límite mensual detecta a un agente descontrolado solo después de que se ha agotado la cartera. Un solo límite por solicitud no detecta nada a nivel de sesión. Diferentes modos de falla requieren diferentes escalas de tiempo:
- Bucle descontrolado (agente atascado en un reintento de 5 segundos): detectado por el límite de velocidad.
- Fuga lenta (agente que realiza aproximadamente el doble del trabajo esperado por tarea): detectado por el límite diario.
- Lanzamiento defectuoso (la nueva versión usa 5 veces más tokens): detectado por el límite semanal / mensual.
- Pico legítimo (demanda real, no un error): detectado por el límite de hora / día con un registro claro.
Superficie de presupuesto de Claude Code
El Claude Code Agent SDK expone (documentos públicos):
max_turns— límite de iteración.max_budget_usd— límite en dólares; la sesión se aborta en caso de incumplimiento.allowed_tools/disallowed_tools— lista de herramientas permitidas y denegadas.- Puntos de enlace (hooks) antes del uso de herramientas para contabilidad de costos personalizada.
Combínelo con la escala de modos de permiso (Lección 10). Una sesión en
autoModesinmax_budget_usdes autonomía sin control. Anthropic establece explícitamente que el Auto Mode requiere controles presupuestarios; el clasificador es independiente del costo.Ley de IA de la UE, OWASP Agentic Top 10
El Agent Governance Toolkit de Microsoft cubre los requisitos del OWASP Agentic Top 10 y el Artículo 14 de la Ley de IA de la UE (supervisión humana). Para la producción en la UE, el registro y la aplicación de límites no son opcionales.
El caso observado de
,200 → $4,800El caso real en los documentos de Microsoft: un agente de comercio electrónico cuyo costo mensual se triplicó después de agregar una nueva herramienta. La herramienta permitía al agente consultar (poll) el estado del pedido durante cada sesión. Sin detección de bucles. Sin límite por herramienta. Sin alerta sobre el crecimiento semana a semana. La solución fue un límite por herramienta más una alerta de crecimiento diario. Este es un patrón: cada nueva interfaz de herramienta es un nuevo bucle potencial; cada nueva herramienta necesita su propio límite y su propia alerta.
Úsalo
code/main.pysimula la ejecución de un agente con y sin una pila de gobernadores de costo en capas. El agente simulado entra en un bucle de consulta (polling) después de algunos turnos; la pila en capas lo detecta dentro de la ventana de velocidad, mientras que un solo límite mensual no se activaría hasta días después.Envíalo
outputs/skill-agent-budget-audit.mdaudita la pila de gobernadores de costo de un despliegue de agente propuesto e identifica las capas faltantes.Ejercicios
Ejecuta
code/main.py. Confirma que el límite de velocidad se activa antes del límite de iteración en una trayectoria de bucle de consulta (polling). Ahora desactiva el límite de velocidad y mide cuánto "gasta" el agente antes de que el límite de iteración lo detecte.Diseña un conjunto de límites por herramienta para un agente de navegador (Lección 11). ¿Qué herramienta necesita el límite más estricto? ¿Qué herramienta puede ejecutarse sin límites y sin riesgo?
Lee la documentación del Agent Governance Toolkit de Microsoft. Lista cada tipo de límite que menciona el kit de herramientas. Mapea cada uno a uno de los modos de falla (bucle descontrolado, fuga lenta, lanzamiento defectuoso, pico).
Presupuesta una ejecución nocturna no supervisada para una tarea realista (por ejemplo, "clasificar 50 issues en un repositorio"). Establece
max_budget_usden el doble de tu estimación inicial. Justifica ese factor de 2x.El
max_budget_usdde Claude Code se activa según el costo acumulado de la sesión. Diseña un límite de velocidad complementario que aplicarías externamente. ¿Qué activa la interrupción y cómo sería la reactivación?Términos Clave
Término Lo que dice la gente Lo que realmente significa Denial of Wallet "Factura descontrolada" Bucle de agente que genera gastos sin un límite que lo detenga max_tokens "Límite por solicitud" Límite máximo para el tamaño de una sola finalización max_turns "Límite de iteración" Límite máximo de iteraciones del bucle del agente en una sesión max_budget_usd "Interruptor de apagado en dólares" Límite de costo de la sesión; se aborta en caso de incumplimiento Velocity limit "Límite de tasa" Límite de gasto por ventana de tiempo corta (por ejemplo, $50 / 10 min) Tiered routing "Modelo pequeño primero" Predeterminar modelo barato; escalar solo cuando el clasificador lo justifique Prompt caching "Prompt del sistema en caché" La caché del proveedor reduce el costo de tokens de reenvío a casi cero HITL checkpoint "Puerta de aprobación humana" Requiere confirmación humana antes de una acción costosa Lecturas Adicionales
- Anthropic Claude Code Agent SDK — bucle de agente y presupuestos —
max_turns,max_budget_usd, listas de herramientas permitidas.- Microsoft Agent Framework — humano en el bucle (human-in-the-loop) y gobernanza — puntos de verificación del gobernador de costos.
- Anthropic — Visión geral de Claude Managed Agents — controles de costo del lado del proveedor.
- Anthropic — Almacenamiento de prompts en caché (docs de la API de Claude) — mecánica de almacenamiento en caché.
- Anthropic — Medición de la autonomía del agente en la práctica — perfil de costo para agentes de largo alcance (long-horizon).