Przejdź do głównej treści
Guardrail to warstwa polityki treści bramy OrcaRouter. Zapisujesz jedną nazwaną politykę w swojej przestrzeni roboczej, wiążesz ją z kluczem API, a każde wywołanie /v1/* tym kluczem jest sprawdzane — zanim model zobaczy prompt i po tym, jak model odpowie — bez ponownego wdrożenia i bez zmiany SDK. Ta strona jest hubem sekcji Guardrails: czym jest guardrail, typy reguł, etapy i akcje oraz jak polityka wiąże się z kluczem. Każdy szprycha idzie głębiej. Pełną referencję silnika znajdziesz w Guardrails.

1. Co guardrails AI robią na bramie

Większość zespołów sięga po guardrails, aby trzymać wrażliwe dane z dala od promptów (PII, sekrety), bramkować niebezpieczną treść (jailbreaki, intencję prompt-injection) lub spełnić kontrolę zgodności. Guardrail to odpowiedź bramy: nazwana polityka w zakresie przestrzeni roboczej — uporządkowana lista reguł, które brama uruchamia wobec wejścia żądania i wyjścia modelu. Ponieważ powiązanie żyje na kluczu API w bramie — nie w twojej aplikacji — edycja guardrail przesuwa każdy powiązany klucz przy następnym wywołaniu. Twój kod dalej woła /v1/chat/completions dokładnie jak wcześniej.
Guardrails to polityka treści (tekst wejściowy, tekst wyjściowy). Towarzyszący Agent Firewall to polityka narzędzi — rządzi tym, które wywołania narzędzi agent może wykonać. Oba się komponują; zobacz Guardrails vs. firewall.

2. Jeden konkretny przykład

Utwórz guardrail o nazwie pii-shield w konsoli (/console/guardrails), dodaj jedną regułę PII — etap input, akcja mask, encje email, ssn — i powiąż ją z kluczem. Od tego momentu:
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": "Reply to jane@acme.com please"}
    ]
  }'
Brama przepisuje prompt na Reply to [EMAIL] please przed przesłaniem — model nadrzędny nigdy nie widzi adresu. Przełącz tę encję ssn na block, a następne żądanie niosące SSN jest odrzucane z HTTP 400. Bez zmian w aplikacji.
Autorowanie to akcja konsoli / management-API w twojej sesji — klucz relay sk-orca-... służy wyłącznie do ruchu /v1/*, nigdy do edycji polityki. Utworzenie lub edycja guardrail wymaga roli Developer+.

3. Reguły: typ, etap, akcja

Każda reguła odpowiada na trzy pytania. Silnik uruchamia wszystkie mające zastosowanie reguły i składa je w jedną decyzję.
Siedem typów reguł. Wbudowane są deterministyczne (czyste łańcuchy/regex, bez sieci); zaawansowane wychodzą do modelu lub dostawcy i biegną współbieżnie.
  • keyword — dosłowna lista zakazanych, dopasowanie podciągu bez rozróżniania wielkości liter.
  • regex — wzorzec RE2 (liniowy czas, bez backreferencji).
  • pii — wbudowane detektory encji plus twoje własne. Zobacz §5.
  • max_chars — ogranicza liczbę znaków na etapie.
  • external — deleguje do podłączonego dostawcy (Aporia, Averta lub twój własny webhook).
  • llm_judge — sprawdzenie semantyczne wobec modelu w twojej przestrzeni roboczej.
  • grounding — ocenia wierność odpowiedzi wobec źródeł pobranych na żądaniu (RAG).
input (żądanie), output (odpowiedź modelu) lub both. Reguły wejścia biegną przed wywołaniem nadrzędnym; reguły wyjścia po odpowiedzi modelu. Zobacz etap wejścia i etap wyjścia.
Pięć akcji pojawia się w konstruktorze reguł:
  • block — odrzuć wywołanie z HTTP 400.
  • mask — redaguj dopasowanie i przepuść oczyszczony tekst.
  • flag — nie zmieniaj nic w ruchu; tylko zarejestruj dopasowanie.
  • annotate — zostaw tekst nietknięty, ale wstrzyknij notatkę bezpieczeństwa w górę (np. ostrzeżenie CVE, zanim model odpowie).
  • spotlight — owiń dopasowany niezaufany tekst w ograniczniki i powiedz modelowi, by traktował go jako dane, nie instrukcje.
Zobacz Akcje. Użyj flag, aby zmierzyć regułę na żywym ruchu, zanim ją wyegzekwujesz.

4. Jak guardrail się wiąże i rozwiązuje

Guardrail wiąże się z kluczem przez guardrail_id albo przestrzeń robocza może oznaczyć jeden guardrail jako swój domyślny. Dla dowolnego żądania brama rozwiązuje w tej kolejności:
  1. Jawne powiązanie — jeśli guardrail_id klucza wskazuje na guardrail, który istnieje i jest włączony, ten ma zastosowanie. Jawne powiązanie nigdy nie wraca do domyślnego: jego wyłączenie to przełącznik off.
  2. Domyślny przestrzeni roboczej — jeśli klucz nie ma powiązania, stosuje się włączony domyślny guardrail.
  3. Żaden — brak egzekwowania; żądanie jest bajt-identyczne z przestrzenią roboczą, która nigdy nie włączyła tej funkcji.
To różni się od firewalla. Wyłączona powiązana polityka firewalla wraca do domyślnej przestrzeni roboczej; wyłączony powiązany guardrail idzie do żadnego. Przełącznik off jest dosłowny dla guardrails.
Przewodniki: utwórz swój pierwszy guardrail, powiąż z kluczem, ustaw domyślny dla konta.

5. Detektory PII

Reguła pii dostarcza zamknięty zestaw wbudowanych detektorów: email, phone, credit_card, ssn, ip, iban, mac_address, jwt, aws_access_key, api_key_openai, bitcoin_address — plus regionalne jp_mynumber, kr_rrn oraz cn_resident_id. Przy akcji mask każde dopasowanie staje się typowanym tagiem — email renderuje się jako [EMAIL], SSN jako [SSN]. Możesz nawarstwić do 25 niestandardowych encji na regułę (regex z opcjonalną sumą kontrolną Luhna) i kierować różne encje do różnych akcji w jednej regule przez nadpisania per-encja.
Gotowym punktem wyjścia jest preset PII Shield — pojedyncza reguła pii, mask, etap both. Maskowanie na etapie wejścia przepisuje żądanie przed modelem (streaming lub nie); maskowanie wyjścia przepisuje odpowiedź wyłącznie na odpowiedziach nie-streamingowych — przepisywanie wyjścia w locie jest w planach. Zobacz PII Shield, niestandardowe encje oraz formaty maskowania.

6. Wybór presetów

New guardrail otwiera się w szablonie. Presety są autorowane po stronie serwera, więc konsola, piaskownica i te dokumenty opisują to samo zachowanie. Wybór grupuje je w kategorie:
KategoriaPrzykładowe presetySzprycha
pii / secretsPII Shield, blokery sekretnych poświadczeńblokuj sekrety
safetyprompt-injection, jailbreak, samookaleczenieprompt injection
complianceGDPR, PCI, HIPAA, rejestrator zgodnościrejestrator zgodności
brand / costwulgaryzmy, wzmianki o konkurencji, limity rozmiarubezpieczeństwo marki · koszt
agentfiltry URL / shell-tool / SQL-in-outputagentowe
code_securityblokady plików sekretów, przegląd licencji copyleftbezpieczeństwo kodu
Preset to ziarno, nie blokada — zastosuj go, potem edytuj swobodnie. Więcej punktów wyjścia żyje pod szablonami.

7. Gdy guardrail blokuje

Zablokowane żądanie zwraca HTTP 400 z kodem błędu guardrail_blocked i komunikatem nazywającym guardrail oraz regułę, która zadziałała.
  • Żadna kwota nie jest naliczana. Blokada na etapie wejścia działa przed pomiarem; blokada na etapie wyjścia zwraca wstępnie pobraną kwotę.
  • Żądanie jest oznaczone jako skip-retry — ponowne uruchomienie tego samego promptu po prostu znów by zablokowało, więc brama nie zmarnuje ponowienia na innym kanale.
Przy streamingu block jest egzekwowany best-effort — skaner buforuje małe spojrzenie naprzód i przecina strumień, gdy reguła zadziała, więc już wypchnięte bajty nie mogą być cofnięte. Mask na wyjściu stosuje się wyłącznie do odpowiedzi nie-streamingowych — na odpowiedzi streamingowej brama oblicza maskę, ale nie przesyła zredagowanego tekstu; przepisywanie wyjścia w locie jest w planach. (Maskowanie na etapie wejścia działa na streamingu i nie-streamingu tak samo.) Zobacz błąd guardrail_blocked i pokrycie streamingu.

8. Po uruchomieniu na żywo

Strumień dopasowań

Każda reguła, która zadziała, rejestruje typ, akcję, etap i szczegół. Grupuj, filtruj, eksportuj i wejdź w pojedyncze dopasowanie.

Logowanie i prywatność

Dopasowany podłańcuch jest rejestrowany tylko, gdy Log raw content jest włączone — domyślnie wyłączone, postawa konserwatywna wobec prywatności.

Wersjonowanie

Każda zmiana zapisuje wiersz historii. Porównaj dowolne dwie wersje i przywróć jako nową wersję — historia nigdy nie jest mutowana.

Testowanie i eval

Zakładka Test piaskownicy ewaluuje bieżącą politykę bez wywołania w górę, a harness ewaluacyjny ocenia ją wobec dołączonych lub niestandardowych korpusów.
Fałszywie pozytywne to sygnał do strojenia, nie powód do wyłączenia reguły. Oznacz je w strumieniu Matches i zawęź wzorzec — zobacz strojenie fałszywie pozytywnych.

9. Dokąd dalej

Guardrails — każde pole, każda trasa, reguły LLM-judge i grounding oraz zewnętrzni dostawcy w głąb.