Passa al contenuto principale

Budget

Obiettivo: limitare quanto può spendere un flow o un agente, ed estendere il limite quando una persona viene interpellata.

Prerequisiti​

  • Un manifesto Flow o Agent a cui aggiungere il budget.

Passi​

  1. Aggiungi un budget allo spec del flow (un tetto per ticket) o a quello di un agente (un tetto per agente). Ogni dimensione è opzionale. Una dimensione assente è nessun limite:

    kind: Flow
    spec:
    budget:
    tokens: 200000
    toolCalls: 200
    costUsd: 5
    wallTime: 30m
    maxTurns: 40
  2. 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]
  3. 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.

  4. Quando una soglia o un limite scatta, il ticket si mette in pausa (paused_budget) e una persona risponde:

    afe resume T-0001 continue
    afe resume T-0001 extend
    afe resume T-0001 stop

    extend allarga la dimensione di metà del suo limite. stop fa 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.

Vedi anche​