Vai al contenuto principale
Un prompt fuori controllo è una bolletta fuori controllo. Un agent che incolla una trascrizione da 400KB nel contesto, un loop di retry che continua a re-inviare la stessa richiesta gonfia, un modello che streama un muro di testo da 50.000 caratteri — ognuno fattura token che non avevi mai inteso spendere. La categoria di preset cost mette un tetto rigido davanti a quelle richieste così che il gateway le fermi prima che raggiungano il modello upstream e la misurazione. Questa è una landing focalizzata sul caso d’uso del controllo dei costi. Per il motore di guardrail completo — ogni tipo di regola, campo e rotta — vedi il riferimento Guardrails.

1. Il caso d’uso del guardrail di costo llm

La leva è un tipo di regola integrato: max_chars. Limita il numero di caratteri del testo in uno stage. Nessuna chiamata al modello, nessun hop di rete — un controllo di lunghezza deterministico che gira sulla richiesta prima della misurazione, o sulla risposta dopo che il modello torna. Due forme, scelte dall’azione della regola:

Blocca le richieste sovradimensionate

Su una regola max_chars di richiesta con azione block, qualsiasi prompt oltre il limite viene rifiutato con HTTP 400 guardrail_blocked — e una richiesta bloccata non costa quota, perché il block scatta prima che l’utilizzo venga misurato.

Taglia le risposte sovradimensionate

Su una regola max_chars con azione mask, il testo viene troncato al limite invece di rifiutato — il chiamante ottiene comunque una risposta usabile, solo limitata. Utile nello stage di risposta per limitare l’egress.
Il limite conta i caratteri (rune-aware — 日本語 è tre, non nove), non i token. Il preset orientato ai token fornito traduce un budget di token in un tetto di caratteri al rapporto standard char→token; irrigidisci direttamente il campo max_chars della regola per un budget più stretto.

2. I preset di costo forniti

Apri lo split-button New guardrail nella console e scegli dalla categoria di template cost. Tre preset seminano una singola regola max_chars ciascuno:
PresetStage · azioneLimite
Prompt-Size Capinput · block50.000 caratteri
Token Cost Cap (prompt)input · block200.000 caratteri (~50K token)
Response Size Capoutput · block32.000 caratteri
Ogni preset è un seme, non un lucchetto — applicalo, poi modifica il valore max_chars, lo stage o l’azione per adattarlo al tuo budget. Scrivere e modificare guardrails richiede Developer+ nel workspace.
Il Response Size Cap è un limite dello stage di output. Per tagliare una risposta lunga anziché rifiutarla, cambia la sua azione in mask — il gateway taglia la risposta al limite e l’utente ottiene comunque una risposta troncata-ma-usabile invece di un errore.

3. Scrivi il tuo limite

Una regola di costo è la regola più semplice del motore — uno stage, un’azione e un intero. Per limitare le richieste a 20.000 caratteri e rifiutare qualsiasi cosa più grande:
{
  "type": "max_chars",
  "stage": "input",
  "action": "block",
  "max_chars": 20000
}
Aggiungila a qualsiasi guardrail nella console. max_chars deve essere un intero positivo; il validator rifiuta 0 o valori negativi.

4. Testa prima di collegare

Dimostra che il limite scatta dove ti aspetti prima che qualsiasi chiave vi punti. Apri la tab Test all’interno dell’editor del guardrail, incolla un campione, scegli lo stage input ed esegui la policy corrente localmente — nessuna chiamata upstream, nessuna quota. Un campione oltre il limite restituisce un verdetto bloccato; un campione sotto il limite passa intatto. Per una regola di taglio, la sandbox mostra il testo renderizzato troncato, così puoi confermare che il limite atterra su un confine di rune prima di farvi affidamento.

5. Collega il limite a una chiave

Un guardrail di costo si risolve esattamente come qualsiasi altro — collegalo a una chiave API, o impostalo come default del workspace. Ogni passaggio qui è un’azione di console sotto la tua sessione.
1

Salva il guardrail

Crea o apri un guardrail nella console, aggiungi una regola max_chars (o applica un preset di costo) e salva.
2

Collega una chiave

Modifica una chiave API e scegli il guardrail dal menu a tendina Guardrail (imposta guardrail_id sulla chiave), o marca il guardrail come default del workspace. Vedi Collega a una chiave e Default di account.
3

Invia una richiesta

Usando quella chiave, chiama OrcaRouter esattamente come prima — nessun nuovo header, nessuna modifica all’SDK:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "...a very long prompt..."}
    ]
  }'
Se il prompt è oltre il limite, la chiamata restituisce HTTP 400 guardrail_blocked e nulla viene fatturato.

6. Cosa costa una richiesta bloccata

Un limite nello stage di richiesta è il guardrail più economico da applicare: gira prima che l’utilizzo venga misurato, quindi un prompt sovradimensionato viene rifiutato a costo di quota zero.
No. Un block nello stage di input scatta prima della misurazione. Un block nello stage di output rimborsa la quota pre-consumata dopo che la risposta è rifiutata. In entrambi i casi il chiamante non paga quota, ottiene HTTP 400 guardrail_blocked, e la richiesta è marcata skip-retry — rieseguire lo stesso prompt sovradimensionato si limiterebbe a bloccarlo di nuovo. Vedi l’ errore guardrail_blocked.
Un block max_chars nello stage di output è applicato in entrambi i casi: su una risposta non in streaming la risposta viene filtrata prima che torni, e su una risposta in streaming uno scanner interrompe lo stream a metà una volta che il buffer supera il limite. Un mask (taglio) sull’output attualmente si applica solo alle risposte non in streaming. Vedi Streaming coverage.
No. Una regola max_chars non ha concetto di sottostringa, quindi il feed dei Matches registra che il limite è scattato — il suo type, action e stage — ma mai una sottostringa corrispondente, anche con Log raw content attivo. Ottieni il segnale che è scattato senza ricatturare il payload sovradimensionato.

7. Dove si colloca

Un limite max_chars è una leva di costo grezza — un tetto rigido, non un budget di spesa per chiave. Per limitare i dollari anziché i caratteri, imposta credit_limit_usd sulla chiave API stessa (0 = illimitato), che il gateway applica indipendentemente da qualsiasi guardrail. I due si impilano: il budget della chiave limita la spesa totale, il guardrail di costo limita la dimensione di qualsiasi singola richiesta o risposta.
Un guardrail di costo filtra la dimensione del contenuto, non la scelta del modello o la decisione di routing. Rifiuta un prompt sovradimensionato a prescindere da quale modello lo serve. Per governare le chiamate a tool di un agent — negare azioni distruttive o trattenerle per approvazione — usa il Firewall, che decide sulla superficie della chiamata a tool (allow / deny / pending_approval), non sulla superficie del contenuto.

8. Dove andare dopo

Regole dello stage di input

Come il filtro della richiesta gira prima della chiamata upstream e prima della misurazione.

Regole dello stage di output

Filtrare e tagliare la risposta del modello, in streaming e non.

L'errore guardrail_blocked

La forma dell’HTTP 400, la garanzia di nessuna-quota e lo skip-retry.

Test ed eval

Dimostra un limite contro un corpus prima di collegare una chiave.
I limiti di costo limitano la dimensione. Per limitare il contenuto — PII, segreti, prompt non sicuri — parti dalla panoramica dei Guardrails o leggi il riferimento Guardrails per il motore completo.