Ir al contenido

Presupuesto por puesto

Un puesto gasta tokens cada vez que trabaja. El presupuesto es un tope mensual, en tokens, que se fija por puesto y —opcionalmente— por departamento. No es dinero: el sistema no convierte tokens a euros en ningún sitio.

Tokens de entrada más tokens de salida de las ejecuciones del mes en curso. Se leen de la tabla agno.agno_runs, que es donde Agno guarda cada turno:

Dato De dónde sale
Ejecuciones Número de filas de agno_runs del puesto en el mes.
Tokens de entrada Suma de run_data->'metrics'->>'input_tokens'.
Tokens de salida Suma de run_data->'metrics'->>'output_tokens'.
Total Entrada más salida. Es lo que se compara con el tope.
Periodo Mes natural (YYYY-MM).

El corte de mes lo hace PostgreSQL con date_trunc('month', now()), así que empieza el día 1 a las 00:00 de la zona del contenedor (TZ, por defecto Europe/Madrid). No hay que reiniciar nada: el contador vuelve a cero solo.

Las ejecuciones se atribuyen al puesto por agent_id, que es el código del puesto (finanzas, tecnologia…). El CEO tiene su propio identificador, adrian, y no tiene tope: no aparece en la tabla de puestos.

En la ficha del puesto, campo «Presupuesto de tokens al mes». Se llega por Equipo o Organigrama → ficha del puesto. El valor se guarda en organtia.puestos.presupuesto_tokens_mes.

Valor Qué significa
0 (por defecto) Sin tope. El puesto puede trabajar todo el mes. Se le sigue contando el gasto.
Cualquier entero positivo Tope en tokens para el mes natural.

Al guardar, el campo solo admite dígitos: la interfaz limpia cualquier otra cosa. La base de datos rechaza negativos, y el repositorio devuelve «el presupuesto no puede ser negativo» o «el presupuesto tiene que ser un número de tokens» si el valor no encaja.

Debajo del campo, la ficha lo explica en una línea: con tope, «cuando llega al tope deja de aceptar encargos hasta que lo amplíes o empiece el mes»; sin tope, «puede trabajar todo el mes. Se lo cobran igual».

El tope se comprueba al delegar un encargo, antes de que el puesto empiece. Si el consumo del mes ya es igual o mayor que el límite, la delegación no se hace y el CEO recibe:

no se puede delegar a «finanzas»: presupuesto agotado: 912.400 de 900.000 tokens en 2026-11.
El propietario debe ampliar el presupuesto del puesto.

Con la misma frase, adaptada, si el que está agotado es el departamento.

Tres consecuencias que conviene tener claras:

  • No se corta un turno a mitad. Un encargo que empezó con saldo termina; el tope se mira antes de empezar el siguiente.
  • El consumo sigue subiendo por encima del tope. No hay recorte: si un encargo se pasa, el contador refleja lo gastado de verdad y el puesto queda bloqueado para el siguiente.
  • La comprobación vive en el camino de delegación. Los turnos que no pasan por ahí —una conversación abierta con el puesto, un cron— no consultan el presupuesto. Si necesitas un corte duro, no lo tienes.

Un departamento agrupa puestos y puede tener su propio tope mensual (organtia.departamentos.presupuesto_tokens_mes). Es un tope añadido al de cada puesto:

Campo Qué hace
presupuesto_tokens_mes = 0 No limita nada. Manda solo el tope de cada puesto.
presupuesto_tokens_mes > 0 Suma el consumo de todos sus miembros y, al llegar, bloquea a todo el equipo.

Se comprueba antes que el del puesto: si el departamento está sin saldo, no se delega a nadie aunque un puesto concreto tenga margen. El mensaje lo dice con el nombre del departamento y pide ampliar ese presupuesto.

Se fija en la vista Departamentos, al crear o editar uno. Los dos departamentos que existen siempre —direccion y propiedad— nacen con tope 0.

Tres caminos, todos con efecto inmediato (no hace falta reiniciar ni esperar al día 1):

  1. La ficha del puesto: cambias el número y guardas. Es lo normal cuando un puesto se quedó corto.
  2. La vista Departamentos: cambias el tope del equipo.
  3. Aprobando una solicitud del CEO: cuando dirección pide más presupuesto para un puesto, la solicitud se puede aprobar y el texto se interpreta. Si dice «ampliar el presupuesto del puesto Director Técnico a 1.200.000 tokens», se fija ese número en ese puesto.
Sitio Qué muestra
CLI, /consumo Tabla de todos los puestos activos: ejecuciones, tokens del mes y límite. Añade una fila adrian sin límite.
CLI, /consumo <puesto> Una fila con puesto, mes, ejecuciones, entrada, salida y límite (o «sin límite»).
Respuesta de una delegación consumo_mes con tokens, ejecuciones y tope del puesto.
Vista Departamentos Barra de consumo por equipo. Verde por debajo del 80 %, ámbar por encima, rojo cuando está agotado.

Los números se muestran con separador de miles español (punto), también en los mensajes de error.

Tabla Campo Tipo Qué pasa si lo cambias
organtia.puestos presupuesto_tokens_mes bigint, >= 0 Cambia el tope del puesto en el mes en curso. A 0, deja de limitar. A un valor por debajo de lo ya gastado, el puesto queda bloqueado hasta el mes siguiente o hasta que lo subas.
organtia.departamentos presupuesto_tokens_mes bigint, por defecto 0 Ídem, pero sobre todos los miembros del departamento. Se evalúa antes que el del puesto.
agno.agno_runs run_data->'metrics' jsonb Es el registro de consumo; no se toca a mano. Si falta la métrica de un turno, ese turno no cuenta.

Son dos cosas distintas y con unidades distintas:

Presupuesto de tokens Autonomía de gasto
Qué limita Cuánto puede trabajar un puesto Cuánto dinero puede comprometer el CEO
Unidad Tokens Céntimos (limite_centimos)
Dónde vive puestos y departamentos organtia.autonomia, facultad gasto
Quién lo pone El propietario, en la ficha o en Departamentos El propietario, al conceder la facultad hablando con el CEO; queda registrado con sus palabras y se puede revocar
Qué pasa al llegar No se delega más trabajo No se compromete gasto por encima del tope

La autonomía tiene cinco facultades: gasto, contratar, publicar, terceros y precios. Solo gasto lleva importe. Se concede por ámbito (global o un proyecto) y hay una sola concesión vigente por ámbito y facultad.

  • No hay tarifa por token ni estimación en euros: el consumo se mide en tokens y nada más.
  • No hay aviso automático al acercarse al tope. El ámbar de Departamentos es lo más parecido.
  • No hay presupuesto diario ni semanal: solo mensual.
  • No hay histórico de topes anteriores: cambiar el número sobrescribe el valor sin guardar la cifra previa en ninguna tabla. La auditoría anota que se editó el puesto, quién y cuándo (oficina:puesto_editado), pero no el valor anterior ni el nuevo.