Przejdź do głównej treści
Gdy model odpowiada, nie zwraca tylko tekstu — emituje tool_calls: konkretne wywołania z prawdziwymi, wybranymi przez model argumentami. Powierzchnia response firewalla agentowego inspekcjonuje dokładnie te, w momencie, gdy opuszczają model i zanim dotrą do twojej pętli agenta. To powierzchnia, na której filtrujesz to, co model faktycznie zdecydował się zrobić, z argumentami, które faktycznie wybrał. Ta strona omawia przypadek użycia filtrowania na powierzchni response — kiedy sięgnąć po nią zamiast inbound, jeden zwrot werdyktu, który dodaje, oraz jak zachowuje się na strumieniu. Dla pełnego słownika reguł i semantyki werdyktów zobacz Schemat reguły i Werdykty.

1. Filtruj wywołania narzędzi w odpowiedzi LLM, z argumentami w zakresie

Etap inbound widzi narzędzia, które ogłaszasz — tylko nazwy, bez argumentów czasu wywołania. Etap response widzi tool_calls, które model emituje, niosące argumenty, które model wybrał. To cały powód, by filtrować tutaj: to jedyna powierzchnia, która widzi faktyczne wywołanie + argumenty dla narzędzia wykonywanego przez klienta (nie-MCP), więc klauzule argumentów, sekwencje i reguły stanu uruchomienia wszystkie lądują na response. Rozróżnienie w jednej linii:
EtapWidziUżyj go, by
inboundOgłoszone definicje narzędziUczynić narzędzie niewidocznym dla modelu
responseWyemitowane tool_calls + argumentyFiltrować wywołanie, które model faktycznie zrobił
Więc inbound odpowiada, które narzędzia istnieją; response odpowiada, co model z jednym zrobił. Sięgnij po response (lub zostaw stage puste, aby pokryć oba), gdy narzędzie legalnie pojawia się w niektórych żądaniach, ale konkretne wywołanie go jest niebezpieczne — albo gdy kontrolujesz tylko pętlę agenta, nie ogłoszony zestaw narzędzi.
Reguła z brakiem stage działa na każdej powierzchni, w tym response. Przypnij do response tylko wtedy, gdy reguła powinna tylko inspekcjonować wyemitowane wywołania — na przykład klauzula argumentu, która i tak nie ma czego dopasować na powierzchni inbound. Zobacz Etapy.

2. Jeden konkretny przykład

Zezwól na shell.exec ogólnie, ale usuń go z odpowiedzi modelu w momencie, gdy jego argument command wygląda destrukcyjnie. W konsoli przestrzeni roboczej otwórz politykę (lub utwórz jedną) i dodaj regułę przypiętą do powierzchni response:
{
  "label": "block destructive shell calls",
  "stage": "response",
  "tool_name_glob": "shell.exec",
  "verdict": "deny",
  "args_match_json": "{\"clauses\":[{\"path\":\"$.command\",\"op\":\"regex\",\"value\":\"rm -rf|mkfs|dd if=\"}]}"
}
Dopasowywacz argumentów żyje w args_match_jsonstringu JSON zawierającym {"clauses":[…]}, każda klauzula to trójka path / op / value (op to jeden z eq, contains, regex, gt, lt). Formularz w konsoli buduje go za ciebie; surowy kształt pokazany jest tutaj, aby nazwa pola była jednoznaczna. Narzędzie pozostaje ogłoszone — model wciąż może zaproponować shell.exec — ale gdy wyemitowane wywołanie niesie destrukcyjny command, firewall usuwa ten tool_call z odpowiedzi, zanim twój agent w ogóle go zobaczy. Łagodny shell.exec (powiedzmy ls -la) przepływa nietknięty. To wzorzec „zezwól na narzędzie, bramkuj wywołanie”, dla którego istnieje powierzchnia response; klauzula argumentu jest tym, co to umożliwia.
Reguły ewaluują się w kolejności priorytetów, wygrywa pierwsze dopasowanie. Umieść wąski wyjątek allow przy niższym numerze priority niż szerokie deny, aby wyjątek działał pierwszy. Zobacz Priorytet reguł.

3. Co robi werdykt na powierzchni response

