Ir al contenido

Gestionar costes

Esta guía muestra cómo ver cuánto cuestan las ejecuciones de un agente y cómo poner un tope a una ejecución autónoma.

Cada ejecución de un agente escribe un registro de ejecución con sus tokens de entrada, tokens de salida, tokens de razonamiento, tokens de lectura de caché y de escritura en caché, un coste estimado en céntimos y el coste de los subagentes que haya lanzado.

El precio proviene del catálogo de models.dev, que solo se usa para enriquecer la lista de modelos con el precio y la ventana de contexto —nunca como fuente de ids de modelo. Un modelo que el catálogo no puede valorar registra $0 y las ejecuciones de coste cero se excluyen del resumen Uso y coste. Por eso un modelo Ollama local no muestra ningún gasto, aunque sus recuentos de tokens sí se registran. Un plan de tarifa plana (kimi-code, una suscripción de Claude) se comporta igual solo cuando el catálogo no tiene precio para el modelo servido; si lo tiene, la ejecución se estima con esas tarifas de todos modos. En una cadena de respaldo, el coste se calcula según el modelo que realmente atendió la ejecución, no el que se solicitó.

Se llega desde el pie de la barra lateral → Observabilidad. La pestaña Uso se abre primero (totales de tokens de todo el historial); cambia a Resumen —la segunda pestaña— para llegar a la superficie principal de costes:

  • Un selector de intervalo temporal: últimas 24 horas, últimos 7 días, últimos 30 días o todo el tiempo
  • Filtros facetados por agente, modelo, estado y rol, como chips descartables
  • Una franja de KPI: ejecuciones totales, coste total, tasa de error, tasa de caché, tokens por segundo, latencia media y tiempo hasta el primer token, cada uno con una variación respecto al periodo anterior (oculta en «Todo»)
  • Gráficos de actividad y de coste, además de un desglose de Costo por rol que reparte el gasto entre el agente principal, sus subagentes y su asesor
  • Una tabla por agente ordenada por coste, con los diez primeros y un control para mostrarlos todos. Al tocar una fila, todas las demás superficies se filtran por ese agente
  • El registro de ejecución granular, que ancla un panel lateral de transcripción para una ejecución seleccionada

Ajustes → Servidor → Proveedores de modelos

Sección titulada «Ajustes → Servidor → Proveedores de modelos»

La tarjeta Uso y coste de esta página muestra el gasto observado en los últimos siete días como una única cifra en dólares, con un desglose por proveedor y, cuando un proveedor lo publica, el tiempo que queda hasta que se restablezca la siguiente ventana de cuota.

Ajustes → Espacio de trabajo → Agentes → selecciona un agente → Registros enumera sus ejecuciones con el estado, la duración, las horas de inicio y finalización, el PID y el adaptador. Esta pestaña no muestra el coste; para eso, usa la tabla por agente de Observabilidad → Resumen.

Dos comandos slash, escritos en el compositor de un espacio, son las únicas ejecuciones con tope de gasto:

/goal ship the auth refactor --budget 20
/loop keep the flaky tests green
  • Cada segmento de una ejecución de /goal o /loop se detiene cuando su gasto valorado alcanza los 500 céntimos ($5.00). Al llegar al 80 % de esa cifra, el bucle primero orienta al modelo para que cierre y deje un relevo limpio, de modo que no muera a mitad de tarea.
  • Un objetivo duradero completo tiene un tope de 5000 céntimos ($50.00) a menos que pases --budget <dollars>. El supervisor canaliza el presupuesto restante del objetivo hacia cada segmento, de modo que un presupuesto explícito nunca se supera por un segmento entero.
  • --days N añade un plazo en tiempo real y --max N un techo de número de ejecuciones. Ambos son opcionales; sin ellos, el objetivo solo está acotado por el coste.
  • Un objetivo que alcanza su plazo se detiene en budgetExhausted y solo se puede reanudar aumentando el presupuesto.

Como el tope depende del precio, un modelo que el catálogo no puede valorar nunca lo alcanza. Esa ejecución queda acotada, en su lugar, por la protección contra bucles infinitos por repetición, la rendición del supervisor tras tres fallos consecutivos y tú.

Un mensaje en un espacio, una @mención o un paso de pipeline no tienen tope de gasto. La ejecución termina cuando el modelo se detiene, cuando la detienes tú o cuando la protección contra bucles infinitos la reorienta.

Escribe /compact en el compositor del espacio. El comando se intercepta en el cliente y nunca llega a la transcripción; el servidor pliega el historial más antiguo en un resumen anclado y la conversación continúa sobre el contexto compactado.

La compactación se rechaza mientras un agente está a mitad de turno y cuando no hay nada lo bastante antiguo que plegar. El bucle integrado también compacta por su cuenta cuando el historial se acerca a la ventana de contexto del modelo.

El Esfuerzo de razonamiento de un agente (Ajustes → Espacio de trabajo → Agentes) ofrece los niveles que publique el modelo seleccionado. Los niveles más altos gastan más tokens de razonamiento. Reserva los niveles superiores para el trabajo que los necesite.

El modelo es un campo por agente, así que un agente de formateo o de triaje puede ejecutarse con un modelo barato mientras que uno de arquitectura lo hace con uno caro. Filtra por modelo la tabla por agente de Observabilidad → Resumen para ver qué combinación te está costando de verdad.

Buscar ejecuciones con recuentos de tokens desproporcionados

Sección titulada «Buscar ejecuciones con recuentos de tokens desproporcionados»

Abre el registro de ejecución de Resumen (las 50 ejecuciones filtradas más recientes) y el panel lateral de transcripción en cualquier cosa inusual. Las causas habituales son un prompt de sistema o una persona demasiado largos, contexto que debería haberse compactado y una tarea que debería haber sido varias más pequeñas.

Qué ocurre si se define un presupuesto fuera de banda

Sección titulada «Qué ocurre si se define un presupuesto fuera de banda»

Para que quede completo: si se escribe monthlyBudgetCents o una política de presupuesto directamente en la fila de un agente:

  • Los presupuestos se evalúan después de que termine una ejecución, no antes del despacho. Un listener de finalización de ejecución compara el gasto del agente en lo que va de mes con su techo.
  • Cruzar el umbral suave (80 % de forma predeterminada) registra un incidente de advertencia y emite un evento BudgetThresholdCrossed al que puedes asociar un disparador de pipeline.
  • Agotar el presupuesto registra un incidente grave, emite el mismo evento y cambia el estado del ciclo de vida del agente a paused.
  • El bloqueo previo al despacho existe, pero solo lo consultan el recolector de ejecuciones huérfanas y el reconciliador de tickets varados al programar una recuperación; un despacho normal nunca llega a él y nada en la ruta de despacho comprueba el estado de pausa. La única señal visible es la insignia del ciclo de vida en el organigrama.