Przejdź do głównej treści
Rozbiegany prompt to rozbiegany rachunek. Agent wklejający 400KB transkrypt do kontekstu, pętla ponowień ciągle wysyłająca to samo spuchnięte żądanie, model strumieniujący ścianę tekstu na 50 000 znaków — każde z nich nalicza tokeny, których nigdy nie zamierzałeś wydać. Kategoria presetów cost stawia twardy sufit przed tymi żądaniami, by brama zatrzymała je przed dotarciem do modelu nadrzędnego i pomiarem. To skupiona strona docelowa dla przypadku kontroli kosztów. Pełny silnik guardrail — każdy typ reguły, pole i trasę — znajdziesz w referencji Guardrails.

1. Przypadek guardrail kosztów llm

Dźwignią jest jeden wbudowany typ reguły: max_chars. Ogranicza liczbę znaków tekstu na etapie. Bez wywołania modelu, bez skoku sieciowego — deterministyczne sprawdzenie długości, które biegnie na żądaniu przed pomiarem lub na odpowiedzi po powrocie modelu. Dwa kształty, wybierane przez akcję reguły:

Blokuj zbyt duże żądania

Na regule max_chars żądania z akcją block dowolny prompt powyżej limitu jest odrzucany z HTTP 400 guardrail_blocked — a zablokowane żądanie nie kosztuje kwoty, bo blokada działa, zanim użycie jest mierzone.

Przytnij zbyt duże odpowiedzi

Na regule max_chars z akcją mask tekst jest obcinany do limitu zamiast odrzucany — wywołujący nadal dostaje użyteczną odpowiedź, tylko ograniczoną. Przydatne na etapie odpowiedzi, by ograniczyć egress.
Limit liczy znaki (świadome run — 日本語 to trzy, nie dziewięć), nie tokeny. Dostarczany preset zorientowany na tokeny przekłada budżet tokenów na sufit znaków przy standardowym współczynniku char→token; zacieśnij pole max_chars reguły bezpośrednio dla surowszego budżetu.

2. Dostarczane presety kosztów

Otwórz przycisk z podziałem New guardrail w konsoli i wybierz z kategorii szablonów cost. Trzy presety zasiewają po jednej regule max_chars:
PresetEtap · akcjaLimit
Prompt-Size Capinput · block50 000 znaków
Token Cost Cap (prompt)input · block200 000 znaków (~50K tokenów)
Response Size Capoutput · block32 000 znaków
Każdy preset to ziarno, nie blokada — zastosuj go, potem edytuj wartość max_chars, etap lub akcję, by pasowała do twojego budżetu. Autorowanie i edycja guardrails wymaga Developer+ w przestrzeni roboczej.
Response Size Cap to limit na etapie wyjścia. Aby przyciąć długą odpowiedź zamiast ją odrzucać, przełącz jej akcję na mask — brama przycina odpowiedź do limitu, a użytkownik nadal dostaje obciętą-ale-użyteczną odpowiedź zamiast błędu.

3. Autorzuj własny limit

Reguła kosztów to najprostsza reguła w silniku — etap, akcja i liczba całkowita. Aby ograniczyć żądania do 20 000 znaków i odrzucać wszystko większe:
{
  "type": "max_chars",
  "stage": "input",
  "action": "block",
  "max_chars": 20000
}
Dodaj ją do dowolnego guardrail w konsoli. max_chars musi być dodatnią liczbą całkowitą; walidator odrzuca 0 lub wartości ujemne.

4. Przetestuj, zanim powiążesz

Udowodnij, że limit działa tam, gdzie oczekujesz, zanim jakikolwiek klucz na niego wskaże. Otwórz zakładkę Test wewnątrz edytora guardrail, wklej próbkę, wybierz etap input i uruchom bieżącą politykę lokalnie — bez wywołania w górę, bez kwoty. Próbka powyżej limitu zwraca werdykt block; próbka poniżej limitu przechodzi nietknięta. Dla reguły przycinającej piaskownica pokazuje obcięty wyrenderowany tekst, więc możesz potwierdzić, że limit ląduje na granicy run, zanim na nim polegniesz.

5. Powiąż limit z kluczem

