Passer au contenu principal
Un prompt emballé est une facture emballée. Un agent qui colle un transcript de 400 Ko dans le contexte, une boucle de retry qui continue de renvoyer la même requête gonflée, un modèle qui stream un mur de texte de 50 000 caractères — chacun facture des tokens que vous n’avez jamais voulu dépenser. La catégorie de presets cost place un plafond dur devant ces requêtes afin que la passerelle les arrête avant qu’elles n’atteignent le modèle en amont et la mesure. C’est une page d’atterrissage ciblée sur le cas d’usage du contrôle des coûts. Pour le moteur de guardrail complet — chaque type de règle, champ et route — voir la référence Guardrails.

1. Le cas d’usage du guardrail de coût llm

Le levier est un seul type de règle intégré : max_chars. Il plafonne le nombre de caractères du texte à une étape. Aucun appel de modèle, aucun saut réseau — une vérification de longueur déterministe qui s’exécute sur la requête avant la mesure, ou sur la réponse après le retour du modèle. Deux formes, choisies par l’action de la règle :

Bloquer les requêtes surdimensionnées

Sur une règle max_chars de requête avec l’action block, tout prompt au-dessus de la limite est rejeté avec une HTTP 400 guardrail_blocked — et une requête bloquée ne coûte aucun quota, parce que le block se déclenche avant que l’usage ne soit mesuré.

Borner les réponses surdimensionnées

Sur une règle max_chars avec l’action mask, le texte est tronqué à la limite au lieu d’être rejeté — l’appelant obtient toujours une réponse utilisable, juste bornée. Utile à l’étape réponse pour plafonner l’egress.
Le plafond compte les caractères (conscient des runes — 日本語 en compte trois, pas neuf), pas les tokens. Le preset orienté tokens livré traduit un budget de tokens en un plafond de caractères au ratio char→token standard ; resserrez directement le champ max_chars de la règle pour un budget plus strict.

2. Les presets cost livrés

Ouvrez le split-button New guardrail dans la console et choisissez dans la catégorie de templates cost. Trois presets sèment chacun une seule règle max_chars :
PresetÉtape · actionPlafond
Prompt-Size Capinput · block50 000 caractères
Token Cost Cap (prompt)input · block200 000 caractères (~50K tokens)
Response Size Capoutput · block32 000 caractères
Chaque preset est une graine, pas un verrou — appliquez-le, puis modifiez la valeur max_chars, l’étape ou l’action pour correspondre à votre budget. Rédiger et modifier des guardrails nécessite Developer+ dans l’espace de travail.
Le Response Size Cap est un plafond à l’étape output. Pour borner une longue réponse plutôt que la rejeter, basculez son action sur mask — la passerelle rogne la réponse à la limite et l’utilisateur obtient toujours une réponse tronquée-mais-utilisable au lieu d’une erreur.

3. Rédiger votre propre plafond

Une règle de coût est la règle la plus simple du moteur — une étape, une action et un entier. Pour plafonner les requêtes à 20 000 caractères et rejeter tout ce qui est plus grand :
{
  "type": "max_chars",
  "stage": "input",
  "action": "block",
  "max_chars": 20000
}
Ajoutez-la à n’importe quel guardrail dans la console. max_chars doit être un entier positif ; le validateur rejette 0 ou les valeurs négatives.

4. Tester avant d’attacher

Prouvez que le plafond se déclenche là où vous l’attendez avant qu’une clé ne pointe vers lui. Ouvrez l’onglet Test à l’intérieur de l’éditeur de guardrail, collez un échantillon, choisissez l’étape input, et exécutez la politique actuelle localement — aucun appel en amont, aucun quota. Un échantillon au-dessus de la limite renvoie un verdict bloqué ; un échantillon en dessous de la limite passe intact. Pour une règle de bornage, le sandbox affiche le texte rendu tronqué, afin que vous puissiez confirmer que le plafond atterrit sur une limite de rune avant de vous y fier.

