1. 모델 앞, LLM 앱용 입력 guardrails
모든 guardrail 규칙은 스테이지를 운반합니다 —input, output,
또는 both. input 규칙은 요청이 도착하는 순간, 업스트림 모델로 가는
길에 요청 텍스트에 대해 실행됩니다:
입력 규칙은 호출자의 요청을 검사합니다.
레지스트리 프롬프트도 사용한다면, 주입된 시스템
메시지는 라우팅에서 나중에 추가됩니다 — 따라서 입력 규칙은 주입된
프롬프트가 아니라 당신의 앱이 보낸 메시지를 봅니다. 출력 규칙은 어느
쪽이든 응답을 검사합니다.
2. 입력 스테이지에서 실행할 수 있는 것
어떤 규칙 타입이든input에서 실행될 수 있습니다. 모델 앞에서 요청을
게이트하는 가장 흔한 이유:
프롬프트의 PII 마스킹
mask 액션이 있는
pii 규칙은 엔티티를 타입 지정된 태그로
재작성하므로(jane@acme.com → [EMAIL]) 업스트림 모델은 원시 값을
결코 보지 못합니다. PII Shield를
참조하세요.유출되기 전에 시크릿 차단
API 키나 클라우드 자격 증명을 담은 요청은 문 앞에서 거부됩니다 — 계량
전, 업스트림 호출 없음.
시크릿 차단을 참조하세요.
인젝션 시도 막기
프롬프트 인젝션 기초 프리셋은 keyword/regex 탐지기를 인젝션 의도를
위한
llm_judge 규칙과 짝짓습니다.
프롬프트 인젝션을
참조하세요.프롬프트 크기 상한
max_chars 규칙은 어떤 토큰도 청구하기 전에 과대한 프롬프트를
거부합니다. 비용 guardrails를
참조하세요.keyword, regex, pii, max_chars,
external, llm_judge, grounding — 과 다섯 가지 액션 block,
mask, flag, annotate, spotlight가 모두 여기에 적용됩니다.
(spotlight는 매치된 신뢰할 수 없는 텍스트를 구분자로 감싸 모델이 그것을
지시가 아니라 데이터로 취급하게 합니다 — 입력 스테이지 프롬프트 인젝션
방어; annotate는 트래픽을 변경하지 않고 메모를 첨부합니다.) 알아둘 가치가
있는 한 가지 예외:
grounding은 검색된
소스에 대해 답변을 측정하므로, 본질적으로 출력 스테이지 검사입니다. 그
외 모든 것은 입력 스테이지에 자연스럽게 맞습니다.
3. 하나의 구체적인 예
규칙을 릴레이 키가 아니라 콘솔에서 작성하세요(당신의 세션에서 — guardrail 구성에는 **Developer+**가 필요).secrets-shield라는 이름의
guardrail에 단일 input 규칙을 추가합니다:
guardrail_id를 설정하거나, 워크스페이스
기본값으로 표시 —
키에 연결하기 참조), 그
sk-orca-... 릴레이 키로 게이트웨이를 호출합니다:
guardrail_blocked로 거부됩니다:
guardrail_blocked 오류를
참조하세요.
4. 입력 차단이 쿼터를 소모하지 않는 이유
이것이 들어오는 길에 무언가를 잡는 구조적 이점입니다. 입력 스테이지 차단은 사전 소모 전에 위치하므로:| 속성 | 입력 스테이지 차단 |
|---|---|
| HTTP 상태 | 400 guardrail_blocked |
| 청구된 쿼터 | 없음 — 계량 전에 발동 |
| 업스트림 호출 | 결코 안 함 |
| 재시도 | skip-retry로 표시 — 다시 실행해도 다시 차단됨 |
요청이 채널에 결코 도달하지 않으므로, 입력 차단은 skip-retry로
표시됩니다: 동일한 프롬프트를 다른 채널에 대해 다시 실행해도 그저 다시
차단되어 노력을 낭비할 뿐입니다. 출력 스테이지는 다릅니다 — 거기서의
차단은 게이트웨이가 이미 사전 소모한 쿼터를 환불합니다. 같은
400,
다른 회계.5. 해석과 폴백
입력 스테이지 규칙은 요청에 대해 guardrail이 실제로 해석될 때만 실행됩니다. 해석은 명시적입니다:- 키의 명시적
guardrail_id, 존재하고 활성화된 경우. - 그렇지 않으면 워크스페이스 기본 guardrail.
- 그렇지 않으면 없음 — 요청은 정책이 없는 워크스페이스와 바이트 단위로 동일합니다.
6. 출시 전에 증명하기
차단 입력 규칙을 믿음으로 라이브 트래픽에 연결하지 마세요. 먼저 검증하는 두 가지 방법:Test 탭 — 샘플 하나
Test 탭 — 샘플 하나
guardrail 에디터에서 Test 탭을 열고, 샘플을 붙여넣고,
input
스테이지를 선택한 뒤 실행합니다. 샌드박스는 현재 정책을 로컬에서
평가하고 — 업스트림 호출 없음, 쿼터 없음 — 판정과(mask 규칙의 경우)
렌더링된 텍스트를 반환합니다.
테스트 및 평가를 참조하세요.차단하기 전에 플래그하기
차단하기 전에 플래그하기
먼저 액션을 flag로 설정하세요. flag는 트래픽에 대해 아무것도
변경하지 않고 — 매치만 기록합니다 — 따라서 block으로 전환하기 전에
규칙이 실제 입력에서 얼마나 자주 발동할지 측정할 수 있습니다.
거짓 양성 튜닝을
참조하세요.
무엇이 발동했는지 보기
무엇이 발동했는지 보기
발동하는 모든 규칙은 match를 기록합니다 — 타입, 액션, 스테이지, 그리고
상세 문자열. 매치된 부분 문자열은 Log raw content가 켜져 있을 때만
기록됩니다(기본적으로 꺼짐).
Matches 피드와
로깅 및 프라이버시를
참조하세요.
7. 다음으로 갈 곳
입력 스테이지는 나쁜 입력이 모델에 도달하는 것을 막습니다. 모델의 응답을 게이트하려면 출력 스테이지와 짝지으세요; 에이전트의 툴 호출을 관리하려면 firewall을 사용하세요.- 출력 스테이지 규칙 — 모델의 응답이 돌아온 후에 그것을 검사합니다.
- 스테이지와
both— 규칙을 입력, 출력, 또는 둘 다에서 실행할 때. - AI 에이전트 보안 — 입력 guardrails가 전체 제어 스택에서 위치하는 곳.
- 프롬프트 인젝션 위협과 데이터 유출 — 입력 규칙이 막도록 만들어진 공격.