Guardrail kosztów rozwiązuje się dokładnie jak każdy inny — powiąż go z kluczem API lub ustaw jako domyślny przestrzeni roboczej. Każdy krok tutaj to akcja konsoli pod twoją własną sesją.
1

Zapisz guardrail

Utwórz lub otwórz guardrail w konsoli, dodaj regułę max_chars (lub zastosuj preset kosztów) i zapisz.
2

Powiąż klucz

Edytuj klucz API i wybierz guardrail z rozwijanej listy Guardrail (ustawia guardrail_id na kluczu) lub oznacz guardrail jako domyślny przestrzeni roboczej. Zobacz Powiąż z kluczem i Domyślny dla konta.
3

Wyślij żądanie

Używając tego klucza, wywołaj OrcaRouter dokładnie jak wcześniej — bez nowych nagłówków, bez zmiany 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..."}
    ]
  }'
Jeśli prompt jest powyżej limitu, wywołanie zwraca HTTP 400 guardrail_blocked i nic nie jest naliczane.

6. Co kosztuje zablokowane żądanie

Limit na etapie żądania to najtańszy guardrail do egzekwowania: biegnie przed zmierzeniem użycia, więc zbyt duży prompt jest odrzucany przy zerowym koszcie kwoty.
Nie. Blokada na etapie wejścia działa przed pomiarem. Blokada na etapie wyjścia zwraca wstępnie pobraną kwotę po odrzuceniu odpowiedzi. Tak czy inaczej wywołujący nie płaci kwoty, dostaje HTTP 400 guardrail_blocked, a żądanie jest oznaczone jako skip-retry — ponowne uruchomienie tego samego zbyt dużego promptu po prostu znów by zablokowało. Zobacz błąd guardrail_blocked.
Blokada block max_chars na etapie wyjścia jest egzekwowana w obie strony: na odpowiedzi nie-streamingowej odpowiedź jest sprawdzana, zanim wróci, a na odpowiedzi streamingowej skaner przecina strumień w locie, gdy bufor przekroczy limit. Mask (przycięcie) na wyjściu obecnie stosuje się wyłącznie do odpowiedzi nie-streamingowych. Zobacz Pokrycie streamingu.
Nie. Reguła max_chars nie ma pojęcia podłańcucha, więc strumień Matches rejestruje, że limit zadziałał — jego typ, akcję i etap — ale nigdy dopasowanego podłańcucha, nawet przy włączonym Log raw content. Dostajesz sygnał że zadziałał bez ponownego przechwytywania zbyt dużego payloadu.

7. Gdzie to pasuje

Limit max_chars to tępa dźwignia kosztów — twardy sufit, nie budżet wydatków per-klucz. Aby ograniczyć dolary zamiast znaków, ustaw credit_limit_usd na samym kluczu API (0 = bez limitu), który brama egzekwuje niezależnie od jakiegokolwiek guardrail. Oba się nawarstwiają: budżet klucza ogranicza całkowity wydatek, guardrail kosztów ogranicza rozmiar dowolnego pojedynczego żądania lub odpowiedzi.
Guardrail kosztów sprawdza rozmiar treści, nie wybór modelu ani decyzję routingu. Odrzuca zbyt duży prompt niezależnie od tego, który model go obsłuży. Aby rządzić wywołaniami narzędzi agenta — odmawiać akcji destrukcyjnych lub wstrzymywać je do zatwierdzenia — użyj Firewalla, który decyduje na powierzchni wywołania narzędzia (allow / deny / pending_approval), nie na powierzchni treści.

8. Dokąd dalej

Reguły na etapie wejścia

Jak sprawdzanie żądania biegnie przed wywołaniem w górę i przed pomiarem.

Reguły na etapie wyjścia

Sprawdzanie i przycinanie odpowiedzi modelu, streaming i nie.

Błąd guardrail_blocked

Kształt HTTP 400, gwarancja braku kwoty i skip-retry.

Test i eval

Udowodnij limit wobec korpusu, zanim powiążesz klucz.
Limity kosztów ograniczają rozmiar. Aby ograniczyć treść — PII, sekrety, niebezpieczne prompty — zacznij od przeglądu Guardrails albo przeczytaj referencję Guardrails po kompletny silnik.