5. Attacher le plafond à une clé

Un guardrail de coût se résout exactement comme n’importe quel autre — attachez-le à une clé API, ou définissez-le comme défaut de l’espace de travail. Chaque étape ici est une action de console sous votre propre session.
1

Enregistrer le guardrail

Créez ou ouvrez un guardrail dans la console, ajoutez une règle max_chars (ou appliquez un preset cost), et enregistrez.
2

Attacher une clé

Modifiez une clé API et choisissez le guardrail dans la liste déroulante Guardrail (définit guardrail_id sur la clé), ou marquez le guardrail comme défaut de l’espace de travail. Voir Attacher à une clé et Défaut de compte.
3

Envoyer une requête

En utilisant cette clé, appelez OrcaRouter exactement comme avant — aucun nouvel en-tête, aucun changement de 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..."}
    ]
  }'
Si le prompt dépasse le plafond, l’appel renvoie une HTTP 400 guardrail_blocked et rien n’est facturé.

6. Ce que coûte une requête bloquée

Un plafond à l’étape requête est le guardrail le moins coûteux à appliquer : il s’exécute avant que l’usage ne soit mesuré, donc un prompt surdimensionné est rejeté à coût de quota nul.
Non. Un block à l’étape input se déclenche avant la mesure. Un block à l’étape output rembourse le quota pré-consommé après le rejet de la réponse. Dans les deux cas, l’appelant ne paie aucun quota, obtient une HTTP 400 guardrail_blocked, et la requête est marquée skip-retry — ré-exécuter le même prompt surdimensionné ne ferait que bloquer à nouveau. Voir l’erreur guardrail_blocked.
Un block max_chars à l’étape output est appliqué dans les deux cas : sur une réponse non-streaming, la réponse est filtrée avant son retour, et sur une réponse streaming, un scanner coupe le flux en plein vol une fois que le buffer franchit le plafond. Un mask (bornage) sur la sortie s’applique actuellement aux réponses non-streaming uniquement. Voir Couverture du streaming.
Non. Une règle max_chars n’a pas de concept de sous-chaîne, donc le flux des correspondances enregistre que le plafond s’est déclenché — son type, son action et son étape — mais jamais une sous-chaîne correspondante, même avec Log raw content activé. Vous obtenez le signal qu’il s’est déclenché sans re-capturer le payload surdimensionné.

7. Où cela s’inscrit

Un plafond max_chars est un levier de coût brut — un plafond dur, pas un budget de dépense par clé. Pour plafonner les dollars plutôt que les caractères, définissez credit_limit_usd sur la clé API elle-même (0 = illimité), que la passerelle applique indépendamment de tout guardrail. Les deux s’empilent : le budget de clé borne la dépense totale, le guardrail de coût borne la taille de toute requête ou réponse individuelle.
Un guardrail de coût filtre la taille du contenu, pas le choix du modèle ni la décision de routage. Il rejette un prompt surdimensionné quel que soit le modèle qui le sert. Pour gouverner les appels d’outils d’un agent — refuser les actions destructrices ou les retenir pour approbation — utilisez le Firewall, qui décide sur la surface d’appel d’outils (allow / deny / pending_approval), pas la surface de contenu.

8. Où aller ensuite

Règles à l'étape input

Comment le filtrage de requête s’exécute avant l’appel en amont et avant la mesure.

Règles à l'étape output

Filtrer et borner la réponse du modèle, en streaming et non.

L'erreur guardrail_blocked

La forme de la HTTP 400, la garantie de quota nul, et skip-retry.

Test & éval

Prouvez un plafond contre un corpus avant d’attacher une clé.
Les plafonds de coût bornent la taille. Pour borner le contenu — PII, secrets, prompts non sûrs — commencez par la vue d’ensemble des guardrails ou lisez la référence Guardrails pour le moteur complet.