Powierzchnia response inspekcjonuje każde wyemitowane tool_call i przepisuje odpowiedź w miejscu. Zachowane wywołania są przesyłane bajt-po-bajcie; zmienia się tylko dopasowane wywołanie:
Dopasowane tool_call jest usuwane z odpowiedzi modelu, zanim dotrze do twojego agenta. W przeciwieństwie do deny inbound — które zwraca HTTP 400 z kodem firewall_blocked — deny na powierzchni response nie powoduje awarii żądania; reszta odpowiedzi (inne wywołania narzędzi, dowolny tekst) przepływa, a obraźliwe wywołanie po prostu nieobecne.
Dopasowane podłańcuchy w argumentach wywołania są zastąpione zredagowanymi argumentami silnika, a oczyszczone wywołanie jest przesłane — przydatne, gdy narzędzie jest w porządku, ale model umieścił sekret lub wartość PII w argumencie. Sanitize redaguje wyłącznie argumenty wywołania narzędzia; nigdy nie dotyka treści, którą narzędzie zwraca. Jeśli silnik nie ma czego podstawić, wywołanie jest usuwane (fail-closed). Zobacz Sanityzacja odpowiedzi.
Wstrzymania człowieka w pętli otwierają się na powierzchni inbound, nie response. Reguła pending_approval, która pierwsza dopasuje na wyemitowanym wywołaniu, jest zatem usuwana (fail-closed) — zachowanie jej przesłałoby nieprzejrzane wywołanie bez decyzji człowieka. Pisz wstrzymania HITL, by odpalały inbound; zobacz Zatwierdzenia.
allow i audit oba przesyłają wywołanie; audit to zwykły default_verdict — rejestruj wszystko, nie blokuj nic, dopóki nie jesteś gotów egzekwować.
cap_cost i pending_approval to koncepty inbound na tej powierzchni. cap_cost jest bezwładny na response (model już się uruchomił), a pending_approval rozwiązuje się do usunięcia zamiast wstrzymania. Umieść limity kosztów i wstrzymania HITL na powierzchni inbound — zobacz Limit kosztu i Zatwierdzenia.

4. Strumieniowanie: wstrzymane, potem filtrowane

W odpowiedzi nie-strumieniowej cała odpowiedź jest parsowana i filtrowana naraz. Na strumieniu tool_calls modelu przybywają jako delty per indeks przez wiele ramek SSE — a gdy delta zostanie przesłana, twój agent już ją ma i nie da się jej wycofać. Więc brama wstrzymuje ramki wywołań narzędzi: nigdy nie są przesyłane w trakcie strumienia. Na końcu strumienia firewall składa każde wywołanie (nazwa + kompletne argumenty), ewaluuje je i emituje tylko ocalałe wywołania.
Ramki treści wciąż strumieniują normalnie — tokeny tekstu docierają do twojego klienta w miarę przybywania. Tylko ramki tool_call są wstrzymywane do ewaluacji, więc odmówione lub zsanityzowane wywołanie jest odfiltrowane, zanim złożone wywołanie narzędzia zostanie dostarczone. Semantyka werdyktu i reguły jest identyczna z powierzchnią nie-strumieniową. Dla szczegółów na poziomie ramek zobacz Wewnętrzności strumieniowania i Strumieniowanie dostawców.

5. Wytocz to bezpiecznie

Zakładka Test w konsoli uruchamia politykę wobec przykładowego wywołania narzędzia i zwraca werdykt, dopasowaną regułę i powód — nic nie jest dyspozytowane, nic persystowane. Potwierdź, że twój glob i klauzula argumentu dopasowują wywołanie, które miałeś na myśli, zanim przypniesz klucz. Zobacz Testowanie reguł.
Włącz tryb cienia, a każdy egzekwujący werdykt — w tym deny na powierzchni response — jest degradowany do audit, powód poprzedzony przedrostkiem [shadow] would …. Mierzysz dokładnie, co reguła usunęłaby wobec prawdziwego ruchu, zanim zmieni choć jedną odpowiedź.
Każda ewaluacja zapisuje zdarzenie firewalla z werdyktem, powierzchnią, narzędziem i dopasowaną regułą. Filtruj log zdarzeń po powierzchni response, aby zobaczyć regułę odpalającą na wyemitowanych wywołaniach, których oczekiwałeś. Zobacz Analitykę.

6. Przypnij politykę i kto może ją konfigurować

Polityka niczego nie robi, dopóki klucz się do niej nie rozwiąże. Przypnij w konsoli, ustawiając firewall_policy_id na kluczu, lub uczyń politykę domyślną dla przestrzeni roboczej. Rozwiązywanie: przypięta polityka klucza (gdy istnieje i jest włączona), inaczej domyślna przestrzeni roboczej — a wyłączona przypięta polityka wraca do domyślnej przestrzeni roboczej. Zobacz Zarządzanie politykami. Cała konfiguracja działa w konsoli pod twoją sesją (/api/workspace/firewall/*):
AkcjaRola
Odczyt polityk, presetów, wykrytych narzędzi, SimulateMember
Dry-run (Test), odczyt logu zdarzeń i agregatów uruchomieńDeveloper+
Tworzenie / edycja / usuwanie reguł i politykDeveloper+

Powiązane

Waliduj argumenty

Klauzule argumentów, które czynią filtrowanie na powierzchni response precyzyjnym.

Sanityzuj odpowiedzi

Zredaguj sekrety z argumentów wywołania zamiast je usuwać.

Etapy firewalla

Jak response porównuje się z inbound, mcp i egress.

Blokuj narzędzia

Odpowiednik inbound: odmów narzędzia, zanim model dostanie je w ofercie.

Niebezpieczne wywołania narzędzi

Zagrożenie, któremu zaradza filtrowanie odpowiedzi.

Referencja firewalla

Pełna referencja reguł + dopasowania.