Budget
Obiettivo: limitare quanto può spendere un flow o un agente, ed estendere il limite quando una persona viene interpellata.
Prerequisiti
- Un manifesto
FlowoAgenta cui aggiungere il budget.
Passi
-
Aggiungi un
budgetallospecdel flow (un tetto per ticket) o a quello di un agente (un tetto per agente). Ogni dimensione è opzionale. Una dimensione assente è nessun limite:kind: Flowspec:budget:tokens: 200000toolCalls: 200costUsd: 5wallTime: 30mmaxTurns: 40 -
Imposta le frazioni di avviso a cui viene interpellata una persona, quando i valori predefiniti (
0.75,0.9) non vanno bene:spec:alerts: [0.5, 0.9] -
Esegui il flow. Prima di ogni chiamata al modello il motore confronta il budget con il ledger del ticket. Conta anche i token che la chiamata successiva aggiungerebbe.
-
Quando una soglia o un limite scatta, il ticket si mette in pausa (
paused_budget) e una persona risponde:afe resume T-0001 continueafe resume T-0001 extendafe resume T-0001 stopextendallarga la dimensione di metà del suo limite.stopfa fallire il ticket in quel punto.
Vedi Budget e loop per capire perché il ledger è la fonte di verità, e Rispondere alle approvazioni per le altre pause.
Risoluzione dei problemi
'agent' does not report its cost (reportsCost is not true) (un avviso di validazione)
Un agente acp ha un budget costUsd, ma il suo manifesto AcpAgent non imposta
reportsCost: true. Il motore non può controllare un tetto di costo che non riceve mai. Imposta
reportsCost: true se l'agente riporta il costo, oppure togli costUsd dal suo budget.
Il ticket si mette in pausa più spesso del previsto
Una frazione di alerts abbassata scatta prima. Controlla alerts del flow prima di sospettare
il ledger: afe inspect T-0001 mostra i totali su cui si è messo in pausa.