executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
manage-token-budgetMonitorea, limita y recupera de la acumulación de contexto en sistemas agénticos. Cubre el seguimiento de costos por ciclo, la auditoría de la ventana de contexto, los límites de presupuesto con políticas de aplicación, la poda de emergencia al acercarse a los límites y la integración de divulgación progresiva para minimizar el gasto de tokens en el enrutam…
Independent GitHub snapshot · Automated classification · Original documentation governs
Controla el costo y la huella de contexto de los sistemas agénticos mediante el seguimiento del uso de tokens por ciclo, la auditoría de qué consume el espacio de contexto, la aplicación de límites de presupuesto, la poda de contexto de bajo valor bajo presión y el enrutamiento a través de metadatos antes de cargar procedimientos completos. El principio central: cada token en la ventana de contexto debe ganarse su lugar. Los tokens que informan decisiones permanecen; los tokens que ocupan espacio sin influir en la salida se podan.
Evidencia de la comunidad: una sesión autónoma de 37 horas costó $13,74 a partir de un intervalo de latido de 30 minutos combinado con instrucciones del sistema detalladas y acumulación de contexto sin control. La solución fue reescribir el latido a intervalos de 4 horas, cambiar al modo solo notificaciones y eliminar la navegación de feeds del bucle. Esta habilidad codifica los patrones que previenen tales incidentes.
Instrumentar el bucle agéntico para registrar el uso de tokens en cada límite de ejecución.
Para cada ciclo (latido, sondeo, ejecución de tarea), capturar:
Almacenar estos en un registro estructurado (líneas JSON, CSV o base de datos) — no en la propia ventana de contexto:
{"cycle": 47, "ts": "2026-03-12T14:30:00Z", "trigger": "heartbeat",
"input_tokens": 18420, "output_tokens": 2105, "cost_usd": 0.0891,
"cumulative_cost_usd": 3.42}
Si el sistema no tiene instrumentación, estimar a partir de la facturación de la API:
Esperado: Un registro que muestra el recuento de tokens y costos por ciclo, con suficiente granularidad para identificar qué ciclos son costosos y por qué. El registro en sí reside fuera de la ventana de contexto.
En caso de fallo: Si los recuentos exactos de tokens no están disponibles (algunas APIs no devuelven metadatos de uso), usar el panel de facturación para derivar promedios. Incluso el seguimiento grueso (costo diario / recuento de ciclos diarios) revela tendencias. Si no es posible ningún seguimiento, proceder al Paso 2 y trabajar desde la auditoría de contexto — puedes estimar los costos a partir del tamaño del contexto.
Medir qué ocupa la ventana de contexto y clasificar los consumidores por tamaño.
Descomponer el contexto en sus componentes y medir cada uno:
Producir una tabla de presupuesto de contexto:
Context Budget Audit:
+------------------------+--------+------+-----------------------------------+
| Component | Tokens | % | Notes |
+------------------------+--------+------+-----------------------------------+
| System prompt | 4,200 | 21% | Includes CLAUDE.md chain |
| Memory (auto-loaded) | 3,800 | 19% | MEMORY.md + 4 topic files |
| Tool schemas | 2,600 | 13% | 3 MCP servers, 47 tools |
| Active skill procedure | 1,900 | 9% | Full SKILL.md loaded |
| Conversation history | 5,100 | 25% | 12 prior turns |
| Current cycle content | 2,400 | 12% | Tool outputs from this cycle |
+------------------------+--------+------+-----------------------------------+
| TOTAL | 20,000 | 100% | Model limit: 200,000 |
| Remaining headroom |180,000 | | |
+------------------------+--------+------+-----------------------------------+
Marcar los componentes que son desproporcionadamente grandes en relación con su valor para la toma de decisiones. Un archivo de memoria de 4.000 tokens que la tarea actual nunca referencia es pura sobrecarga.
Esperado: Una tabla clasificada que muestra cada consumidor de contexto, su tamaño y su porcentaje de la ventana. Al menos un componente destacará como candidato para reducción — más comúnmente el historial de conversación o las salidas verbosas de herramientas.
En caso de fallo: Si los recuentos exactos de tokens por componente son difíciles de obtener, usar recuento de caracteres / 4 como aproximación aproximada para texto en inglés. Para datos estructurados (JSON, YAML), usar recuento de caracteres / 3. El objetivo es la clasificación relativa, no la medición exacta.
Definir límites estrictos y suaves, y especificar qué sucede cuando se alcanza cada uno.
Límite suave (umbral de advertencia): típicamente 60-75% del límite estricto. Cuando se alcanza:
Límite estricto (umbral de parada): el gasto o tamaño de contexto máximo absoluto. Cuando se alcanza:
Límite por ciclo: tokens o costo máximos para cualquier ciclo individual. Evita que un único ciclo desbocado consuma todo el presupuesto:
Documentar los límites en la configuración del flujo de trabajo:
token_budget:
soft_limit_usd: 5.00 # advertir y comenzar la poda
hard_limit_usd: 10.00 # detener y alertar
per_cycle_cap_usd: 0.50 # máximo por ciclo individual
soft_limit_pct: 70 # % de la ventana de contexto que desencadena la poda
hard_limit_pct: 90 # % de la ventana de contexto que desencadena la detención
enforcement: strict # strict = detener en límite estricto; advisory = solo registrar
alert_channel: notification # cómo notificar al operador
Esperado: Límites de presupuesto documentados en tres niveles (suave, estricto, por ciclo) con acciones de aplicación explícitas para cada uno. La política responde "¿qué sucede cuando alcanzamos el límite?" antes de que se alcance.
En caso de fallo: Si establecer límites precisos en dólares es prematuro (nuevo flujo de trabajo con perfil de costo desconocido), comenzar solo con límites de porcentaje de contexto (suave al 70%, estricto al 90%) y añadir límites en dólares tras 24-48 horas de datos de seguimiento de costos. El modo advisory (registrar pero no detener) es aceptable durante el período de calibración.
Al acercarse a los límites, descartar sistemáticamente el contexto de bajo valor para mantenerse dentro del presupuesto.
Orden de prioridad de poda (descartar primero el de menor valor):
Para cada elemento podado, preservar una lápida de una línea:
[PRUNED: 2,400 tokens of npm audit output from cycle 12 — 3 vulnerabilities found, all patched]
La lápida cuesta ~20 tokens pero preserva la conclusión relevante para la decisión.
Esperado: El uso de la ventana de contexto cae por debajo del límite suave tras la poda. Cada elemento podado tiene una lápida que preserva su conclusión. No se pierde información crítica para la toma de decisiones — solo la evidencia detrás de las decisiones ya tomadas.
En caso de fallo: Si la poda hasta el nivel de prioridad 4 aún deja el uso por encima del límite suave, el flujo de trabajo es fundamentalmente demasiado intensivo en contexto para la frecuencia de ciclo actual. Escalar al operador humano: "Uso del contexto al N% tras la poda. Opciones: (a) aumentar el intervalo de ciclo, (b) reducir el alcance por ciclo, (c) dividir en sub-flujos de trabajo, (d) aceptar mayor costo."
Enrutar a través de los metadatos del registro antes de cargar los procedimientos de habilidades completos — gastar tokens en el enrutamiento, no en la lectura.
El patrón:
_registry.yml — aproximadamente 3-5 líneas, ~50 tokensAplicar el mismo patrón a otras cargas de contexto grandes:
Without progressive disclosure:
Load 5 candidate skills → 5 × 1,500 tokens = 7,500 tokens → use 1 skill
With progressive disclosure:
Route through 5 registry entries → 5 × 50 tokens = 250 tokens
Load 1 matched skill → 1 × 1,500 tokens = 1,500 tokens
Total: 1,750 tokens (77% reduction)
Esperado: La carga de habilidades sigue un patrón de dos fases: enrutamiento ligero a través de metadatos, luego carga completa solo al confirmar la coincidencia. El mismo patrón se aplica a la memoria, los esquemas de herramientas y los contenidos de archivos donde corresponda.
En caso de fallo: Si los metadatos del registro son insuficientes para el enrutamiento (descripciones demasiado vagas, etiquetas faltantes), mejorar las entradas del registro en lugar de abandonar la divulgación progresiva. La solución son mejores metadatos, no más carga de contexto.
Establecer intervalos de ejecución basados en datos de costo, no en horarios arbitrarios.
Calcular el costo por hora al intervalo de ciclo actual:
cost_per_hour = avg_cost_per_cycle × cycles_per_hourComparar con el presupuesto:
hours_until_hard_limit = (hard_limit - cumulative_cost) / cost_per_hourDeterminar el intervalo mínimo efectivo:
Aplicar el intervalo:
Before: 30-minute heartbeat, verbose processing
→ 48 cycles/day × $0.09/cycle = $4.32/day
After: 4-hour heartbeat, notification-only
→ 6 cycles/day × $0.04/cycle = $0.24/day
→ 94% cost reduction
Esperado: El intervalo de ciclo está justificado por datos de costo y coincide con la tasa de actualización del sistema monitoreado. El compromiso intervalo-costo está documentado para que los ajustes futuros tengan una línea de base.
En caso de fallo: Si el sistema requiere respuesta de baja latencia y no puede tolerar intervalos más largos, reducir el costo por ciclo en su lugar (prompts del sistema más pequeños, menos esquemas de herramientas cargados, historial resumido). La ecuación del presupuesto tiene dos palancas: frecuencia y costo por ciclo.
Confirmar que todos los controles están funcionando y el sistema opera dentro del presupuesto.
Budget Validation Report:
+-----------------------+----------+--------+
| Check | Expected | Actual |
+-----------------------+----------+--------+
| Per-cycle logging | Present | |
| Soft limit warning | Fires | |
| Hard limit halt | Halts | |
| Per-cycle cap | Truncates| |
| Progressive disclosure| Routes | |
| Daily cost projection | < $X.XX | |
+-----------------------+----------+--------+
Esperado: Los cinco controles (seguimiento, límite suave, límite estricto, límite por ciclo, divulgación progresiva) están verificados funcionando. La proyección de costos está dentro del presupuesto previsto.
En caso de fallo: Si los controles no se disparan, verificar que el mecanismo de aplicación está conectado al bucle de ejecución real, no solo documentado. La configuración sin aplicación es un plan, no un control. Si la proyección de costos supera el presupuesto, volver al Paso 6 y ajustar el intervalo de ciclo o el costo por ciclo.
assess-context — evaluar la salud estructural del contexto de razonamiento; complementa la auditoría de la ventana de contexto en el Paso 2metal — extraer la esencia conceptual de las bases de código; el patrón de divulgación progresiva aplica a la fase de prospección de metalchrysopoeia — extracción de valor y eliminación de peso muerto; aplica el mismo pensamiento de valor por token a nivel de códigomanage-memory — organizar y podar archivos de memoria persistente; reduce directamente el componente de memoria de los presupuestos de contexto